本日记写给对外挂有极大兴趣,苦于学习又无从入手的人,由浅入深,循序渐进,本人不是高手,不足之处希望高人多多指教。
废话不多说,我们开始吧
首先,你需要下一个CE(如果你连CE都不知道是什么我实在无语了,可以再百度搜下,下载一个中文版)
《武林外传》游戏,之所以选择这个游戏是因为他没有NP之类的保护,比较容易分析,方便我们用CE,OD之类的动态分析工具调试。
好了,游戏我已经打开了,我们把CE也打开,点左上角的小电脑,选中武林外传游戏的进程,点打
开
我们已经把进程打开了,然后在CE里,数值的后面写80,(问:为什么要写80,答:因为我们的血是80,问:为什么要搜索血,答:因为血值比较容易找出,问:为什么。答:滚你妈,听我讲完-_-!) 然后点首次扫描
好了搜索出来那么多个,我们去找个怪打下,让血值变动一下,当你开始掉血的时候,在CE里点减少的数值,然后选再次扫描。
好了我们扫描之后发现了一个动态会变动的数值,然后我们双击它点击下来图片10
我们点右键,点查找访问此地址的代码,(注意:有的中文版CE不同有可能翻译为查找所有操作此地址的代码)-如果框框里没出地址那我们就点下游戏然后在点CE
好了出来了
我们记录一下
mov edx,[esi+25c] esi=0AEED8E0
我们点新扫描,然后选中HEX,这里一定要选中,因为我们要搜索ESI的值是16进制的好了,出来了这么多个
我们选第一个吧,双击第一个,点下来,点右键,选查找访问此地址的代码
出来了很多个哦
这里我说下,EBP的不能选
mov eax,[eax+24] 这种的,也不能选,至于为什么我们以后讲好了我们选第一个就好了
记录下mov edi,[ecx+24] ecx=03036D68
我们来搜索下ECX的值,这里的HEX一定选中又出来了这么多个
我们选第一个吧
双击点下来,右键选查找所有访问此地址的代码又出来很多个,我们选第一个
记录下mov eax,[edx+1c] edx=0097F020 我们来搜索下EDX的值,出来了这么多个
我们选第一个吧,重复刚才的操作,双击点下来,右键选查找所有访问此地址的代码好,出来了这么多个,我们就选第一个吧
记录下mov eax,[0097b55c]
好了这个很像基址哦,我们来搜索一下他吧
扫描之后是0个哦,说明他应该是基址了
我们把刚才所记录的汇总一下
mov edx,[esi+25c] esi=0AEED8E0mov edi,[ecx+24] ecx=03036D68
mov eax,[edx+1c] edx=0097F020
mov eax,[0097b55c]好了我来说一下,这里[esi+25c]的esi的值=下面的[ecx+24],ecx=下面的[edx+1c],edx=下面的
0097b55c
则那么[[[0097b55c+1c]+24]+25c]
我们来试验下
在CE里,右边有手动添加地址,我们点他
然后点指针后面的方框,让他出对勾,然后添加两个指针
指针地址添加我们找到的基址0097b55c
第一個偏移1c(一级偏移),第二個偏移24(二级偏移),第三個偏移25c(血的偏移)
順序不要搞錯哦
好了,我们在下面看到数值80了
我们小退一下刷新一下内存地址
大家可以看到了第一个地址数值80会变成??
而我们添加的那个不会变,最起码在游戏更新之前不会变,因为游戏更新,就有可能变动基址。话不多说,今天累了,就写到这
未完待續。。。。
上节课大家知道怎样查找血
这节我教大家用遍历工具把其他的人物的数值遍历出来
废话不多说,我们开始
游戏已经开好了,我们今天用到的工具是内存查看器,我一会放到附件里
工具我也打开了
在进程这里选中武林外传的进程
[[[0097b55c+1c]+24]+25c] 上节课的基址,一级基址,二级基址,血偏移
图1
然后我们把上节课的基址添加到里面,然后点加入地址图2
在开始值那里写入1C,后面的偏移一定要点上对勾,选中我们刚才添加的基址,然后点加入地址图3
在开始值那里写入第二个偏移24,选中刚才添加的1C,然后点加入地址
图4
我们在开始值里写0,偏移个数100,选中刚才添加的24,点加入地址出来了很多个
图5
好了我们现在来分析下,我们知道血的偏移是25C,我们来到25C的位置我们可以再说明里添加我们的注释
图6
我们又找到了很多人物属性哦图7
对比下游戏图8