• 217阅读
  • 1回复

任鸟飞谈逆向----《我叫MT》动态调试定位功能函数 [复制链接]

上一主题 下一主题
离线任鸟飞
 


微信公众号  任鸟飞逆向




手游的调试由于工具和操作系统的限制,想分析出大量的功能函数,并作出较为完整的外挂软件是比较麻烦的,一般都是选择以插件的形式对个别功能进行修改。为了能得到大部分的功能并对其进行调用,大多数人选择拦截协议并进行分析。当然也有其他的方法,比如找到游戏内负责发送消息的函数,通过动态调试与静态调试的结合,找到外部的功能函数。以《我叫MT1》为例,首先IDA动态加载游戏,另外打开一个IDA静态加载libgame.so文件。为了得到突破口,我们可以静态分析定位出一个可以发送协议的函数来(如图)

这是一个签到功能的函数,我们通过静态分析定位出其首地址,之后在动态调试窗口通过libgame.so+首地址,找到该函数(如图)(如图)





F5查看伪代码,在函数最后发现了SendMessage函数,我们跳到函数处(如图)(如图)





接下来我们通过这个函数去找一下其他函数,以购买碎片为例,F2下断后,点击购买碎片,游戏断下(如图)

图片超出范围   1楼发送
点击图中所示的执行到返回,跳到了返回代码处(如图)



图中标记处表示该条代码所在的函数,通过翻译可以大致得出该函数与抽奖有关。我们通过静态分析搜索到该函数的首地址(如图)

然后再动态调试窗口定位并下断点进行检验,发现这里的确是购买碎片函数的首地址(如图)


F5得出函数的参数数量,接下来的分析和调用就轻松多了(如图)

离线任鸟飞

只看该作者 沙发  发表于: 03-19




快速回复
限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
上一个 下一个