初中生
 
- 金币
- 201
- 好评
- 0
- 信誉
- 100
|
在b站上找到了一个教程有了点思路,反编译整个软件包找逻辑,分析so层面函数,这边只展示无限金币的修改,不展示其他功能。
1. 底层“寻路系统”(前 30 行)
游戏用的是 Unity 的 IL2CPP 编译技术,所有函数在内存里都是乱码地址。所以脚本前 30 行在干一件事:建立通讯录。
它通过 Process.findModuleByName 找到游戏核心库,然后手动抓取 il2cpp_domain_get 等系统函数的地址。
2. 核心“搜索工具”(findMethod 函数)
这个函数负责遍历内存中的所有“教室”(类),找到名字叫 PlayerControl 或 AbsorbCoinsTrigger 的类,再从中找到具体的方法(比如 AddScore 加分数)。
3. 五个“劫持钩子”(Interceptor.attach)
这是脚本最精华的 Hook(钩子) 部分。它劫持了游戏里的 5 个关键函数:
· get_Score(获取分数):onLeave 时,直接把返回值强行改成 500000(上限)。无论你跑了多远,最后得分都被锁死在这个数。
· AddCoin / AddScore(增加金币/分数):onEnter 时,把传入的参数(增加量)乘以 500倍。捡了 1 个金币,内存里算作 500 个。
· set_Score(设置分数):onEnter 时,如果发现传入的值小于 500(可能是系统重置),立马拦截并强行改成 50万,防止正常分数覆盖掉你的作弊分。
· AbsorbCoinsTrigger(吸收金币触发器):同样把获取的金币数量乘以 500 倍。
4. 最后的 console.log
就是告诉你成功挂上了几个钩子(正常是 5 个)。
无敌,修改钻石都是这个so文件。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|