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, 代码突变, 免杀技术, 内存保护, 内核安全, 内核模式, 反作弊, 反作弊绕过, 句柄操作, 完整性校验, 手动映射, 暴力破解检测, 流量嗅探, 流量审计, 游戏安全, 游戏逆向, 特征码分析, 白帽子, 系统调用, 网络可见性, 网络安全监控, 进程镂空, 进程隐藏, 驱动开发