求助疾风和悠然这个GBA游戏的HP和命数地址,本人找了很久不对。
本帖最后由 火影迷 于 2013-2-26 19:11 编辑求助这个GBA游戏的HP和命数地址代码,本人找了很久不对,希望疾风大哥帮下忙。。。这个地址是不是有位移。。
不是二代,是一代绝版的,很多人不知道,我附上图,
羊妈妈!叔想你啊 疯人院的不要在这里。{:4_93:} http://222.184.85.212:7676/forum.php?mod=viewthread&tid=98097&highlight=%C8%CC%D5%DF%C9%F1%B9%EA1%5BH%5D 谢谢您的解答,但是不是我要的你发的是二代的,。我这个是稀有的忍者龟1代。。。怪我没有发图,, 本帖最后由 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:10 编辑
不行这个,需要GBA调试器能断点的这个是EC的无效,我需要VBA的 这个游戏果然有点奇怪,重新用VBA搜索后,HP与隐身时间的地址分别是:020030ED与03005694。可是用NO$GBA Debug版对HP地址020030ED下断点却无法断下;而对隐身时间地址03005694下断点却能成功,且修改相应的ADD指令后可实现无敌效果。
再次用EC搜索16bitHP时发现020030EC(即前一位)也在搜索栏里,联想到分数是内存数值X100后再显示到画面上的,难道HP数值默认是2字节存储的?回到NO$GBA Debug版对020030EC下断点,这次成功断下。可是由于本人GBA汇编基础太差,即便断下也无法看懂相应的代码,更不谈分析相关跳转了。
那么,以上为本人一点研究心得,希望能对楼主打开突破口有所帮助。
......henqiguai很奇怪吧 你生日真多
按键地址
041F8E
041F96
04566E 你咋个是什么的代码。。。 本帖最后由 银河漫步 于 2013-2-28 10:24 编辑
这游戏用到了公用代码
找HP的相关跳转即可 本帖最后由 银河漫步 于 2013-2-28 10:36 编辑
zsyf 发表于 2013-2-26 21:03 static/image/common/back.gif
这个游戏果然有点奇怪,重新用VBA搜索后,HP与隐身时间的地址分别是:020030ED与03005694。可是用NO$GBA De ...
这游戏是公用代码处理
而且是多参数公用的那种
非敌我公用
所以不能用我ce教学的那种处理办法
要逆向找跳转
在看了银河大的《GBA游戏Romhack视频教学》后,除了用教程中所演示的恶魔城来实践相关操作外,最近还想找其它游戏来练练手,哪知正好遇上楼主所发布的游戏,一试之下居然被难住了。想不到几天之后,版主和银河大都相继出动,高手出招果然不同凡响,一下子就搞定了。
不过,出于想进一步学习的原因,希望银河大将实现“生命不减”的过程及思路更为详细讲解一下,例如020030ED为什么断不下来、此游戏的生命地址到底是多少等等。另外,该游戏也吸引版本出手了,其中版主所使用的是组合键恢复生命的初始值。由于视频教程中只讲解了单个按键如何控制跳转的走向,如果可以的话,还请顺便讲解一下版主所实现的这个功能,即:如何控制组合按键往指定地址写入指定数值。
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不减少 EC没用我试过了 让银河大说中了,果然没能看懂。由于目前对Debug的相关功能、操作等都还不太熟悉,导致调试时缩手缩脚。从说明来看似乎涉及到分析CALL了,难怪我在调试时怎么也找不到SUB或ADD这样的运算代码。看来此类游戏以本人目前的水平暂时还没有能力解决,还是先去找那些类似《恶魔城》那样不需分析参数、CALL的游戏打牢基础吧。感谢银河大的热心解答,期待后续有关GBA或SFC方面的HACK教程。 本帖最后由 火影迷 于 2013-2-28 19:02 编辑
我想要GBC HACK。。高手请加我的群这里都是高手群 号:110790512
页:
[1]