
md静态修改教程.pdf
4页本人 MD 游戏初步 HACK 过程: 偶以 MD《魂斗罗》日文版为例� 1先拿到 MD《魂斗罗》EC 码� [P1 生命数] ON=FA0D,9 [P1 能源值] ON=FA0C,3 [P1 全部武器] ON=FA0E,3E;FA10,9 [P1 透明] OFF=0000,0 ON=D758,98 [P2 生命数] ON=FA2D,9 [P2 能源值] ON=FA2C,3 [P2 全部武器] ON=FA2E,3E;FA30,9 [P2 透明] OFF=0000,0 ON=D7D8,98 [GameInfo] Name=魂斗罗 (SEGA-MD) System=MD Text=魂斗罗�双人、射击游戏� 偶先说一下�在 MD 调试器中 FA0D 地址不是魂斗罗命数地址�而是体力地址�FA0C 才是魂斗罗命数地址 有一些游戏地址会偏移接下来打开 MD 调试器�弹出如下图 1 和图 2� ? ? 图 1 是游戏窗口�图 2 是调试器�偶说解一下图 2 调试器� CPU Register:CPU 寄存器 VDP Register:VDP 寄存器 在 PC:右边有指令显示 Break Point 是用来设置断点 Watch Point 是用来设置监视点 在 Break Point 和Watch Point 下方有 3 个按钮�分别是� “Append...”按钮�添加断点或监视点 “Delete”按钮�删除断点或监视点 “Edit...”按钮�编辑断点或监视点 在 Debug Function 下方有 4 个按钮�分别是� “Reset”按钮:重启游戏 “Run”按钮:运行游戏�再按一次就是暂停游戏 “Step”按钮:单步执行 “Memory”按钮:内存编辑和查看�要自己输入地址才能查看到 在右上方的 Layer Ctl 是图层开关 FMReg List 和 Variable Spy 这两个暂时不清楚是什么来 “Screen Shot”按钮:截图 “Load...”按钮:加载 ROM “Make Infor...”按钮:生成报告�可以用记事本或者写字板打开查看 3。
接下来开始跟踪修改�目标是命不减! (1) 先加载 ROM�选择好人物后进入游戏�按Watch Point 下方的“Append...”弹出如图 3 界面: 在 PC Register 右边方框内输入地址 FA0C�再在下方 OP Mode 的 Write 选项前面打勾�再把右边 Enable 选项也打上勾�再点 OK�一个监视点就这样设置好了�当 FA0C 地址有新数据写入时�游戏就会自动中断� (2)设置好监视点后�随便被敌人打死�游戏自动中断如图 4: (3)点击调试器 PC:右边下拉按钮�你会看到一大批指令�偶把一部分指令抄下来: (看指令时从下至上看) 0000 00011E26 121C MOVE.B (A2),D6 0001 00011E24 1253 SUBQ.B #1,(A2)->将寄存器 A2 存放地址数据减 1�将这条指令 NOP 掉就命不减 0002 00011E1C 0660 BRA 11E24 0003 00011E1A 007A MOVEQ #$0,D5 0004 00011E16 F845 LEA $FA0C.W,A2->将 FA0C 地址数据载入寄存器 A2 注意这一条 0001 00011E24 1253 SUBQ.B #1,(A2),这个指令作用是将寄存器 A2 存放地址数据减 1�只要将这条指令 NOP 掉�等于命不减了。
NOP 指令代码是:71 4E 将 121C 1253 抄下来�并交换得出:53 12 1C 12 (4)关闭�MD 调试器�打开 WINHEX,查找 53 12 1C 12,如图 5: (5)找到后,将 53 12 修改为 4E 71�保存 (6)打开 GENS 模拟器�并在模拟器中将[自动修正校验]选项打勾�加载经过修改后《魂斗罗》日文版 ROM 开始玩吧是否不死命了如图 6: HACK MD 过程到此完结 BY 疾风之狼 PS�这个是偶初次 HACK MD 过程�此教程偶作了一些修改和删减。
