ccsimplyspolit/CS2-P2C-TEMPLATES
GitHub: ccsimplyspolit/CS2-P2C-TEMPLATES
面向 CS2 逆向工程与反作弊研究的 P2C 模板合集,提供 VMProtect 脱壳重构、内核驱动和注入工具的完整源码。
Stars: 8 | Forks: 1
# CS2-P2C-TEMPLATES
**用于《反恐精英 2》(Counter-Strike 2)逆向工程和安全研究的 research 模板(P2C — proof-of-concept)合集。**
这里的一切都是为了研究反作弊机制的工作原理、逆向 VMProtect 混淆的二进制文件,以及向 Valve BugHunter (HackerOne) 提交发现而构建的。
[](LICENSE)
[](DEPOT_STATE.md)
[](#)
[](#)
## 包含内容
该仓库包含 **10 个可运行的项目** — 5 个特定于 CS2 的(依赖于 offsets),5 个版本无关的。全部通过 MSBuild + WDK 编译。
| # | 项目 | 类型 | 功能描述 |
|---|---|---|---|
| 1 | [`dlls/VacLiveBypass`](source/dlls/VacLiveBypass/) | Injected DLL | 1:1 移植的 `FuckVacAgain.dll` — VMProtect anti-VAC helper。在 wire 序列化之前修改 `CBaseUserCmdPB.input_history`。 |
| 2 | [`drivers/CS2IsValveDSSpooferDriver`](source/drivers/CS2IsValveDSSpooferDriver/) | Kernel .sys | 欺骗 `m_bIsValveDS`。使用 `MmCopyVirtualMemory` + `ProcessExitGuard` RAII。 |
| 3 | [`drivers/CS2KillTriggerDriver`](source/drivers/CS2KillTriggerDriver/) | Kernel .sys | 通过 `kbdclass!KeyboardClassServiceCallback` 实现 Kill-trigger。 |
| 4 | [`drivers/CS2RankSpooferDriver`](source/drivers/CS2RankSpooferDriver/) | Kernel .sys | 通过在 `get_rank_data` 中进行 trampoline injection 实现_rank spoof。 |
| 5 | [`drivers/CS2HexSyncCompatDriver`](source/drivers/CS2HexSyncCompatDriver/) | Kernel .sys | **NEW** — 9-IOCTL kernel API,`CS2UnifiedInjector --method kernel` 的搭档。 |
| 6 | [`apps/CS2IsValveDSSpooferConsole`](source/apps/CS2IsValveDSSpooferConsole/) | User .exe | 通过 SHM 控制 IsValveDS。 |
| 7 | [`apps/CS2RankSpooferConsole`](source/apps/CS2RankSpooferConsole/) | User .exe | 通过 SHM 控制 RankSpoofer。 |
| 8 | [`tools/CS2UnifiedInjector`](source/tools/CS2UnifiedInjector/) | User .exe | **11 种注入方法**:LoadLibrary / LdrLoadDll / ManualMap / ThreadHijack / APC / SetWindowsHook / Kernel / EarlyBird / Section / Atom / Doppel。 |
| 9 | [`tools/CS2MemoryTool`](source/tools/CS2MemoryTool/) | User .exe | **NEW** — 通用 memory R/W:RPM / Nt-syscall / kernel-IOCTL / physical。 |
| 10 | [`tools/KernelDriverMapper`](source/tools/KernelDriverMapper/) | User .exe | 通过 `iqvw64e.sys` (Intel NAL, CVE-2015-2291) 实现 kdmap。 |
| 11 | [`tools/KernelDriverUnmapper`](source/tools/KernelDriverUnmapper/) | User .exe | 安全卸载已映射的 driver。 |
| — | [`tools/KbdClassAnalyzer`](source/tools/KbdClassAnalyzer/) | User .exe | PDB-resolve `KeyboardClassServiceCallback`。 |
| — | [`drivers/shared/`](source/drivers/shared/) | Header lib | `stealth_mode.h` — KDU 风格的强化 (MmUnloadedDrivers, PiDDBCache erase) |
| 12 | [`lua_reverse/AW`](source/lua_reverse/AW/) | Lua devirt | **VACLiveGuard** — 逆向 DevX/Aimware anti-VAC Lua 插件。混淆的 Luraph v14.2 → 968 行干净的 Lua 移植 + 本地 sandbox (Aimware API mock)。 |
## 快速开始
### 前置条件
- Windows 10/11 x64
- Visual Studio 2022 + WDK 10 (用于驱动程序)
- VS 2022 的 MSBuild
- 开启 Test signing (`bcdedit /set testsigning on`),或通过 kdmap 加载
- Steam + CS2 (用于功能测试)
### 一次性编译全部
```
# 从 repository 根目录
foreach ($p in @(
"source\dlls\VacLiveBypass\VacLiveBypass.vcxproj",
"source\drivers\CS2IsValveDSSpooferDriver\CS2IsValveDSSpooferDriver.vcxproj",
"source\drivers\CS2KillTriggerDriver\CS2KillTriggerDriver.vcxproj",
"source\drivers\CS2RankSpooferDriver\CS2RankSpooferDriver.vcxproj",
"source\apps\CS2IsValveDSSpooferConsole\CS2IsValveDSSpooferConsole.vcxproj",
"source\apps\CS2RankSpooferConsole\CS2RankSpooferConsole.vcxproj",
"source\tools\CS2Injector\CS2Injector.vcxproj",
"source\tools\KbdClassAnalyzer\KbdClassAnalyzer.vcxproj",
"source\tools\KernelDriverMapper\KernelDriverMapper.vcxproj",
"source\tools\KernelDriverUnmapper\KernelDriverUnmapper.vcxproj"
)) {
& "C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\MSBuild.exe" `
$p /p:Configuration=Release /p:Platform=x64 /m /nologo /verbosity:minimal
}
```
### 预编译包
从 [GitHub Releases](https://github.com/ccsimplyspolit/CS2-P2C-TEMPLATES/releases) 下载预编译的 `.exe`/`.sys` 和 `.dll`。每个版本都包含用于校验的 SHA256SUMS。
要运行发行版中的驱动程序(离线,不进行 offset 的 runtime 更新):
- 在 `HKLM\SYSTEM\CurrentControlSet\Control\CI\Config` 中禁用 `VulnerableDriverBlocklistEnable`
- 禁用 HVCI (`HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity` → `Enabled=0`)
- 重启
- 开启 Test signing:`bcdedit /set testsigning on` (+ 重启)
- `sc create 标签:C++, macOS, rizin, Windows驱动开发, 云资产清单, 内核驱动, 反作弊绕过, 数据擦除, 游戏外挂, 网络协议, 逆向工程, 高性能