返回列表 回复 发帖

[原创]菜鸟FC HACK初级入门教程

注:教程首发于EMU618社区 http://bbs.emu618.com/
个人原创,如需转载,请标明作者和出处
HACK需要极大耐心,更要自己多尝试。
写这篇教程只给大家一个参考。

同一个游戏,会有很多HACK思路,希望大家在看完之后多思考,不要养成依赖的习惯。

首先我们需要一些工具

[带有DEBUG调试功能的FC模拟器]  FCEU-0.98.13-pre-Debug

[6502(FC汇编语言)] 6502汇编大奥秘(重要!不学好的话无法深入HACK)
提供附件下载~~

最后用于修改ROM内部的工具 UltraEdit32  必须品(这软件太大,大家还是自己去软件站搜索吧)

----------------------------------------------------------------------

其实VNES的DEBUG比较好,但是机器配置不高的用起来会很卡。
简单修改的话,就用FCE吧





举例:魂斗罗1命不减的修改

因为EC里有现成的作弊码,就不用自己搜索了
[P1 生命数]
ON=0032,200

这样我们就知道魂1的生命的地址是32,就可以使用它来当“断点”。



打开FCE,使用“OPEN”打开游戏ROM。


游戏运行后,先开始游戏。在适当的时候暂停游戏。


点“NES”→“Debugger...”


会出来一个大窗口,看右下角
先在这个位置输入“32”,这样“32”就做为一个“中断处”,也就是这个地址有所变化时,程序会中止。

之后在Write上打个勾,(Write的意思就是“写”)


按一下“Add”(这样设置好后,在你的游戏人物死了一次后,也就是说被写入了一次操作后,程序会自己中断。)

切换窗口,继续进行游戏。



回到游戏窗口,让游戏人物死一次。


程序中断,游戏停止运行了。
看最上面一行。


第1行这样显示
D6 32
32就是我们之前输入的生命数的地址

关于“D6”,请看6502汇编大全。
想要学HACK,学会和熟练汇编语言是很重要的。

此为扣命指令
修改原理是要让这条指令不执行



最前面的“d939”就是这条指令在RAM中的具体位置了。

点一下“Memory...”


出来RAM窗口,根据“d939”这位置去找。
请看我选中部分



把一整行通通选中,然后复制一下。便于精确寻找到这个“D6 32”


打开UltraEdit32这个软件,用这个软件来打开你的游戏ROM


就象这样,游戏ROM打开了。


之后我们用CTRL+F,搜索一下,把刚才复制的那一串数字粘贴进去,然后查找一下



找到了,看深蓝色这行

之后动手改这条指令

改之前,先按一下键盘上的INSERT,把插入方式改为“覆盖”
如图

然后把 D6 32 改为 EA EA   

注:     EA    (NOP指令,空操作)
注意修改时把D6 32这条完整指令全修改成EA EA


一个游戏可以有很多不同的改法。EA指令也并非万能,且HACK游戏有BUG属正常现象,HACK完后请测试




注意:修改的时候,往往会碰到输入无效,无法修改指令的问题。那是因为你的游戏ROM的属性可能是“只读”。如果碰到不能修改,请对游戏ROM(比如魂斗罗1)点右键→“属性”,把“只读”的勾去掉,这样就能修改了。



最后一步,修改好后,点“文件”→“另存为”,保存你修改好的游戏ROM。


之后测试ROM


死了几次,命一直都没减。HACK成功。





留道题目给大家练练吧
魂斗罗2代
生命数地址经查EC得知是  53
可以自己尝试一下


注:此教程中,使用魂斗罗1的生命数地址“32”来做断点。并不代表其他游戏都是用32做断点。
每个游戏数据都不同。前面我已经提到过,可以先到EC里找到想改的游戏的作弊码,这里面有相应的地址。如果EC里没有,也可以自己用EC自带的搜索功能搜索到需要的地址




总结:
1.HACK完后,要自己测试ROM,然后再发布,这是对别人负责,也是对自己负责。
2.学习HACK,漫长又艰辛,多思考,多动手。才能进步。不可养成依赖的习惯



[ 本帖最后由 小粽子 于 2007-11-15 20:01 编辑 ]
附件: 您所在的用户组无法下载或查看附件
1

评分次数

  • 疾风之狼

支持小粽子!
支持~!

小粽子好樣的。。我就太懶了,沒有心思去寫這個了,呵呵。期待小粽子寫點更高級點的出來。
超顶的.....
一枪扫荡胡人惧
神威天将锦马超
学习学习!
原帖由 terry 于 2007-9-26 17:03 发表
小粽子好樣的。。我就太懶了,沒有心思去寫這個了,呵呵。期待小粽子寫點更高級點的出來。
希望高级的还是老特有空写点,暂时还没什么心得~~
要我寫這東西,最快也得明年了。寫這些太麻煩了,費時間。
還是小粽子寫比較好。你比較耐心。
好样的
返回列表