YimMenu:免费开源的GTA V模组菜单,自带崩溃防护的快速编译注入指南
【免费下载链接】YimMenuYimMenu, a GTA V menu protecting against a wide ranges of the public crashes and improving the overall experience.项目地址: https://gitcode.com/GitHub_Trending/yi/YimMenu
YimMenu 是一个免费开源的 GTA V 模组菜单:向游戏注入一个 DLL,内置针对网络事件、脚本事件等公开崩溃攻击的拦截,同时提供自身增强、传送和 Lua 脚本扩展功能。适合想在公开战局里安稳游玩的玩家,也适合想学习游戏内存与 hook 技术的 C++ 开发者。
凌晨一点的公开战局里,有人用脚本事件让你屏幕一卡、自动踢出;重进一局又中招,这回是假炸弹。GTA Online 里这类事并不少见。YimMenu 把"在攻击包到达你客户端之前拦掉"当成第一职责,其余功能都建立在这之上。
📌 YimMenu 是什么:以"防护"为中心的菜单
它源自 BigBaseV2(同一谱系的老项目,README 里说明其已逐渐过时),作者重写的核心动机就是"protecting the user from toxic modders"。与一般只做功能堆砌的菜单不同,它的防护不是附加项,而是主线程:
| 维度 | 说明 |
|---|---|
| 定位 | 以拦截公开崩溃攻击为核心的 GTA V 菜单 |
| 技术栈 | C++23 + MSVC + CMake,ImGui 渲染 UI,MinHook 做函数重定向 |
| 跟进版本 | 在线版 1.69(build 3274),记录在仓库根的 metadata.json |
| 配置存储 | 所有开关落在 %appdata%/YimMenu/settings.json,运行时自动保存 |
🚀 如何快速编译并注入 YimMenu
环境要求只有三样:Windows 10/11 64 位、Visual Studio 2022(MSVC 工具集,C++23)、CMake 3.20 以上。CMakeLists.txt 里写死了只认 MSVC,其他编译器会直接报 FATAL_ERROR,别在 MinGW 上浪费时间。
克隆仓库并编译,产物是一个 YimMenu.dll(CMake 里定义为 MODULE 库):
git clone https://gitcode.com/GitHub_Trending/yi/YimMenu cd YimMenu cmake -S . -B build -DCMAKE_BUILD_TYPE=RelWithDebInfo cmake --build build --config RelWithDebInfo编译成功后在 build 目录下能看到 YimMenu.dll。注入前还有一步容易漏:把仓库 scripts/ 文件夹里的 crossmap.txt 和 natives.json 两个文件复制到 %appdata%/YimMenu,否则主线程启动时会直接报 FATAL 退出。
接着正常启动游戏,等主菜单出现后,用任意常用注入器(如 Xenos)把 YimMenu.dll 注入游戏进程。注入成功的标志是 %appdata%/YimMenu/cout.log 被生成,日志里能看到 "Hooking enabled."、"Registered service instances..." 这几行。此时按 Insert 键(默认 VK_INSERT,可在 settings.json 的 hotkeys 块里改),菜单浮出,第一次跑通就算结束。
🛡️ 高频功能深讲:防护、反应与 Lua 扩展
防护层。src/hooks/protections/ 下 27 个文件逐层拦截网络事件、同步数据和脚本事件。以 received_event.cpp 为例:它解析 WEAPON_DAMAGE_EVENT 里的武器哈希,哈希不在武器表内就丢包并记警告;EXPLOSION_EVENT 会核对炸弹归属,归属造假会当场标记那名玩家。菜单里 Settings—Protection 页把每项防护做成了独立复选框(BOUNTY、FORCE_TELEPORT、SOUND_SPAM、DESYNC_KICK 等),下方有"全部启用/全部禁用/重置"三个按钮,日常建议先全开。
反应层。比拦截更进一步的是 reactions:每种被检测到的行为(踢票、声音刷屏、清除任务等)都单独可配——聊天里广播、弹通知、写日志、直接踢人,甚至封锁该玩家重新加入(block_joins 可选原因文案)。这相当于给菜单装了一个"战局安全策略"。
Lua 扩展。启动时会自动加载 %appdata%/YimMenu/scripts 下的脚本,docs/lua/ 提供 50 个 GUI_TAB_* 页面常量、210 条命令参考(commands.md)以及全量 native 绑定(src/lua/natives/ 按 APP、PED、VEHICLE 等分类)。三行脚本就能往任意页面加一个按钮,写自定义功能不必动 C++。
其余功能一行带过:自身页有超级跳、无坠落伤害(graceful_landing)、无敌、自由视角;传送页有传送到路点、目标、个人载具等,且每个动作都配了默认热键。
🧰 常见坑与解法
如果日志打出 "Need the crossmap.txt file from YimMenu repo",说明前面说的两个数据文件没放,从仓库 scripts/ 拷到 %appdata%/YimMenu 即可。
如果注入成功但按 Insert 没反应,多半是注入时游戏窗口还没就绪——主线程会一直等 grcWindow 出现才初始化,也可能是注入到了非游戏进程。确认游戏停在主菜单后重注一次,再看 cout.log 里卡在哪一步,杀毒软件拦截过也要加排除。
如果编译报 "Unsupported compiler used",是编译器不对,换 VS2022 的 MSVC 开发环境再配置一次 CMake,MinGW、Clang 都不支持。
如果功能无反应或注入后崩溃,先看仓库根的 metadata.json:当前跟进的是 1.69(build 3274),游戏版本和仓库不匹配时签名扫不到。先 git pull 到最新再重新编译;另外日志会对 Debug 构建给警告,日常用请切 RelWithDebInfo 或 Release。
📚 源码与文档往哪里看
- docs/lua/:Lua API、命令表和 GUI 页面文档,写脚本前先看这里
- src/backend/:所有内置功能的循环逻辑,按 player/self/vehicle/toxic 分类
- src/hooks/protections/:防护 hook 本体,学习事件拦截机制的最佳入口
- src/services/:玩家、载具、翻译、热键等服务的实现
- scripts/:crossmap 与 natives 的生成脚本,理解注入器数据流的钥匙
使用边界
README 开头就写着 "Strictly for educational purposes"。src/backend/player/toxic/ 下有二十多个针对其他玩家的攻击性命令,这类功能违反 Rockstar 服务条款,封号风险完全自负,公开战局里也不该拿去主动攻击别人;单人和测试战局相对安全。公开战局开着菜单尽量低调,ESP 之类显眼功能关掉,存档和 settings.json 定期备份。
编译通过、注入成功之后,把 Protection 页的"全部启用"点一下,日常游玩的底线就守住了。
【免费下载链接】YimMenuYimMenu, a GTA V menu protecting against a wide ranges of the public crashes and improving the overall experience.项目地址: https://gitcode.com/GitHub_Trending/yi/YimMenu
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考