bypasscore/sentinel
GitHub: bypasscore/sentinel
面向游戏安全研究的 C/C++ 框架,提供反作弊检测机制分析与规避技术的完整工具链。
Stars: 0 | Forks: 0
# Sentinel
**反作弊规避与游戏安全研究框架**
Sentinel 是一个用于研究反作弊检测机制、理解其内部原理以及探索规避技术的 C/C++ 框架。该框架建立在七年对 Windows 内核、内核模式安全以及游戏保护系统的实践研究基础之上。
## 架构
该框架由模块化层级组成:
- **核心层 (Core Layer)** - 类型、错误代码、平台检测、权限管理
- **进程模块 (Process Module)** - 进程镂空 (Hollowing)、DLL 注入、PEB 隐藏、句柄操作
- **内存模块 (Memory Module)** - 特征码扫描(支持 SIMD)、内存保护、分配、完整性
- **驱动模块 (Driver Module)** - 内核驱动加载、手动映射、IOCTL 通信
- **签名模块 (Signature Module)** - 扫描、生成、二进制变异
- **检测模块 (Detection Module)** - 反作弊分析、系统调用挂钩检测、时序攻击
- **工具库 (Utilities)** - 日志、加密(XOR, RC4, FNV-1a)、PE 文件解析
## 检测范围覆盖
| Anti-Cheat | User-Mode | Kernel-Mode | Process | Driver |
|------------|-----------|-------------|---------|--------|
| Easy Anti-Cheat | Yes | Yes | EasyAntiCheat.exe | EasyAntiCheat.sys |
| BattlEye | Yes | Yes | BEService.exe | BEDaisy.sys |
| Riot Vanguard | Yes | Yes | vgc.exe | vgk.sys |
| XIGNCODE3 | Yes | Yes | xhunter1.sys | xhunter1.sys |
| nProtect GameGuard | Yes | Partial | GameMon.des | npggsvc.sys |
### 检测能力
| 技术 | EAC | BattlEye | Vanguard |
|-----------|-----|----------|----------|
| 内存扫描 | 已检测 | 已检测 | 已检测 |
| 模块枚举 | 已检测 | 已检测 | 已检测 |
| 句柄监控 | 已检测 | 已检测 | 已检测 |
| Syscall 挂钩 | 已检测 | 部分 | 已检测 |
| 驱动完整性 | 已检测 | - | 已检测 |
| 时序分析 | - | 已检测 | - |
| Hypervisor | - | - | 已检测 |
## 快速开始
### 构建
```
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release
```
### 使用示例
请参阅 `examples/` 目录以获取完整的工作示例:
- **basic_scan.cpp** - 使用 IDA 风格签名的特征码扫描
- **driver_comm.cpp** - 内核驱动通信
## 工具
### sig_scan - 签名扫描器
```
sig_scan --pattern "48 89 5C 24 ? 57 48 83 EC 20" target.dll
sig_scan signatures.db target.exe
```
### ac_probe - 反作弊探测
识别正在运行的反作弊系统并分析其检测态势,包括系统调用挂钩、ntdll 完整性、时序分析以及平台安全功能。
## 模块
### 进程模块 (Process Module)
- **Hollowing**:创建挂起进程,卸载原始镜像,写入载荷,修补 PEB,恢复运行
- **Injection**:LoadLibrary,手动 DLL 映射,通过上下文操作进行线程劫持
- **Hiding**:PEB 列表解链(所有三个列表),PE 头置零,模块名欺骗
- **Handle**:NtQuerySystemInformation 句柄枚举,远程句柄关闭,复制
### 内存模块 (Memory Module)
- **Scanner**:支持通配符的 IDA 风格模式匹配,以及 SSE4.2 SIMD 加速(2-5 倍提速)
- **Protection**:VirtualProtectEx 封装,区域枚举,原子受保护写入
- **Allocator**:近地址分配(在 +/-2GB 范围内用于相对跳转),代码洞 (Code Cave) 发现
- **Integrity**:基于 CRC32 的可执行节代码完整性监控
### 驱动模块 (Driver Module)
- **Loader**:基于服务控制管理器 (Service Control Manager) 的驱动加载/卸载
- **Mapper**:带有重定位处理的手动 PE 映射 (DIR64, HIGHLOW)。支持 VBS/HVCI 感知
- **Communication**:基于 IOCTL 的用户态-内核态通道,采用结构化协议
### 签名模块 (Signature Module)
- **Scanner**:具有文件持久化和批量扫描功能的签名数据库
- **Generator**:从函数序言自动生成模式,通配符化相对偏移
- **Mutator**:多态 NOP 滑行(1-5 字节变体),垃圾指令插入
### 检测模块 (Detection Module)
- **Analyzer**:通过进程名和驱动枚举指纹识别正在运行的反作弊程序
- **Syscall**:内联挂钩检测(JMP, MOV RAX, FF 25),ntdll 完整性验证
- **Timing**:RDTSC 调试器检测,CPUID VM 退出计时,QPC 一致性检查
## 研究背景
该框架背后的主要研究领域:
- **Windows 内核机制**:PEB/TEB 结构、VAD 树、句柄表、对象管理器、系统调用分发
- **PE 文件格式**:头部、节、导入/导出、重定位、TLS、异常处理
- **x86/x64 架构**:指令编码、内存分页、MSRs、VT-x/AMD-V
- **反作弊技术**:内存扫描启发式算法、内核回调注册、基于 Hypervisor 的监控
本研究的发现已负责任地披露给反作弊供应商。
## 平台支持
| 平台 | 状态 |
|----------|--------|
| Windows 10/11 x64 | 完全支持 |
| Windows 10 x86 | 部分(无驱动模块) |
| Linux | 存根实现 |
## 构建选项
| 选项 | 默认值 | 描述 |
|--------|---------|-------------|
| SENTINEL_BUILD_TOOLS | ON | 构建独立工具 |
| SENTINEL_BUILD_EXAMPLES | ON | 构建示例程序 |
| SENTINEL_BUILD_TESTS | ON | 构建单元测试 |
## 负责任的使用
本框架旨在促进对游戏安全的理解。请仅在您拥有或经授权测试的系统上使用,用于合法的安全研究,并遵守所有适用法律。**切勿**利用此工具在在线服务上制作作弊程序或规避保护措施。
## 联系方式
需要定制的反作弊研究、检测分析或企业许可?
- **Email:** [contact@bypasscore.com](mailto:contact@bypasscore.com)
- **Telegram:** [@bypasscore](https://t.me/bypasscore)
- **Web:** [bypasscore.com](https://bypasscore.com)
## 许可证
MIT License。详情请参阅 [LICENSE](LICENSE)。
标签:0day挖掘, Bash脚本, BattlEye, Bro, C/C++, DLL注入, EAC, Hpfeeds, Hypervisor检测, IOCTL通信, PEB隐藏, Riot Vanguard, UML, Windows内核, 事务性I/O, 代码突变, 免杀技术, 内存保护, 内核安全, 内核模式, 反作弊, 反作弊绕过, 句柄操作, 完整性校验, 手动映射, 暴力破解检测, 流量嗅探, 流量审计, 游戏安全, 游戏逆向, 特征码分析, 白帽子, 系统调用, 网络可见性, 网络安全监控, 进程镂空, 进程隐藏, 驱动开发