Mqmii/assault-cube-internal

GitHub: Mqmii/assault-cube-internal

针对 Assault Cube 游戏的 C++ 内部作弊器,包含自瞄和自动开枪两个核心模块,展示了内存操作与游戏函数复用的技术实现。

Stars: 0 | Forks: 0

# AssaultCube 内部作弊器 基于两个游戏玩法模块构建的精简 C++ 内部 DLL 项目:自瞄(aimbot)和自动开枪(triggerbot)。 ### 自瞄(Aimbot) 自瞄模块直接从内存读取本地玩家状态,遍历实体列表,过滤无效或友方目标,并基于世界空间位置计算 yaw/pitch。 关键部分是可见性验证。它并非简单地对 FOV 范围内的候选目标进行瞄准,而是通过内联汇编调用游戏内部的 `raycubelos` 例程。该函数用于针对两个目标点进行视线检测: - 头部(head) - 胸部(chest) 这减少了对部分被遮挡目标的误判,并避免了瞄准隐藏在几何体后的敌人。该函数使用游戏预期的底层调用约定:`ECX` 和 `EDX` 携带向量指针,LOS 边界值通过 `XMM2` 传递。 ### 自动开枪(TriggerBot) 自动开枪模块采用了不同的方法。它不通过原始实体迭代手动重建目标选择逻辑,而是复用游戏自带的准星选择辅助函数。 `GameAddresses::resolve()` 通过模式扫描模块镜像,在运行时查找 `findCrosshairTarget`。`TriggerBot` 随后通过一个小的内联汇编适配器调用该函数,该适配器映射了原始调用约定: - `ECX` 和 `EDX` 接收射线起点和射线终点向量 - 其余参数按预期顺序压入栈中 这是自动开枪模块设计的关键。它不猜测准星指向何处,而是将该判断委托给游戏使用的同一内部辅助函数,仅在事后进行轻量级验证: - 忽略空或无效实体 - 忽略自身 - 忽略已死亡目标 - 忽略队友 如果解析出的目标通过这些检查,模块将写入武器的准备射击标志位。 ## 构建 本项目使用 CMake,目标标准为 C++20,并应使用 MSVC 工具链构建为 `x86` 架构。`x64` 构建不适用于当前的内联汇编和调用约定假设。 ``` cmake -S . -B build -A Win32 cmake --build build ```
标签:Aimbot, Assault Cube, Bash脚本, C++, C++20, CMake, DLL注入, FPS游戏, Inline Assembly, MSVC, TriggerBot, x86, 云资产清单, 内存修改, 内存读取, 内联汇编, 内部作弊, 安全意识培训, 射击游戏, 扳机, 数据擦除, 流量审计, 游戏作弊, 游戏外挂, 游戏安全, 游戏逆向, 特征码扫描, 自瞄, 逆向工程