seenfar 发表于 2007-12-22 11:01:37

关于Hack rom问题

我用带debug的FC模拟器FCEU 0.98.12.win修改重装机兵rom,断点地址设在了$0c5d(金钱)位置,可当钱减了之后,debugger停不下来,请问是什么原因?是模拟器问题,还是我的操作有问题?想问下高手们修改重装机兵用的是什么模拟器,能不能告诉我,我刚学的,什么都不懂,望能不吝赐教!谢谢!!!

小粽子 发表于 2007-12-22 12:38:09

$0c5d

楼主是输入这个?

输入0c5d试试?
我不知道这游戏的地址是多少,但是$0c5d多了一个符号,很明显是不正确的格式

seenfar 发表于 2007-12-22 12:57:59

$是表示十六进制,我只是在这里这样表达而已,我输入的时候当然没加这个符号了!

小粽子 发表于 2007-12-22 13:43:41

我也去试了下,发现模拟器没有中断,看来只好等高人来解答了...:( :L
虽然这方面我不会改,不过我记得改钱好象是在游戏一开始用READ方式来找断点,然后修改初始金钱~

seenfar 发表于 2007-12-22 15:08:28

一般地游戏一开始都会给金钱,生命,等级等赋初始值,用write方式可以使游戏中断,可是这个游戏read,write方式我都试了,都无法找到断点,真的很奇怪!!!

qqzhal 发表于 2007-12-22 19:05:31

这个用645d作断点试试看
具体的我也说不清楚;P

seenfar 发表于 2007-12-22 20:28:46

楼上确实高手!$645d已不属于游戏数据存放内存范围,用read方式来设断点(正如小粽子所言),果然在断点处发现了金钱的踪迹,虽然我看不懂汇编,但我看数值确实是在减钱。
不过有个很大的疑惑就是不知道楼上兄弟提供的断点地址$645d是如何得来的???而金钱在游戏运行时的存放地址$0c5d是可以从金手指中得到!!!!

seenfar 发表于 2007-12-22 21:20:39

研究了下,发现重装机兵的金钱经过读取—运算—写入地址,最后是存入了$645d、$645e和$645f 这三个连续的内存地址上。但在金手指上的是$0c5d、$0c5e和$0c5f这三个地址,我用EC进行修改验证金手指确实是正确的,为什么用debug跟踪的时候金钱地址却跑到$645d去了,这跟$0c5d有什么联系系吗?(其中EC能看到的地址是从$0000~$27ff)
谁可以帮我解开这个疑惑?

seenfar 发表于 2007-12-23 17:31:35

:'( :'( 各位好心的大侠,帮帮忙啊!!!!!!:'( :'(

seenfar 发表于 2007-12-24 21:52:46

哎!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

yunduolan3 发表于 2007-12-25 15:26:47

原来HACK也是一种乐趣
页: [1]
查看完整版本: 关于Hack rom问题