)
Il2CppHookScripts安装与快速上手3步用fat命令行工具Hook Unity游戏附全参数详解【免费下载链接】Il2CppHookScriptsFrida-based libil2cpp.so runtime parsing script项目地址: https://gitcode.com/gh_mirrors/il/Il2CppHookScriptsIl2CppHookScripts 是一个基于 Frida 的 libil2cpp.so 运行时解析脚本专为 Hook Unity 游戏而生。它把常用的 il2cpp 反射、方法查找、批量 Hook、返回值改写等操作全部封装成全局函数并通过 npm 包il2cpp-hooker提供fat命令行工具——一条命令即可完成附加、启动、注入脚本的全流程。本文带你 3 步完成 Il2CppHookScripts 安装并快速上手最后附 fat 全参数详解。 Il2CppHookScripts 能做什么对 Unity 的 IL2CPP 后端游戏做 Hook通常要手动解析元数据、找方法、挂断点非常繁琐。Il2CppHookScripts 把这些工作封装成了简短的全局 API场景对应能力解析 Unity 元信息方法m、类c、字段f、实例lfs/lfp运行时参数解析b/btnop 函数n清理缓存D批量 HookB/BF/BN批量拦截常用函数修改返回值setFunctionXXX系列查找与调用findMethods/findClasses/callFunction/findExport对象与类型树showGameObject/PrintHierarchy/showTypeParent常用一键 HookHookOnPointerClick、HookSetActive、B_Button、HookPlayerPrefs调试辅助反汇编showAsm、堆栈解析breakWithStack、QBDI 函数轨迹traceFunction核心入口逻辑在Il2cppHook/agent/index.ts脚本启动后会挂载各模块的全局 API源码入口见Il2cppHook/agent/include.ts。 快速安装 Il2CppHookScripts一条命令搞定前置条件已安装 Frida 命令行与 Node.js/npm。打开终端执行npm install il2cpp-hooker -g安装成功后命令行中会多出一个fat工具定义见 Il2cppHook/bin/fat.js入口在Il2cppHook/package.json的bin字段。fat的本质是帮你拼好frida -U ... -l _Ufunc.js --runtimev8再自动拉起省去手敲长命令的麻烦。 3步快速上手从附加到 Hook步骤一附加到当前前台应用attach 模式什么参数都不带直接运行fatfat会等价于执行frida -FU -l _Ufunc.js --runtimev8自动附加到当前前台 App 并注入脚本。适合游戏已经跑起来、想随手观察的场景。步骤二以 spawn 模式启动目标游戏传入包名游戏启动瞬间即注入避免错过初始化阶段的方法fat com.xxx.xxx等价于frida -U -f com.xxx.xxx -l _Ufunc.js。这是 Hook Unity 游戏最常用的姿势。步骤三启动时自动执行 Hook 函数用-f指定 Unity 启动后自动执行的函数在Il2Cpp.perform回调中运行例如先读 APK 信息再批量 Hook 所有Button.Click相关方法fat com.xxx.xxx -f getApkInfo();BF(Show)配合-t还可延迟执行等待游戏加载完成fat com.xxx.xxx -t 5000 -f PrintHierarchy() 更多 API 用法在脚本中全局搜索globalthis.即可找到所有可用函数的注册位置例如Il2cppHook/agent/expand/TypeExtends/下的 Unity 对象扩展与Il2cppHook/agent/java/下的 Java 层 HookHookSharedPreferences、HookDialog等。 fat 命令行参数全详解运行fat -h可查看帮助完整参数如下参数说明示例-h, --help打印使用信息带彩虹 LOGOfat -h-r, --runtime指定 JS 引擎qjs/v8默认v8fat -r qjs com.xxx.xxx-t, --timeout调用函数前的延迟毫秒数fat -t 3000 -f showGameObject(0)-f, --Il2cpp.performUnity 启动后要调用的函数fat -f getApkInfo();BF(Show)-j, --Java.performJava 层启动后要调用的函数fat -j HookSharedPreferences(true)-l, --log指定日志保存路径fat -l ./hook.log com.xxx.xxx-d, --debug开启调试端口仅 v8 支持fat -d -f i() com.xxx.xxx-c, --vscode直接用 VSCode 打开项目源码fat -c-v, --version打印版本信息fat -v参数解析实现位于Il2cppHook/bin/fat.js第 9-22 行基于 minimist其中-f与-t组合时会生成setTimeout包裹的延迟执行代码第 81-89 行。常用组合速查# 前台附加 保存日志 fat -l ~/unity.log # spawn 启动 5秒后打印场景对象树 fat -t 5000 -f PrintHierarchy() com.xxx.xxx # 调试模式断点调试 -f 中的脚本 fat -d -f i() com.xxx.xxx️ 可选从源码构建最新版npm 包可能更新不及时可以克隆仓库自行编译git clone https://gitcode.com/gh_mirrors/il/Il2CppHookScripts cd Il2cppHook/ npm install npm run build npm run compress编译产物为_Ufunc.js之后可用 frida 直接挂载也可以用fat -c打开项目后替换 npm 包里的脚本文件frida -U -f com.xxx.xxx -l ../_Ufunc.js相关配置见Il2cppHook/package.json的scripts字段调试模式还支持npm run watch热编译。❓ 常见问题提示找不到 fat 命令确认全局安装成功npm ls -g il2cpp-hooker必要时用npx il2cpp-hooker调用。Hook 不到方法优先用 spawn 模式fat 包名并在函数前加-t延迟等游戏初始化完成。qjs 引擎下调试无效fat -d仅支持 v8qjs 下会自动回退到 v8 引擎见 fat.js 第 68-76 行逻辑。JNI RegisterNatives Hook 不稳定该项默认关闭JNIHelper.Init()按需开启源码在Il2cppHook/agent/fix.ts附近模块中。写在最后Il2CppHookScripts 把 Unity IL2CPP Hook 中最繁琐的元数据解析和批量拦截做成了开箱即用的 fat 命令行工具一条npm install il2cpp-hooker -g安装一条fat 包名 -f ...完成注入配合findClasses、BF、PrintHierarchy等全局函数即可完成大部分 Unity 游戏 Hook 任务。建议先按本文 3 步跑通流程再按需查阅各模块源码Il2cppHook/agent/深入定制自己的 Hook 脚本。【免费下载链接】Il2CppHookScriptsFrida-based libil2cpp.so runtime parsing script项目地址: https://gitcode.com/gh_mirrors/il/Il2CppHookScripts创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考