zoukankan      html  css  js  c++  java
  • IOS弓箭传说的插件开发

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

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

    下载Il2CppDumper对Payloadarchero.appDataManagedMetadataglobal-metadata.dat进行还原。

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

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

     1 int (*old_get_AttackValue)();
     2 
     3 
     4 // 自创的新版函数
     5 int new_get_AttackValue()
     6 {
     7     return 100000;
     8 }
     9 int (*old_get_ChangeHp)();
    10 
    11 
    12 // 自创的新版函数
    13 int new_get_ChangeHp()
    14 {
    15     return 100;
    16 }
    17 
    18 
    19 %ctor
    20 {
    21     @autoreleasepool
    22     {
    23         unsigned long attack = _dyld_get_image_vmaddr_slide(0) + 0x10179b75c;
    24         unsigned long ChangeHp = _dyld_get_image_vmaddr_slide(0) + 0x1017a0a74;
    25         //MSHookFunction((void*)attack,(void*)&new_get_AttackValue,(void**)&old_get_AttackValue);
    26         MSHookFunction((void *)attack, (void *)&new_get_AttackValue,(void **)&old_get_AttackValue);
    27         MSHookFunction((void *)ChangeHp, (void *)&new_get_ChangeHp,(void **)&old_get_ChangeHp);
    28     }
    29 }

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

  • 相关阅读:
    NodeJS优缺点及适用场景讨论
    gitHub安装步骤
    ubuntu16.04爬坑
    Dubbo入门
    oracle11g的卸载
    数据库对象的创建和管理
    oracle数据库中的面试题
    dml数据操作和tcl事务管理
    oracle sql单行函数 常用函数实例
    oracle查询语句汇总与分类
  • 原文地址:https://www.cnblogs.com/konf/p/11918823.html
Copyright © 2011-2022 走看看