火影迷 发表于 2013-2-24 10:44:15

求助疾风和悠然这个GBA游戏的HP和命数地址,本人找了很久不对。

本帖最后由 火影迷 于 2013-2-26 19:11 编辑













求助这个GBA游戏的HP和命数地址代码,本人找了很久不对,希望疾风大哥帮下忙。。。这个地址是不是有位移。。

不是二代,是一代绝版的,很多人不知道,我附上图,

华阳夫人 发表于 2013-2-24 12:13:15

羊妈妈!叔想你啊

火影迷 发表于 2013-2-24 14:18:36

疯人院的不要在这里。{:4_93:}

湘西小人物 发表于 2013-2-24 15:11:54

http://222.184.85.212:7676/forum.php?mod=viewthread&tid=98097&highlight=%C8%CC%D5%DF%C9%F1%B9%EA1%5BH%5D

火影迷 发表于 2013-2-24 15:53:19

谢谢您的解答,但是不是我要的你发的是二代的,。我这个是稀有的忍者龟1代。。。怪我没有发图,,

zsyf 发表于 2013-2-25 10:48:43

本帖最后由 zsyf 于 2013-2-25 23:59 编辑

为方便大家下载,特把楼主的ROM重新上传了一份网盘以节约大家的柠檬。

1213 - Teenage Mutant Ninja Turtles
中文名称: 忍者神龟
游戏产地: USA
发 行 商: Konami
发布组织: Hyperion
游戏类型: ACT
记忆方式: EEPROM
容量大小: 64
语种: 中文汉化版

简介:

《忍者神龟GBA版》是一款快节奏的打斗游戏,
发售于2003年10月21日,是《忍者神龟》在GBA平台
上的第1部作品,《忍者神龟》的粉丝千万不要错过了。


图文攻略:

http://gba.cngba.com/gl/3432.shtml

ROM下载地址:

http://pan.baidu.com/share/link?shareid=328639&uk=2083477867

由于时间关系只是稍为研究了一下,使用工具为VBA 1.7.2中文版,Emucheat2010,以下是EC地址:

分数(X100=当前内存数值):00312D

HP(初始满值48H_72D,锁定即为不死):0030ED

隐身时间(初始为0,锁定一个较大的数值即可无敌):045694

如果楼主想静改了到其它媒体上玩,请参考银河漫步大大最近出的GBA HACK视频教程自行修改。

火影迷 发表于 2013-2-26 00:09:17

本帖最后由 火影迷 于 2013-2-26 00:10 编辑

不行这个,需要GBA调试器能断点的这个是EC的无效,我需要VBA的

zsyf 发表于 2013-2-26 21:03:43

这个游戏果然有点奇怪,重新用VBA搜索后,HP与隐身时间的地址分别是:020030ED与03005694。可是用NO$GBA Debug版对HP地址020030ED下断点却无法断下;而对隐身时间地址03005694下断点却能成功,且修改相应的ADD指令后可实现无敌效果。

再次用EC搜索16bitHP时发现020030EC(即前一位)也在搜索栏里,联想到分数是内存数值X100后再显示到画面上的,难道HP数值默认是2字节存储的?回到NO$GBA Debug版对020030EC下断点,这次成功断下。可是由于本人GBA汇编基础太差,即便断下也无法看懂相应的代码,更不谈分析相关跳转了。

那么,以上为本人一点研究心得,希望能对楼主打开突破口有所帮助。

火影迷 发表于 2013-2-27 19:15:31

......henqiguai很奇怪吧

湘西小人物 发表于 2013-2-27 21:18:17

你生日真多

按键地址
041F8E
041F96
04566E

火影迷 发表于 2013-2-28 08:54:08

你咋个是什么的代码。。。

银河漫步 发表于 2013-2-28 10:15:03

本帖最后由 银河漫步 于 2013-2-28 10:24 编辑

这游戏用到了公用代码

找HP的相关跳转即可

银河漫步 发表于 2013-2-28 10:31:11

本帖最后由 银河漫步 于 2013-2-28 10:36 编辑

zsyf 发表于 2013-2-26 21:03 static/image/common/back.gif
这个游戏果然有点奇怪,重新用VBA搜索后,HP与隐身时间的地址分别是:020030ED与03005694。可是用NO$GBA De ...

这游戏是公用代码处理
而且是多参数公用的那种
非敌我公用

所以不能用我ce教学的那种处理办法
要逆向找跳转

zsyf 发表于 2013-2-28 15:48:19

在看了银河大的《GBA游戏Romhack视频教学》后,除了用教程中所演示的恶魔城来实践相关操作外,最近还想找其它游戏来练练手,哪知正好遇上楼主所发布的游戏,一试之下居然被难住了。想不到几天之后,版主和银河大都相继出动,高手出招果然不同凡响,一下子就搞定了。

不过,出于想进一步学习的原因,希望银河大将实现“生命不减”的过程及思路更为详细讲解一下,例如020030ED为什么断不下来、此游戏的生命地址到底是多少等等。另外,该游戏也吸引版本出手了,其中版主所使用的是组合键恢复生命的初始值。由于视频教程中只讲解了单个按键如何控制跳转的走向,如果可以的话,还请顺便讲解一下版主所实现的这个功能,即:如何控制组合按键往指定地址写入指定数值。

银河漫步 发表于 2013-2-28 16:59:30

zsyf 发表于 2013-2-28 15:48 static/image/common/back.gif
在看了银河大的《GBA游戏Romhack视频教学》后,除了用教程中所演示的恶魔城来实践相关操作外,最近还想找其 ...

我只是今天路过正好看到
所以稍微调试了下
数据断点下断要下入口地址

所以是020030EC,而不是ED,因为对应指令的入口就是EC

至于思路...我不确定你是否看得懂
找到指令后因为是参数共用的
你可以下指令断点,然后有选择性的断下,比如HP减少时的断下(因为能量减少、分数变动也会断下来)
然后执行到返回

发现返回的地方的前面的语句还是参数公用语句
于是又选择性的再使用指令断点执行到返回

即可找到有关HP参数的函数Call,变更传递参数
比如HP减少时
传递r0寄存器给Call(也就是bl xxxxxxxx)
r0是一个负数
于是我们在调用Call时
把r0清零
当然不好的地方是
HP虽不会减少,但也不会增加了
这里想要只加不减就需要跳转来判断r0了

这样就可以避开能量、分数等对那段函数的公用,而只使得HP不减少

火影迷 发表于 2013-2-28 18:59:01

EC没用我试过了

zsyf 发表于 2013-2-28 18:59:44

让银河大说中了,果然没能看懂。由于目前对Debug的相关功能、操作等都还不太熟悉,导致调试时缩手缩脚。从说明来看似乎涉及到分析CALL了,难怪我在调试时怎么也找不到SUB或ADD这样的运算代码。看来此类游戏以本人目前的水平暂时还没有能力解决,还是先去找那些类似《恶魔城》那样不需分析参数、CALL的游戏打牢基础吧。感谢银河大的热心解答,期待后续有关GBA或SFC方面的HACK教程。

火影迷 发表于 2013-2-28 19:01:41

本帖最后由 火影迷 于 2013-2-28 19:02 编辑

我想要GBC HACK。。高手请加我的群这里都是高手群   号:110790512
页: [1]
查看完整版本: 求助疾风和悠然这个GBA游戏的HP和命数地址,本人找了很久不对。