赞
踩
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 版权所有,并保留所有权利。