免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动!

本次游戏没法给

内容参考于:微尘网络安全

工具下载:

链接:https://pan.baidu.com/s/1rEEJnt85npn7N38Ai0_F2Q?pwd=6tw3

提取码:6tw3

复制这段内容后打开百度网盘手机App,操作更方便哦

上一个内容:35.第二阶段x86游戏实战2-C++遍历技能

此游戏更新了,它现在游戏只有获取焦点(鼠标点击游戏窗口任意位置)就会发送数据包,这样会扰乱逆向人员去追,解决办法使用,获取焦点发送的数据包的值是固定的,所以使用条件断点比如[esp]!=0x1111这样把获取焦点发送的数据包过滤掉

上一个内容使用C++把技能遍历了出来,本次开始找按键的函数

怎么找按键的函数?

1.通过明文包的位置往上反,最终肯定会到按键的函数

2.通过窗口的显示和隐藏的标志位,比如按esc一般又会会弹一个菜单,这个菜单就是一个窗口,窗口的显示一般是1是显示0是隐藏,所以可以通过CE搜索变化的数值来找,找到之后在地址上下硬件访问断点

这里使用之前找的释放技能函数来追按键函数

下图位置是在 18.第二阶段x86游戏实战2-探索释放技能call 里找到的

然后使用键盘快捷键释放技能触发上图的断点,然后取消断点,然后按CTRL+F9来到下图位置,记得写备注

然后继续按CTRL+F9来到下图位置,记得写备注

然后继续按CTRL+F9来到下图位置,记得写备注

然后继续按CTRL+F9来到下图位置,记得写备注

然后继续按CTRL+F9来到下图位置,记得写备注,到了下图位置,到这应该很熟悉它了,递归循环,它是一直执行,所以先来到第j3层

使用注释来到第j3层如下图

选择j3,这里选择j几都行,这里使用一半查找的方式,所以来到j3

然后发现它使用快捷键释放技能会断

然后来到j4层,发现它一下断点就会断,所以j3是我们要找的

然后在j3函数的头部打断点,一路F8看看它是怎样跳到j3位置的

然后可以看到下图红框位置的jmp跳转,这里知识点来了,它是C++语言中switch条件语句的汇编代码

如下图执行释放技能call的时候eax的值是2,带入公式2*4+31CC80=31CC86,正好是释放技能函数的位置

然后找eax的值,如下图红框eax的值来自于esi+0x68

通过多次对内存区用CTRL+G跳转到esi+0x68位置,可以发现esi+0x68位置是固定的,所以对它下硬件写入断点,看看是谁给它写的

下硬件写入断点,如下图

下了硬件写入断点,通过快捷键释放技能触发,然后就来到了下图位置,接下来就要这里的eax的值哪来的了,然后本次到这先结束,记得复制下图的特征码,方便后面使用


img

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