CE改游戏之二改模拟器类游戏~例如街霸
本帖最后由 穷人木木 于 2010-4-24 12:31 编辑以下是一强人写的~
那人被一些业界的人称之为:“如果他进军**(依人不许提到某些字,请允许我用*表示),就让网络游戏商哭去吧~“
可惜的是,这人不做网游工具~唉~
只是偶尔发发教程~~(他去考研了~非IT类人士)
此下是他从前写的一篇博
因为读者李伟朋友最近经常在博客上留言要我做一篇这样的教程,本来我打算用PC版的街霸4来完成的,不过不小心看到了MAME,想来还是用模拟器做的教程更符合你的要求吧,而且也更具有代表性^_^。
http://www.lolibeta.com/wp-content/uploads/2010/01/20100114_201851_thumb.png
选择MAME进程,开始游戏。不过要注意,我用的模拟器是Mame plus,而进程要选择的是mamep.exe
http://www.lolibeta.com/wp-content/uploads/2010/01/20100114_201913_thumb.png
http://www.lolibeta.com/wp-content/uploads/2010/01/20100114_201913_thumb.png
因为血条是看不到数值的,所以从模糊搜索开始。选择unknown initial valus
http://www.lolibeta.com/wp-content/uploads/2010/01/20100114_201945_thumb.png
返回,按几下打,然后搜索选择数值减少 (Decreased value)
http://www.lolibeta.com/wp-content/uploads/2010/01/20100114_202036_thumb.png
300724个结果出现了。要有耐心
http://www.lolibeta.com/wp-content/uploads/2010/01/20100114_202059_thumb.png
因为在格斗游戏中,往往计时的时间也是在一起减少的,为了把这些因素排除掉,进去随便打几下,但是没有掉血,切出来选择数值不变 (Unchanged value)。现在还剩下176963个地址。
http://www.lolibeta.com/wp-content/uploads/2010/01/20100114_202227_thumb.png
继续不断的挨打数次,直到如上图这个状态。这里就已经是极限了,因为无论怎样继续搜索下次,始终都会剩下18个地址。
这里没有什么好办法,只能观察,仔细看的话会发现他的地址其实都很接近,完全可以视作相同值的不同字节。不过现在暂时不好判断,最快的方法就是一个一个试。
事实上我们并不用每个测试,只要测试每组相邻数值的第一个即可,比如 08048689 和 08088D3D。原因会在后面提到。
http://www.lolibeta.com/wp-content/uploads/2010/01/20100114_202918_thumb.png
于是很快发现,这个孤零零的地址08088D3D正是我们所要的结果。
可是这个数值非常的大,显然不像通常意义上我们所见到的数值,所以我们右键查看内存地址,看一下他到底是什么样。
08088D3D 00 00 00 46 00 …
打开之后,我们看到的是这样的结果。PC游戏在内存中是以高位取反的方式出现的,把他按照这样的方式反过来之后,计算便可得
46000000H = 1174405120
是的,这正好证明我之前的猜测,因为模拟器是忠实的还原了原平台的运行效果的,也包括内存,所以在模拟器的游戏中是不存在高位取反的概念的,他的正确值就应该是
00000046H = 70
现在关于之前的问题,因为在搜索之初,我们并没有限定字节位数,因此修改器把所有的单字节、双字节和四字节的数值都进行了搜索,这就造成了许多重复。这也是我所谓只测试相邻地址中的第一个就可以了的原因。
http://www.lolibeta.com/wp-content/uploads/2010/01/20100114_203136_thumb.png
所以干脆直接修改最后一位数的值并且对其进行锁定。
此地址测试有效。
很好,现在知道了吧,对于针对PC游戏所设计的修改器,他并不完全适用于模拟器。不过这不绝对,本例子中不就成功找到了么。
PS:
我知道
或许有人会说我偏提~~这里是易语言教学区 (做自己的,不管别人的想法, 人家的头是长在人家的身上, 不能由你说得算. 对吧, 自己认为是正确的,做就行了,管别人干吗! 穷人木木)
可是
我要说的是
无论是 有名的 写程序的独立军团还是万挂海 之类的收费团体~
他们写”工具“的最基本东东就是:CE、OD、易语言、等等。
其中查看监视内存数据和修改内存的工具是最最基本的,因为易语言做源码也是要基于”基址“(动态内存)之上的。否则 依人老大做的蝴蝶和秋思又哪 来的喝 血喝蓝 功能呢!?
要学的人看看吧。
我尽量找图上来,我知道大家~~包括我,还是喜欢看图说话的。。。。。
再再补充一句~~~
省得有人说我灌水。。。。。(对于灌水的, 我是这样判断的:无用的贴, (又没有任何意义无价值的贴).这种我定为灌水, 穷人木木)
我的CE教程分二种
一种是基础 CE之教程篇那些是关于网络上通用和疯传的一些文章,
另一种是 CE改游戏篇
可以结合看,也可以分开看。
有图的话,反正按着步骤来,也差不到哪去。~~人类从娃娃起,就会模仿~
大家真的要学~~先下一个英文的,跟 着他以上的来。。。试~~试完了有点概念了,再试试举一反三
看了就会滴~~是神童!
神童滴~8要进来~
去网上随便搜点举一反三去。
第一种 CE教程篇里面提到的CE工具是中文,是**海会员专用CE。。。
PPPPS::::::我去下过CE中文5.6,发现 没有它的好用。(这里不能随便上工具,大家可以去搜)
第二种 CE改游戏篇里面的提到的是5.5CE 英文版本~
PPPPPS:这个。。。呃~~
我只看学,没下过软件。。。。所以关于软件问题。。。。8要问我。。。 。。。看完了。不过。。。一点没看懂。。。{:1_160:} 写的好复杂啊。。看不懂 单机游戏我怕了。在网上下了几个,,电脑中毒了。。就是前天的事情 看来看去,没看懂,不清楚是什么意思,难道是我的理解有问题{:1_97:} 可以嘛,不错!!!!!!!!! 好强大,学习了!!!!
页:
[1]