本帖最后由 骑龟赛跑 于 2018-12-12 12:16 编辑
【CS游戏破解】『无限子弹无限钱无限血』人人都能破解CS(第01集)
【CS游戏破解】『无限子弹无限钱无限血』OD寻找真实基址改(第02集)
【CS游戏破解】『不掉血』CE修改不死战神(第03集)
【CS游戏破解】『不掉血』『CE代码注入』修改不死战神(第04集)
【CE游戏破解】代码注入,特征码使用(第05集)
【CE游戏破解】『冰封王座』金币/木材/人口修改(绝对新手版)(第06集)
【 CE游戏破解 】『CS1.6』多级指针的查找方法(第07集)
对于之前有同学反映要求用中文版的CE,以免让新手不适应.所以做了一个很啰嗦的,新手教程.如果前辈有更好的方法,烦请指导一二.
窗体运行冰封王座的方法是在运行窗口打开. 后面加参数-windows E:\Warcraft3.v1.26.Green\Warcraft III.exe -windows
多次搜索后你会发现这个规律,750的金币,系统会自动在后面加一位随机数.所以这里我直接区间查询
训练一个农夫,再来查询一次
下面我们来找木材,木材值同金币,会随机加一位数所以这里查询方法同金币
点击升级主城,来达到木材发生变化,再次查询
人口数是真实的
通过训练农夫来达到人口变化,再次扫描
到此,我们找到了我们需要的东西,可以任意修改数值了.但是该修改,只能用于本局.如果想每局都有效,接着往下看.
经过观察,你会发现,不论金币,木材,人口的增加减少,都是调用同一块代码.由这块代码对系统分配的地址进行存储(金币,木材,人口)的值.
但是观察后你会发现这地址是连续的一块.也就是基地址是一样的.你重新开局,多次开局后你会发现,只是 0AE1发生了变化,后面的 190,210,390都没发生变化.
那么我们想办法弄到这个基址,就可以动手了.
我们就拿金币来观察,看一下是哪段程序对这个数值访问
点一下这个训练中的农夫,取消
点击农夫训练,再取消,会发现后面4行代码是每操作一次,执行一次.
我们就拿最后一行"6F4A8E34"来观察,因为只有后面4个,是每操作一次,计数一次的.显示反汇编程序
对他进行下断
再进去游戏,训练一个农夫,你会发现程序被断下来了.我们来看一下,你会发现这个eax的前半段就是我们要找的.
有人会问."为什么要那么麻烦,不能对(金币,木材,人口)的地址进行跟踪,常用操作就能解决了."其实你可以试一下常规方法.我是找不到的.他这行代码"mov eax,[eax+78]"不论是谁(金币,木材,人口)调用,都是78不会变.我也知道,他是根据上面的call得到的eax值,但是我想简单点,不研究那个call了.我们达到目的就行.
回到刚才的调试.我们可以取消断点,让程序运行起来了.知道我们应该知道的了
注意上面的状态
现在我们来对代码注入. 也就是程序在对这段代码执行,我们做手脚.打开自动汇编窗口
插入框架
代码注入
我们来获取我们要的数据,来到金币存储的内存地址.来这里就是方便不懂内存存储的同学
十六进制"1068"在内存中代表4200,不懂没关系,这就是我们来这里的原因
双击修改金币数值,看,内存中变了.36420F00,但是我们写汇编就不是这样了.就成了"000F4236"这个十六进制表示999990
好了.得到这个"000F4236",我们来改代码吧添加如下代码"sub ax,axmov eax,[eax+190],000F4236mov eax,[eax+210],000F4236mov eax,[eax+390],0"
加入CT表
激活
游戏里验证一下
然后保存CT表就行了,下次只要打开CE,加载冰封王座,就自动提示你加入CT表了.重新激活一下就行.
喜欢的话,希望能收到你们的【免费评分】
|