您好,欢迎访问三七文档
本人MD游戏初步HACK过程:偶以MD《魂斗罗》日文版为例:1。先拿到MD《魂斗罗》EC码:[P1生命数]ON=FA0D,9[P1能源值]ON=FA0C,3[P1全部武器]ON=FA0E,3E;FA10,9[P1透明]OFF=0000,0ON=D758,98[P2生命数]ON=FA2D,9[P2能源值]ON=FA2C,3[P2全部武器]ON=FA2E,3E;FA30,9[P2透明]OFF=0000,0ON=D7D8,98[GameInfo]Name=魂斗罗(SEGA-MD)System=MDText=魂斗罗,双人、射击游戏!偶先说一下,在MD调试器中FA0D地址不是魂斗罗命数地址,而是体力地址,FA0C才是魂斗罗命数地址。有一些游戏地址会偏移。2。接下来打开MD调试器,弹出如下图1和图2:??图1是游戏窗口,图2是调试器,偶说解一下图2调试器:CPURegister:CPU寄存器VDPRegister:VDP寄存器在PC:右边有指令显示BreakPoint是用来设置断点WatchPoint是用来设置监视点在BreakPoint和WatchPoint下方有3个按钮,分别是:“Append...”按钮:添加断点或监视点“Delete”按钮:删除断点或监视点“Edit...”按钮:编辑断点或监视点在DebugFunction下方有4个按钮,分别是:“Reset”按钮:重启游戏“Run”按钮:运行游戏,再按一次就是暂停游戏“Step”按钮:单步执行“Memory”按钮:内存编辑和查看,要自己输入地址才能查看到在右上方的LayerCtl是图层开关FMRegList和VariableSpy这两个暂时不清楚是什么来“ScreenShot”按钮:截图“Load...”按钮:加载ROM“MakeInfor...”按钮:生成报告,可以用记事本或者写字板打开查看3。接下来开始跟踪修改,目标是命不减!(1)先加载ROM,选择好人物后进入游戏,按WatchPoint下方的“Append...”弹出如图3界面:在PCRegister右边方框内输入地址FA0C,再在下方OPMode的Write选项前面打勾,再把右边Enable选项也打上勾,再点OK!一个监视点就这样设置好了,当FA0C地址有新数据写入时,游戏就会自动中断!(2)设置好监视点后,随便被敌人打死,游戏自动中断。如图4:(3)点击调试器PC:右边下拉按钮,你会看到一大批指令,偶把一部分指令抄下来:(看指令时从下至上看)000000011E26121CMOVE.B(A2),D6000100011E241253SUBQ.B#1,(A2)-将寄存器A2存放地址数据减1,将这条指令NOP掉就命不减。000200011E1C0660BRA11E24000300011E1A007AMOVEQ#$0,D5000400011E16F845LEA$FA0C.W,A2-将FA0C地址数据载入寄存器A2注意这一条000100011E241253SUBQ.B#1,(A2),这个指令作用是将寄存器A2存放地址数据减1,只要将这条指令NOP掉,等于命不减了。NOP指令代码是:714E将121C1253抄下来,并交换得出:53121C12(4)关闭,MD调试器,打开WINHEX,查找53121C12,如图5:(5)找到后,将5312修改为4E71,保存。(6)打开GENS模拟器,并在模拟器中将[自动修正校验]选项打勾,加载经过修改后《魂斗罗》日文版ROM开始玩吧。是否不死命了。如图6:HACKMD过程到此完结。BY疾风之狼PS:这个是偶初次HACKMD过程,此教程偶作了一些修改和删减。
本文标题:MD静态修改教程
链接地址:https://www.777doc.com/doc-2882608 .html