名称:元气骑士
Bundle ID:com.ChillyRoom.DungeonShooter
版本:7.3.0
App Store:https://apps.apple.com/cn/app/%E5%85%83%E6%B0%94%E9%AA%91%E5%A3%AB/id1184159988
砸壳IPA:https://alist.iosbx.com/d/%E5%A4%A9%E7%BF%BC%E4%BA%91%E7%9B%98/Public/%E5%85%83%E6%B0%94%E9%AA%91%E5%A3%AB-7.3.0.ipa
涉及
-
IL2CppDumper(提取游戏数据)
-
MSHookFunction (修改函数,勾住函数执行)
一.分析
通过砸壳的IPA可以看到Frameworks文件夹里有UnityFramework.framework,存在Data/Managed/Metadata/global-metadata.dat文件,判断是用C#制作的Unity引擎游戏,可以用IL2CppDumper提取游戏的元数据Metadata、符号表Symbols、还原伪代码Dummy DLL。(工具过后补上,也可以自己编译)
运行Il2CppDumper后得到Dump.cs,用SubLime Text打开。经过分析测试,发现玩家数据在public class RoleAttributeProxy里。

可以看到获取最大血量函数get_max_hp(),最大护盾get_Max_armor()等等。


二.修改
nic.pl创建一个Tweak项目,获取UnityFramework的ASLR偏移量,

加上在Dump.cs里获取到的函数偏移,

用MSHookFunction修改,函数原型是void MSHookFunction(void *symbol, void *hook, void **old),这个hook只能越狱使用。

在void *hook修改返回return为需要的值。

make编译,注入生效。
本作品采用 知识共享署名 4.0 国际许可协议 进行许可
文章评论
哦哦哦