61.网游逆向分析与插件开发-游戏增加自动化助手接口-游戏红字公告功能的逆向分析

内容来源于:易道云信息技术研究院VIP课

上一节内容:游戏公告功能的逆向分析与测试-CSDN博客

码云地址(master分支):https://gitee.com/dye_your_fingers/sro_-ex.git

码云版本号:63e04cc40f649d10ba2f4fa313ca65cc78f46516

代码下载地址,在 SRO_EX 目录下,文件名为:SRO_Ex-游戏红字公告功能的逆向分析.zip

链接:https://pan.baidu.com/s/1W-JpUcGOWbSJmMdmtMzYZg

提取码:q9n5

--来自百度网盘超级会员V4的分享

HOOK引擎,文件名为:黑兔sdk.zip

链接:https://pan.baidu.com/s/1IB-Zs6hi3yU8LC2f-8hIEw

提取码:78h8

--来自百度网盘超级会员V4的分享

以 游戏公告功能的逆向分析与测试-CSDN博客 它的代码为基础进行修改(只修改了分析记录.txt文件)

红色文字公告:通过商城购买物品,购买成功之后会触发

61.网游逆向分析与插件开发-游戏增加自动化助手接口-游戏红字公告功能的逆向分析_第1张图片

打开 Cheat Engine,参考下图中的操作

61.网游逆向分析与插件开发-游戏增加自动化助手接口-游戏红字公告功能的逆向分析_第2张图片

修改之后,然后再次出发红色公告发现,它还是购买物品成功,我们修改的没生效,它还会把我们修改的内容改回去61.网游逆向分析与插件开发-游戏增加自动化助手接口-游戏红字公告功能的逆向分析_第3张图片

然后再通过 Cheat Engine 的代码搜索一次字符串试一试:61.网游逆向分析与插件开发-游戏增加自动化助手接口-游戏红字公告功能的逆向分析_第4张图片

但是它还是不行,还是会把我们修改过的内容改回去

61.网游逆向分析与插件开发-游戏增加自动化助手接口-游戏红字公告功能的逆向分析_第5张图片

分析一下现在的状况,首先要显示一个文字,那么内存里是肯定会存在的,现在是很明显这个文字内存里有,但是改不了,所以这个文字的内容很可能是由服务器发送过来的,红色公告应该是服务器通告,也只有这种情况我们才没法把它搞出来,通过封包的方式可以处理,但是现在还没到封包的时候,接下来通过改写的情况去找,但是通过改写的方式不是很好,因为它有可能跟弹公告没有关系,万一追到了上游就很麻烦,改写它可能是显示之前通过服务器同步或者显示中同步或者显示完同步,这只能试一下了,然后开始找:

61.网游逆向分析与插件开发-游戏增加自动化助手接口-游戏红字公告功能的逆向分析_第6张图片

 然后看出它改写的位置并不是mov汇编指令,然后线索就断了,之前找了黑色的公告,它这个红色的公告可能与黑色的公告有互通的,所以很可能与黑色公告是同一个类型(黑色公告显示的方式,看上一节),无非就是显示的内容不一样,假设是我来写这个红色的公告,我还是会封装成一个跟黑色公告类似的方法,继续往下看

61.网游逆向分析与插件开发-游戏增加自动化助手接口-游戏红字公告功能的逆向分析_第7张图片

然后接下来打开x96dbg根据上一节的线索看看能不能找到红色公告,成功断下来了,断下来的位置与之前分析的弹框位置一样61.网游逆向分析与插件开发-游戏增加自动化助手接口-游戏红字公告功能的逆向分析_第8张图片

然后函数里已经有了相关文字,所以直接来到上一层,它肯定与黑色公共有着类似的形式,所以按 ctrl + f9再按f8

61.网游逆向分析与插件开发-游戏增加自动化助手接口-游戏红字公告功能的逆向分析_第9张图片

然后就来到下图函数61.网游逆向分析与插件开发-游戏增加自动化助手接口-游戏红字公告功能的逆向分析_第10张图片

根据黑色公告与红色公告的代码对比,可以发现23是黑色公告,12是红色公告

61.网游逆向分析与插件开发-游戏增加自动化助手接口-游戏红字公告功能的逆向分析_第11张图片

经过调试,可以看出确实是这样 23是黑色公告,12是红色公告61.网游逆向分析与插件开发-游戏增加自动化助手接口-游戏红字公告功能的逆向分析_第12张图片

然后看一下红色公告的调用过程

61.网游逆向分析与插件开发-游戏增加自动化助手接口-游戏红字公告功能的逆向分析_第13张图片

