游戏辅助

C#制作游戏辅助图文教程

本帖以超级魂斗罗改命,改子弹为例简单教大家做些小游戏挂。

一、要想做好外挂,那么必不可少的就是要找到游戏基址和偏移,首先讲解一下游戏基址和偏移的找法:

这里我们使用CE来找寻基址和偏移
我们先来找寻游戏生命基址
C#制作游戏辅助图文教程 - 云核平台
首先选择游戏进程,选择好后,数值类型选择“字节”,扫描类型选择“精确数值”。然后在数值框中输入当前生命,点“新的扫描”按扭。
扫描完成后,把人物挂一次,改变一下生命,然后再在数据框中输入现在的生命,点“再次扫描”,直到找到生命动态地址为止。
C#制作游戏辅助图文教程 - 云核平台
这里我们找到了,我们的生命动态地址为02A5E05B,我们双击他到下面,这时我们发现,我们修改他的数值,游戏的生命也会发生改变。
但是这只是一个动态地址,重新打开游戏我们会发现,这个地址会改变。
这里我要阐明一下动态地址计算法则:
动态地址=游戏一级基址的值+偏移
下面我们右击这个地址,并选择图中所选菜单:
C#制作游戏辅助图文教程 - 云核平台
我们游戏中再次改变一下生命,就会发现扫描出了结果
此时点击详细信息
C#制作游戏辅助图文教程 - 云核平台
C#制作游戏辅助图文教程 - 云核平台
从图中我们可以得知,更改的地址是02A5E008.
这时候,偏移我们就可以计算出来了,我们拿现在动态地址02A5E05B减去这个地址02A5E008,得到的结果是十六进制53.这个结果就是偏移。
此时我们扫描一下这个值:
C#制作游戏辅助图文教程 - 云核平台
扫描出了2个结果,地址以绿色显示,表示已经是一级基址,我们取00622880,这样一级基址也就出来了。
我们的生命基址和偏移顺利找到。

同理我们也要先找到子弹基址,在找子弹基址时候我们首次扫描选择“未知的初始数值”,然后在改变子弹后或没有改变子弹的情况下选择”改变的数值“或”未改变的数值”
最终我们子弹基址偏移为00622898+偏移B8

二、使用C#对游戏编写外挂

我们通过使用win32API :ReadProcessMemory和WriteProcessMemory来对内存进行读写操作。
详细请大家下载查看

C#制作游戏辅助图文教程 - 云核平台

以上编写的程序下载地址:

百度云盘下载地址:链接:http://pan.baidu.com/s/1nvSzhNz 密码:jz5k

?

小结:
?????? 动态地址=游戏一级基址的值+偏移? 对于这个来说,很多游戏都是“动态地址=游戏一级基址的值+偏移+偏移+偏移+偏移+偏移+偏移+偏移+... ...” 不过都是一个道理。现在的网络游戏PC版本的需要注意POST处理,毕竟很多数据都是在服务器上了,想要欺骗服务器还是要下一番功夫的。所谓修改内存地址当然是不被允许的,尽量还是走按键精灵或者易语言脚本的路子,不然何时进局子都很难说~