用新浪微博登录

只需一步,快速搞定

 找回密码
 立即注册

用新浪微博登录

只需一步,快速搞定

查看: 4501|回复: 6
打印 上一主题 下一主题

关于hack MD游戏的简单教程-用幽游白书魔强统一战举例

[复制链接]

该用户从未签到

47

主题

97

帖子

384

积分

LV 6.会员

积分
384
跳转到指定楼层
楼主
发表于 2019-4-27 00:39:40 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式 |          
本帖最后由 月不黠 于 2019-4-27 02:47 编辑

需要一些工具,如下:
1.带有debug和HEX editor的模拟器:上网挺多这类模拟器的,搜搜就能下载到。本次教程使用gens_r57shell_mod_r665模拟器为例。
2.十六进制编辑器:UltraEdit32或者CrystalTile2 。本次教程使用CrystalTile2为例。
3.68K指令集和教程法:主要是查看debug后指令的大概意思。如果你想深究MD  hack,想让hack变得更加有灵活性,建议是学习这些。
4.干净的rom:备份一下总会有好处的。
5.反防盗版补丁:由于一些游戏修改完后会因为防盗版系统,会让模拟器进行不了游戏,只要打补丁就可避免防盗版系统。(本人纯属YY)
6.创建记事本:用来记搜到的地址和功能的。


用实战来示范:
目的:修改飞鹰的【炎杀黑龙波】不消耗灵力。



1.
首先找2p灵力的ram地址:打开已经备份的干净rom,点击tools打开 ram search。勾选2bytes和hexadecimal。虽然界面全是英文,但查字典就差不多能用。之后2P选择飞鹰。


从金手指列表上看的话,2P的灵力地址是90B8。这次就用RAM搜搜看这个地址。(你也可以让1P选择飞鹰,那样的话1P的地址也会不一样。)



选完人物之后点击RAM search的reset(重置)。我们先想一个思路,数据表示为0的话是不是说明没了?这么说游戏一开始灵力的是有数据的,用着用着变为0。
所以我们勾选less than(小于) 和 previous(前置)。这样刚得到的数据会比先前的会小,能符合刚才的思路。




让飞鹰消耗灵气,每次消耗后点击 search。如图地址会从36864一直减少。之后会得到以下的数据,如果没找到的话再点击reset 重新找。你会看到90B8 的地址,这说明你成功找到了。你可再消耗或者加灵气来验证地址找没找对。




之后排除其他的地址:不消耗灵力的话灵力的地址的数据是不会变。那样可以删掉其他正在变的地址,点击clear change counts(**变化数据)。之后点击变化的地址进行eliminate(删除)。





再用其他方式,如奔跑,跳跃,出拳等方式在不消耗灵力的情况下用刚才clear change counts  的步骤排除掉其他的地址。之后反着来用灵力消耗的方式再进行排除。




之后会剩下两个地址。可以出招仔细观察,虽然两个地址得到的灵力数据一样,但其中一个是减得缓慢,另一个是直接减。这么说减得缓慢的地址是消耗灵力的动画,所以得到00FF90B8的2P灵力地址。之后用记事本记下来这个地址




2.
只得到RAM地址是不够的,我们还得找触发这个ram的rom地址,才能对rom进行修改。所以我们得用到debug工具。
先让2P耗血发出邪王波打到自己身上,之后进行保存(file-save state 快捷键为shift+1)。






打开tools---打开M68K debug,这个工具可以让指定的地址数据产生变化时,让游戏停止而得到指令和rom的地址。这些得到的指令得在68K指令集里查看才能明白其意思。其实还有其他功能,但掌握的还不太熟练。
点击ADD输入刚才的地址,勾选enable(激活)和write(写)。由于寻找刚才的地址00FF90B8使用2bytes找的,得到的数据是00DF,严格的来讲的话908B的数值是没变,变的是90B8后面的值90B9,所以输入为00FF90B9。(前面两个0不写也可以)。点击OK




