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 ;
}
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.最后轻轻松松通关了,美滋滋。

最新文章

  1. 【Win10应用开发】通过拖放来打开文件
  2. 关于只针对ie7浏览器的css问题
  3. 目前用到最全的datagrid(easyui)
  4. Android比较字符串是否为空(isEmpty)
  5. commons-lang使用
  6. 鼠标悬停移除更换class
  7. windows 7 memcached报failed to install service or service already installed的解决方案
  8. win7下ubuntu14.4双系统安装
  9. MySQL性能调优——索引详解与索引的优化
  10. Expo大作战(三十)--expo sdk api之Permissions(权限管理模块),Pedometer(计步器api)
  11. 皮尔逊残差 | Pearson residual
  12. c 语言连续输入字符型数据
  13. Oracle中对数字加汉字的排序(完好)
  14. 能让程序做的事情坚决不用人来做——批量修复markdownlint MD034警告
  15. .net正则提取手机号码,并替换带有手机号码的a标签
  16. k8s 入门系列之介绍篇
  17. [转] 如何让代码可测试化(C#)
  18. 【opencv】cv::Mat_ 对单个元素赋值
  19. Java 创建线程的两种方法
  20. Maven常用插件整理

热门文章

  1. ES6面向对象实现tab栏切换效果
  2. WPF之路由事件的理解
  3. tensorflow多层CNN代码分析
  4. httpclient常规封装的方法
  5. HashMap面试题,看这一篇就够了!
  6. MySQL 格式化时间 成字符串
  7. Tensorflow Serving Docker compose 部署服务细节(Ubuntu)
  8. luogu P2946 [USACO09MAR]牛飞盘队Cow Frisbee Team
  9. ASP.NET Core 选项模式源码学习Options IOptions(二)
  10. 简单高效的端口扫描python脚本