游戏逆向基础-跳出游戏线程发包

附加游戏后下断点 bp ws2_32.send

send函数断下后,可以看到数据地址每次都一样

可以说明这个游戏是线程发包,所以直接在数据窗口中转到这个地址,然后对这个地址下硬件写入断点。

下了硬件写入断点后可以一层一层往上面跟,确定写包的CALL,但是由于这个游戏发包异常的频繁,这种方式跟的话费时费力,所以采取第二种办法:

下硬件断点断下来后看调用堆栈,多观察几个包的调用堆栈,一般来讲都有一个公共的写包函数,只要找到这个写包函数,再往上面跳就是各个功能了。

我这里地址是f1b9020 所以我执行命令dump f1b9020跳转到这个地址来:

接下来下硬件写入断点观察:

几次断下来后堆栈如下:

观察了几个包 只有00D8EAA2值公共调用,说明这个包很有可能就是写包函数

转到00D8EAA2这个地址,注意,这个地址是返回到了这个地址的意思,也就是说call是在这个地址上面一行。

在00d8ea9f处下断发现一直断 说明这个游戏在不断的发包,所以需要下条件断点过滤我们不必要的包。

经过几次观察发现唯一的规律就是 [esp+8]的值会变,我们过滤掉几个不是我们动作产生的包 断点条件如下:

esp+8\]!= 0f2eae7b\&\&\[esp+8\]!= 0f2eaabb 下好条件断点后去游戏选怪 ![](https://i-blog.csdnimg.cn/direct/0e794fb6be874b79b0cc9430f491d047.png) 断下来后返回到上一层 给这个call下段 ![](https://i-blog.csdnimg.cn/direct/8113df92d2614bebad557757a93f62a0.png) 然后再返回到上一层 给这个call下段 ![](https://i-blog.csdnimg.cn/direct/6de8c5b72ea046a6b68a5a6cc5bbe387.png) 这里不打算返回上一层了。因为看这个call就有点像选怪call的样子。 这里下了一个断点,然后去游戏里面选个怪,看看参数,然后注入试试。 ![](https://i-blog.csdnimg.cn/direct/626e3ce27c714aa7bb7c551f6f6320a0.png) 可以看到是有两个参数 第一次参数是41 第二个固定是1 盲猜第一个是怪物的ID,因为我换了几个怪这个参数就在不断的变换。 这里ecx也赋值了,ecx一般是this指针。可以去call里面看一下使用ecx的时候有没有先赋值,如果没有的话ecx就是传的this 所以 选怪的汇编代码如下: mov ecx,dword ptr ds:\[0xBBB05C

push 0x1

mov eax,dword ptr ds:[ecx]

push 怪物ID

call dword ptr ds:[eax+0x3C]

注入之前没有选怪物。

注入后的效果:

由此可见 选怪CALL是OK的。

相关推荐
福大大架构师每日一题1 小时前
dify 1.11.2 正式发布:向量数据库、安全增强、测试优化与多语言支持全面升级
数据库·安全
Kiyra1 小时前
阿里云 OSS + STS:安全的文件上传方案
网络·人工智能·安全·阿里云·系统架构·云计算·json
安科瑞小许3 小时前
从被动断电到智能预警:现代电气安全闭环防护体系浅析
安全
乐迪信息4 小时前
乐迪信息:异物入侵识别算法上线,AI摄像机保障智慧煤矿生产稳定
大数据·运维·人工智能·物联网·安全
国科安芯5 小时前
RISC-V 异常中断机制全解析
运维·单片机·嵌入式硬件·安全·risc-v·安全性测试
DX_水位流量监测5 小时前
压力式水位计的技术特性与应用实践
大数据·网络·人工智能·安全·信息可视化
江西省遂川县常驻深圳大使5 小时前
一个免费的APK加固和APK安全检测平台
安全·免费·android安全·apk加固·apk安全检测
汽车通信软件大头兵7 小时前
Autosar KeyM模块
网络·安全·汽车·uds·isolar
乾元8 小时前
生成对抗样本在网络安全中的工程化解读——AI 误报、误判与对抗的真实边界
运维·网络·人工智能·python·安全·web安全
云技纵横9 小时前
Spring Cache 多线程环境的线程安全与并发控制
java·安全·spring