之后会弹出来指令和地址(0140B0),绿色表示的是让RAM地址数据产生变化的相关ROM地址。
Run是可以让游戏再进行,如果碰到相关的地址又会停止。
我们用刚才得到的地址在十六编辑器查看。





打开tools---点击 hex editor,在hex editor 界面点击region---点击rom。之后点击view----goto---输入 FF0140B0 (前面必须加FF 否则搜不到)。之后会得到这串数据。




这么说04 A8是 subi.l的值,而后面是00 00 50 00 是我们得要修改的值。之后我们在HEX editor里把点击05 改成00。




我们回到游戏进行测试之前,要把debug里的地址的激活给取消掉,X会消失(双击地址就可)。之后再点击run测试看看。(取消X后还可以不停地读取来测试---快捷键为1)如果飞鹰的灵力不掉的话说明你成功了。之后记到记事本并注释,以后方便查询。




3.
打开十六进制编辑器CrystalTile2,打开游戏的rom,ctrl+F进行搜索,输入00 00 50 00,不停的查找下一个找到0140B0的地址为止。(更好的方法是把0140B0的地址的一串数据复制后再找,这样更快)。找到后把05改为00,点击保存。




4.
打开反防盗版软件,打开修改的rom,点击edit—write rom,点击edit----fix checksum。两次弹出来小窗口后关闭。




之后用模拟器打开游戏进行测试,成功了说明修改成功了。










也可以试下:不眩晕和阵的大招旋转后不眩晕的修改。
以下仅供参考:
不眩晕RAM地址:FF907F
不眩晕rom地址:01F42F    7E→10
阵的大招眩晕rom地址:01A291 84→85  



Hack游戏最重要的是思路,比如作者在在这个环节如何用数据来表达的?如果知道68K的指令和原理的话能省去不停地gaishuzhi的时间。

工具.rar (152 Bytes, 下载次数: 41)





评分

参与人数 2人气 +22 收起 理由
再不斩与白 + 20
klaus + 2 很给力!

查看全部评分

回复

使用道具 举报

签到天数: 1266 天

[LV.10]以坛为家III

17

主题

811

帖子

2757

积分

LV 9.会员

积分
2757
7#
发表于 2020-6-30 07:42:04 | 只看该作者
好厉害,好复杂,没看明白,怎么办
回复 支持 反对

使用道具 举报

签到天数: 624 天

[LV.9]以坛为家II

607

主题

1万

帖子

2万

积分

LV 15.会员

深情是我担不起的重担,情话只是偶然兑现的谎言!

积分
29299

游聚十周年

QQ
6#
发表于 2019-10-30 19:24:23 | 只看该作者
好帖必须支持
回复 支持 反对

使用道具 举报

签到天数: 287 天

[LV.8]以坛为家I

48

主题

529

帖子

1675

积分

LV 8.会员

积分
1675
5#
发表于 2019-10-30 19:10:43 | 只看该作者
                    
回复 支持 反对

使用道具 举报

签到天数: 1 天

[LV.1]初来乍到

228

主题

881

帖子

3770

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3770
地板
发表于 2019-4-27 21:24:36 | 只看该作者
厉害 虽然看不懂
回复 支持 反对

使用道具 举报

该用户从未签到

47

主题

97

帖子

384

积分

LV 6.会员

积分
384
板凳
 楼主| 发表于 2019-4-27 18:41:57 | 只看该作者
hydrowizard 发表于 2019-4-27 11:59
支持技术贴,感谢月神的教程~

感谢支持~
回复 支持 反对

使用道具 举报

签到天数: 1 天

[LV.1]初来乍到

55

主题

149

帖子

453

积分

LV 6.会员

积分
453
沙发
发表于 2019-4-27 11:59:02 | 只看该作者
支持技术贴,感谢月神的教程~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

     
    Archiver|手机版|小黑屋|( 沪ICP备12034951号 )

GMT+8, 2024-12-22 22:24 , Processed in 0.292899 second(s), 35 queries .

© 2001-2011 Powered by Discuz! X3.1

快速回复 返回顶部 返回列表