按ctrl+f9再按f8来到它的上一层61.网游逆向分析与插件开发-游戏增加自动化助手接口-游戏红字公告功能的逆向分析_第14张图片

经过与黑色公告的调用对比,发现是同一个类,不同的成员函数

61.网游逆向分析与插件开发-游戏增加自动化助手接口-游戏红字公告功能的逆向分析_第15张图片

然后知道弹框之后,接下来看,下图红框里的红字是不是844E40函数做的,如果不是,还要找它怎样做的

61.网游逆向分析与插件开发-游戏增加自动化助手接口-游戏红字公告功能的逆向分析_第16张图片

然后把 844E40函数 开头改成ret 4,看看是否还有在聊天框里打印文字

61.网游逆向分析与插件开发-游戏增加自动化助手接口-游戏红字公告功能的逆向分析_第17张图片

然后效果就是,不弹框了,但是还会在聊天框里显示文字,聊天框打印文字的功能肯定会在下图红框(红色公告)函数后面61.网游逆向分析与插件开发-游戏增加自动化助手接口-游戏红字公告功能的逆向分析_第18张图片

最终在下图红框里看到了(公共)购买物品成功。。。字符串

61.网游逆向分析与插件开发-游戏增加自动化助手接口-游戏红字公告功能的逆向分析_第19张图片

 572150函数里 (公共)购买物品成功。。。 字符串,通过在 572150开头写成功ret,测试是否还会在聊天框里打印内容时由于  572150函数有返回值导致了异常,572150函数该有的数据((公共)购买物品成功。。。这个字符串)已经存在,由于没法通过ret注销掉测试,所以先看看它后面又做了什么

61.网游逆向分析与插件开发-游戏增加自动化助手接口-游戏红字公告功能的逆向分析_第20张图片

然后通过下图红框看出还有完整的数据,所以572150函数可能还是用来处理字符串组织数据的,所以继续往下找

61.网游逆向分析与插件开发-游戏增加自动化助手接口-游戏红字公告功能的逆向分析_第21张图片

然后看到下图红框的代码,它取了一个字符串,又是一个thiscall,很可疑的函数,所以把eax的值修改61.网游逆向分析与插件开发-游戏增加自动化助手接口-游戏红字公告功能的逆向分析_第22张图片

原本的数据

61.网游逆向分析与插件开发-游戏增加自动化助手接口-游戏红字公告功能的逆向分析_第23张图片

修改之后的数据

61.网游逆向分析与插件开发-游戏增加自动化助手接口-游戏红字公告功能的逆向分析_第24张图片

然后按F9,看游戏中打印是否一样,根据下图可以看出是一样的,所以真正的函数是844E80函数,也可以看出在逆向分析中看它的参数是一个很重要的过程61.网游逆向分析与插件开发-游戏增加自动化助手接口-游戏红字公告功能的逆向分析_第25张图片

它还是1256E3C类中的成员函数

61.网游逆向分析与插件开发-游戏增加自动化助手接口-游戏红字公告功能的逆向分析_第26张图片

然后接下来分析一下它的参数,它有四个参数两个以及确定了是1和3,剩下两个是ebp和eax,eax可以通过断点看出是文本的内容,ebp看不懂是什么它是一个负数61.网游逆向分析与插件开发-游戏增加自动化助手接口-游戏红字公告功能的逆向分析_第27张图片

ebp的值是通过 94BBD4 函数之前就写死的,如下图,所以我们也写FFFFAEC3(十进制是-20797)

61.网游逆向分析与插件开发-游戏增加自动化助手接口-游戏红字公告功能的逆向分析_第28张图片

然后在调用844E80函数时,把ebp的值改成0

修改之前61.网游逆向分析与插件开发-游戏增加自动化助手接口-游戏红字公告功能的逆向分析_第29张图片

修改之后

61.网游逆向分析与插件开发-游戏增加自动化助手接口-游戏红字公告功能的逆向分析_第30张图片

然后发现文字变成黑色了,ebp的值是文字颜色,FFFFAEC3是颜色

然后把它的值,改成FFFFFF00

然后游戏聊天框里的文字就变成了黄色

61.网游逆向分析与插件开发-游戏增加自动化助手接口-游戏红字公告功能的逆向分析_第31张图片

 使用画图的颜色编辑,可以看出FFFF00确实是黄色

61.网游逆向分析与插件开发-游戏增加自动化助手接口-游戏红字公告功能的逆向分析_第32张图片

你可能感兴趣的:(游戏,网游逆向)