EMU618社区

 找回密码
 立即注册
搜索
查看: 1145|回复: 10

[求助] 请教HACK大侠,求如何HACK FC游戏生命数的教程?

  [复制链接]

签到天数: 1773 天

[LV.Master]伴坛终老

发表于 2012-5-2 16:04:03 | 显示全部楼层
魂斗罗命数是在标题画面按START键进入游戏后才会被写入到内存,你现在大概知道是在什么时候下写断点了吧。
0 Z- q3 ]+ ~; D5 S% a" y: k3 U
9 f: c! o! E0 ]) ]+ e$ M3 x有的游戏初始数值是在载入ROM后或重启游戏后写入到内存。
[发帖际遇]: 疾风之狼 在网吧通宵,花了 1 个 柠檬. 幸运榜 / 衰神榜

签到天数: 9 天

[LV.3]偶尔看看II

 楼主| 发表于 2012-5-2 02:17:48 | 显示全部楼层 |阅读模式
       看了不少HACK的教程,如HACK魂斗罗中,只是教了怎么使生命无限的修改,很想知道如何修改初始生命数。/ S# P; K5 X% F, C: P9 D
    如魂斗罗生命地址是0032, 但在UE中就找不到这个地址,不知道怎么修改,望哪个大侠能教一下,在下谢谢了!!!
* a  D7 O% s( R( _3 D/ D    也希望能通过这个方法举一反三,能修改别的游戏。

签到天数: 9 天

[LV.3]偶尔看看II

 楼主| 发表于 2012-5-3 11:23:47 | 显示全部楼层
那么是不是这个意思:) a/ u, t" p$ C6 [
还是以32为断点。在在标题画面按START键中断游戏,是不是可以得到游戏初始生命地址,然后再用UE修改吗?9 r0 h7 ?( V* W9 l4 x6 s! r

签到天数: 9 天

[LV.3]偶尔看看II

 楼主| 发表于 2012-5-3 11:27:08 | 显示全部楼层
要是能有个这个类似的教程就好了,比如修改人数到99人,因为是初学者,只学会了怎么改无限生命,还是想学下怎么改人数,谢谢了!!!

签到天数: 97 天

[LV.6]常住居民II

发表于 2012-5-3 12:47:53 来自手机 | 显示全部楼层
本帖最后由 13635289268 于 2012-5-3 12:48 编辑
9 {- m; j% o# x2 c+ S
中华大仙 发表于 2012-5-3 11:23
4 Q1 {' S8 l5 C. d- v) [6 q那么是不是这个意思:
* W8 e  q8 v0 Z, h1 Q9 ?还是以32为断点。在在标题画面按START键中断游戏,是不是可以得到游戏初始生命地址, ...
" E* B: p6 K1 h# X& }( x! B  t& V7 \
' ?3 F8 q; Y+ D$ m, M2 N; Z+ |
对,用0032下断点,然后开始,debug暂停后5 ~) t$ j3 c- }5 Z& j. Y
去这条指令上面几条找初始人数(游戏给角色的赋值),修改这个值,就可以修改命数了

签到天数: 9 天

[LV.3]偶尔看看II

 楼主| 发表于 2012-5-4 12:15:29 | 显示全部楼层
     呵呵。在别的网站上的截图得到一点提示(不过那个游戏的魂斗罗是美版的,不是日版的,所以他说的那个461C地址在日版中找不到,也没说这个地址是哪来的),参照发图中,在UE中搜索39 A9 02 A4 24字串,然后将02改为63,运行游戏的确变成了99人,但这个地址到底是怎么调试出来的就不知道了,有没有高手说说啊!!!

签到天数: 97 天

[LV.6]常住居民II

发表于 2012-5-4 12:54:10 来自手机 | 显示全部楼层
本帖最后由 13635289268 于 2012-5-4 12:58 编辑   ]" T9 O6 Z7 N. E; T% g
中华大仙 发表于 2012-5-4 12:153 r9 q5 [/ E- L! P( ^- r$ i
呵呵。在别的网站上的截图得到一点提示(不过那个游戏的魂斗罗是美版的,不是日版的,所以他说的那个4 ...

$ M5 P) N  u. q( x, w7 w1 T, c8 O0 @# @5 b5 `, K- Q. h& L
这个我很早就改过一个版本,就是1代2代每关限定30命版,我网盘有下载,调试方法还是那样,看来你断点下的有问题,你可以一打开游戏就下断点,然后再分析,把断点停下的指令列表向上拉,看看是如何赋值

签到天数: 9 天

[LV.3]偶尔看看II

 楼主| 发表于 2012-5-3 17:34:24 | 显示全部楼层
失败了,按START键中断游戏后,得到地址后参数:95 00    进入内存,在UE中找到这个整排数值的地址,将其改为95 63或63 00 等几次组合,保存后再开游戏,游戏就打不开了,好像还是学艺不精,再求指导,谢谢!!   

签到天数: 97 天

[LV.6]常住居民II

发表于 2012-5-3 17:41:06 来自手机 | 显示全部楼层
本帖最后由 13635289268 于 2012-5-3 18:34 编辑 : q8 I0 f6 t/ F, A, }/ I) i
中华大仙 发表于 2012-5-3 17:347 m; h$ l4 ?, t9 T
失败了,按START键中断游戏后,得到地址后参数:95 00    进入内存,在UE中找到这个整排数值的地址,将其改 ...
! ~% k% V  m) ]; i  ?9 B! @) G+ [0 l  t

8 g5 q& o  V. d) kdebug跳下一条啊,既然是32那就有可能周边有993200、9532、8532,系统给游戏赋值,初始三命,那前面就是02,你试试

签到天数: 9 天

[LV.3]偶尔看看II

 楼主| 发表于 2012-5-4 10:16:40 | 显示全部楼层
不行,得到C30b: 95 00    STA $00,X    @  $0032   周围没有993200、9532、8532,游戏赋值。4 I! N. |3 z# o5 ]# O
没得玩了。
% V4 d7 B. j. I- N

签到天数: 9 天

[LV.3]偶尔看看II

 楼主| 发表于 2012-5-5 14:10:00 | 显示全部楼层
     已经调试成功了,根据楼上朋友的提示,在断点后向上找一找,可以找到95 02这个地址后的命令:LDA @ $02这个语句,可能是将02这个值加入寄存器X,使值等于2,也就是3条命,在内存中找到地址复制,然后在UE中修改02这个值可以改变生命数。
9 Q9 b. K: O' G" x   通过经验,95这个数值可能是赋值命令,也许和D6这个减值命令差不多,我在另一个游戏中也通过95 02这个数值找到地址,修改了游戏的生命数。3 P% M2 L) {! h+ f+ G% }  I) G% P
   在此感谢疾风之狼和楼上多次帮助我的朋友,谢谢了!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|国治模拟精品屋 ( 沪ICP备15012945号-1 )

GMT+8, 2024-11-19 10:30 , Processed in 1.062500 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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