赞
踩
0x00:
注:
0x01: 使用CE查询分析游戏内存数据
首先打开游戏, 开始游戏, 然后暂停游戏.
这时候使用CE打开PlantsVsZombies.exe进程
在CE中输入当前阳光值的大小, 默认一开始是50, 点击首次查询
会出现很多地址, 别担心, 我们进一步继续挖掘.
再回到游戏里面, 等待收集一个阳光值.
再到CE中输入75点击再次扫描, 现在的结果比较好了, 只有一个值了.
双击这个地址, 添加到地址列表里面, 验证找的对不对, 可以修改这个地址的值,
在游戏中查看阳光值是否发生变化, 在这里我就不再演示了.
这个地址上面右击选择, 找出是什么改写了了这个地址
回到游戏中去种一颗植物, 会在列表中找到一个操作.
点击详细信息
可以看到一些汇编代码, 和寄存器的值. 我们先记录下来
其中有一个mov指令, 这个是写入内存值的操作, 偏移是0x5578, 那么其实它写入的地址为EDI+0x5578
这个我看一下EDI寄存器的值是: 0x20C8DCA8
我们再次回到CE中勾选hex, 输入EDI寄存器的值, 点击新的扫描
这次找到的东西也不少, 也是比较麻烦的, 只能根据经验和多次尝试了. 这里有一个小技巧, 首先去找那些和别的地址不太一样的地址, 比如我在这里就比较轻松的找到了.
好了, 到了这一步, 我们点击手动添加地址, 勾选指针, 输入我们找的那个地址和上面的偏移值.
如果是这样的, 说明我们找的没错
下一步, 我们在第二个指针上面右击, 这次选择找出是什么访问了这个地址
选择第一个, 切换到游戏里面
很快在列表里面出现好多访问
我们选择其中任意一个地址, 看一下详细信息, 找到可能值为ESI寄存器的值, 我们去查询一下, 出现我们想要的结果了
图中我们看到了地址为绿色的, 第一个绿色的地址就是我们要找的地址. 我们再次记录一下这个 我们找到的地址是: 0x7794F8 偏移: 0x868
下一步, 手动添加地址
勾选指针, 输入我们找到的地址: 0x7794F8, 偏移0x868 再点击添加指针, 输入偏移0x5578, OK. 最后的结果, 可以在第三个地址修改值, 看看游戏中的阳光值变化.
第一步完成了, 找到了我们最终要使用的地址和偏移值.
0x02: 修改器的开发, 我们这里使用C语言
首先了解一下做修改器的关键API:
0x03: 原理 修改器的基本原理就是读取游戏线程的内存数据, 根据我们之前找到的计算方式, 在最后得到地址写入阳光值.关键代码实现
0x04:
最后来一个效果图, 希望这个教程会帮助大家学习
0x05: 下载地址: 解压密码: 52pojie |
搜狗截图20161211155351.png (49.99 KB, 下载次数: 0)
dc459cea-58cf-4a7c-81ab-83e8a757032b.png (10.22 KB, 下载次数: 0)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。