Error message here!

Hide Error message here!

忘记密码?

Error message here!

请输入正确邮箱

Hide Error message here!

密码丢失?请输入您的电子邮件地址。您将收到一个重设密码链接。

Error message here!

返回登录

Close

IOS弓箭传说的插件开发

loz2015 2019-11-23 17:27:00 阅读数:18 评论数:0 点赞数:0 收藏数:0

1.导出ipa进行解压后,定位到执行程序archero,ida加载后,发现很多都是sub_xxx开头的。

 

2.搜索资料后,原来Unity编写的程序,可以使用Il2CppDumper进行符号表还原。

下载Il2CppDumper对Payload\archero.app\Data\Managed\Metadata\global-metadata.dat进行还原。

3.IDA加载对应的脚本,分析script.py和dump.cs。其中dump.cs有点像反编译后的头文件,具体的类以及功能可以看出来。
定位EntityData__GetAttackBase_4319721308

4.编写增加攻击力的插件代码。

 

 int (*old_get_AttackValue)();
 
 
 // 自创的新版函数
 int new_get_AttackValue()
 {
     return 100000;
 }
 int (*old_get_ChangeHp)();
 
 
 // 自创的新版函数
 int new_get_ChangeHp()
 {
     return ;
 }
 
 
 %ctor
 {
     @autoreleasepool
     {
         unsigned long attack = _dyld_get_image_vmaddr_slide() + 0x10179b75c;
         unsigned long ChangeHp = _dyld_get_image_vmaddr_slide() + 0x1017a0a74;
         //MSHookFunction((void*)attack,(void*)&new_get_AttackValue,(void**)&old_get_AttackValue);
         MSHookFunction((void *)attack, (void *)&new_get_AttackValue,(void **)&old_get_AttackValue);
         MSHookFunction((void *)ChangeHp, (void *)&new_get_ChangeHp,(void **)&old_get_ChangeHp);
     }
 }

 

5.最后轻轻松松通关了,美滋滋。

版权声明
本文为[loz2015]所创,转载请带上原文链接,感谢
https://www.cnblogs.com/konf/p/11918823.html