EMU618社区

 找回密码
 立即注册
搜索
查看: 81113|回复: 23

[原创HACK教程] 菜鸟NES HACK简单教程!图多杀猫!慎入!(2009.10.14修正)

 关闭 [复制链接]

签到天数: 1834 天

[LV.Master]伴坛终老

发表于 2007-4-21 05:26:54 | 显示全部楼层 |阅读模式
注意:转载请注明本人名字和文章出处!
% N: C2 x: R# I2 R9 f, R7 x9 X+ `7 n6 ^  x8 B# N6 A) y
菜鸟NES HACK简单教程(偶应N多人要求才做这个教程,有错误请指正:L )( X/ U1 Z7 A% I  _
) ], L& d2 C. ?, H- ~9 S
NESHACK相关资料下载:http://bbs.emu618.com/forum/viewthread.php?tid=12675&extra=page%3D2- |9 [; ^4 `& P. b0 d3 f+ Q& x! Y( i

1 B; j0 D. i7 _. m1 D6052汇编大奥秘(详细介绍FC的汇编语言,推荐下载):http://bbs.emu618.com/forum/viewthread.php?tid=20393&extra=page%3D12 [3 A( v; Y2 N

( F2 i5 C$ F, m4 `! ]开始之前先说几句废话6 z4 ?0 ~  n$ c* {
( S6 B8 j) a! F% j1 @! }
第一,HACK之前先了解一下6502汇编指令,NES相关资料里有指令集说明文档,如果你看不懂英文的话就下载《6502汇编大奥秘》,里面有指令中文说明........^_^+ y+ o8 `9 Z) W( A6 H. K

' V4 Z# q: g$ b4 x$ [个人建议:没必要把6502全部汇编指令硬背下来再跟踪调试,那样会很累,你可以一边调试一边查询指令说明.......
3 L& O3 t3 ^+ C* c# r# V1 |& ], K( E
, T6 m- {( v# C1 r第二,还需要准备一些工具:NES调试跟踪工具(VirtualNes Debugger版或者no$nes-w、FCEUXD SP等NES调试跟踪工具)、十六进制之类编辑工具(Winhex或者UltraEdit32)4 r8 ~# ^$ w  ?! Z2 e7 ^+ x
5 H4 f# V, J" n3 I1 k% J
第三,了解修改步骤:
9 _9 g- z' k, s6 ?1、首先要确定你要修改什么。连要修改什么都不知道,那怎能谈上修改呢。
0 R3 S9 o$ d" N5 T2、获取作弊码,换句话说就是要获得要修改数据的地址。推荐使用EC,这个软件自带作弊码和跟踪修改功能。4 u, ]4 L7 J+ ]2 v; u9 e$ _) G
3、获得指令代码及其在Rom中的地址。一般通过VirtualNes Debugger版或者no$nes-w、FCEUXD SP等NES调试跟踪工具,再配合内存查看和十六进制之编辑工具确定指令以数据方式储存在Rom中的哪个地址。
6 Q( ~2 h- K1 E: N; K! R$ P% }4、修改相应指令或数据。一般来说要做尽量少的修改,而且不能让程序运行出错。
& E* K* D6 S% O) f. _4 Z8 h5、测试游戏运行情况,看游戏能不能按照你修改目的正常运行。0 f* s% X! C' }  B4 @+ i5 }
& k0 ~; l! Q) i+ \3 r' C
第四,偶以日版《赤影战士》和VirtualNes Debugger版来为例子教大家如何HACK:' r/ z  n" w5 [, c+ S: a  I5 J3 H
1 }# s9 S- [; [+ o8 r
偶需要修改的数据:暗器数不减,放雷电必杀不减血,被敌人攻击不减血,一开始拥有99颗暗器雷6 T! U4 b) {; G5 b: ^- e1 i) C9 z

& k5 P2 B$ w) y) Q  |5 \1、获取作弊码,这个好容易得到,EC这个软件附带N多作弊码,省去自已手工查找作弊码了。^_^
" G! t" B6 l4 L; u[P1 生命值]
9 P" ?4 H/ `7 S& k' E) Y% hON=6F0,10
/ m( i% ~9 V( F7 b
/ r+ Z4 `, j4 P8 I) l& L6 u3 y[P1 暗器数量]8 \! r5 \. q: Y$ h6 q( {7 o
ON=662,FF
. g+ g: Q, [2 i3 D. ~
' X" b  t' Q8 C2 a- f[P1 武器种类]& D9 x- w) A7 @
刀=6B2,08 G2 I; i0 k* U
ON=6B2,3
; ?1 z0 y5 ^$ b$ @) }! Y6 r6 a5 H- [" p! k
[P1 武器威力]
; {0 n+ K' c9 V3 y( ?1 s+ hON=680,FF
& N3 m/ [5 \$ F$ S% ]5 u
& S, z/ ^" s# a* D( T[P1 暗器种类]' t, v5 T8 G2 c2 i
标=671,0
& Q+ m, }" k, N2 S& J雷=671,1
2 O8 k4 _' Q: Q$ s
; x3 @. U5 j! ?! K# a4 \+ I[P1 隐身]
6 }4 v& I/ `1 N5 v) D) n, v+ gOFF=0000,07 q" j8 C& g: ~* g/ j" d, t, F
ON=601,4C
: G+ N1 c* I/ q5 S% f& I
  O  z7 \, e; y- s[P2 生命值]
5 Y, j/ b1 ]9 W0 B6 O% L% hON=6F4,10/ D/ ?) b4 [8 j1 f& L
4 Y0 f2 [4 [) k# V8 q
[P2 暗器数量]
6 U  f8 z0 n' ~ON=666,FF/ \6 a' i; f% K  D& o  A( M

# z+ m0 n& v$ D/ V7 r& k/ _- e  N[P2 武器种类]0 p. m  t, @& P2 Y6 U
刀=6B6,06 F# e8 P6 y) K$ q7 v
ON=6B6,3  L, G  ]$ u# b9 ~
& Q/ |) Q+ _1 ^2 @$ `) q
[P2 武器威力]3 T: S5 ?% |- p
ON=684,FF$ s7 ?; q' ]2 i- a; {/ L+ \

# J# {7 e1 v# D- n8 j0 D( l[P2 暗器种类]
" s3 O' k, V' s  r标=675,0
% r1 y. [- D; W6 i雷=675,1$ X. |( S1 S% {; E% C+ q
. ]3 e) l1 h8 T, k
[P2 隐身]
. A1 d2 s1 E7 x3 B; c: ^OFF=0000,07 F4 f  I! \5 F: N, Q0 K% G: @0 F
ON=605,4C' q% D, w4 d2 r8 F- ^5 e6 N
& V7 r: m. H6 ^* X. \4 r
[GameInfo]' g' I; ~8 \% g8 r* m5 u3 S, q
Name=Shadow of the Ninja (FC/NES)- s" `: O$ L) y, w& I
System=FC
3 h$ X. S' E$ v5 zText=赤影战士(水上魂斗罗),双人、动作游戏,由大胖子提供!; q4 @5 x4 R# A0 V- Y- ^" Z9 r1 k( N

+ n: U9 y* B+ H0 v" h' n[ 本帖最后由 疾风之狼 于 2009-10-14 15:09 编辑 ]

评分

1

查看全部评分

签到天数: 1834 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-21 05:27:43 | 显示全部楼层
2、通过调试跟踪获取指令代码及其在Rom中的地址,并用16进制编辑工具修改ROM其中数据1 p" x! i4 J; r! _# f1 {2 x
偶按照暗器数不减,放雷电必杀不减血,被敌人攻击不减血,一开始拥有99颗暗器雷顺序来教大家如何跟踪调试修改:
: K) W8 v$ H5 r, ~; n4 ^. S$ C4 Y" S9 V0 ^2 U: W3 ?
(1)暗器不减:$ G7 b" R$ z5 s9 T

% B  `4 g6 ^2 M; w( F( Y首先打开VirtualNes Debugger并加载赤影战士日版ROM,如图1:* {; A; r8 N' U

* ?) u/ O/ D" Y) {# A+ g接下来游戏进行到获到暗器飞镖20个,如图2:5 e* K6 w- J! x& i
0 U2 y# b" u$ L, U! o+ ~
接下来开始跟踪飞镖数量,先打开RAM,再打开DEBUG,先打开DEBUG的话,不然RAM就用不来:如图3、图4:  b+ C4 h/ N6 Y/ ]! y1 q& I9 l7 G

* e0 P! `* s4 D* G先点暂停,根据如下面作弊码提供的暗器数量地址,如暗器数量地址是662,就在注释内出现后面方框中输入[0662](注:可以用这东东当条件断点),再点右边确定让游戏继续运行,如图5:8 {# r+ K) Y9 X4 M8 v4 H0 T' |, ]

5 C6 p/ M! @5 @& s[P1 暗器数量]
3 b6 k' }! A. I2 ]2 `0 l4 bON=662,FF1 W+ W7 {6 ?- Q. O& u- r1 F9 {
3 {3 l8 J" S3 G
使用一次飞镖,程序会发生中断停在B840这一行,如图6:
, U: i& Z- s8 P" B
" e  q# I6 F- ]" ?$ _' M3 RB840 : DE 6206 DEC $0662,X;[0662]-- =0x13# O7 B& M. d" u  h6 ?

: r, e" G! n- U# i) P" v查指令表得知B840这个地址DEC $0662,X指令作用是将0662+(X)=真正暗器地址的数值减1;既然这样,只要把这条DEC $0662,X指令改为LDA $0662,X就可以让暗器数量不减了。LDA $0662,X作用是把0662+(X)=真正暗器地址的数值读入寄存器A。(X)是寄存器X的数值。# ~/ Q8 e+ [& ]! O* _
举个例子:假设X寄存器数值是6,指令是“LDA $1234,X” 这条指令看上是将$1234地址数值读入寄存器A,但实际上$1234不是真正数值存放地址,1234必须加上寄存器X的数值才是真正数值存放的地址。1234+(X=6)=123A,LDA $1234,X指令应该是这样解释:将1234+(X=6)=123A地址读入寄存器A。" @3 I7 c/ B; O7 M, V& E
LDA xxxx,Y和LDA xxxx,X一样,不过寄存器X变成寄存器Y。
2 ]9 r7 ]: K4 S0 L8 s, p7 L$ r
+ f4 O( s0 M. E. O9 Q# d5 l查指令机器码得知DE是DEC - Absolute,X,BD是LDA - Absolute,X,注意寻区方式要一样....把DE修改为BD就可以不减暗器数量了。8 @& l5 w# d4 z" |
) Q; C, G# I, Z. s5 H0 X* }
注意:别把BD修改成其他LDA指令,这样会死机的,因为指令寻区方式不一样。
3 I3 l9 S6 `* z- B. p6 \/ @6 r8 c/ L( n# m
另外,有一些其他游戏是这样的:改为LDA $XXXX,X 那么就会破坏了寄存器A原来的数据了,后面的程序如果要直接用寄存器A的数值的话,那么就会造成游戏出错,如果后面的程序在用寄存器A的数值之前对寄存器A赋于新值就没事了。
6 }; q6 _9 `) p6 U% C6 g$ o3 c( w# h' t
接下来在RAM中找到B840:DE 62 06,如图7:' }( l4 I0 X# Z
# h  V8 q; m" h. X0 w/ b  {6 U" A" K! d
用笔纸抄下红框中数据,以便在查找,接得在RAM中把DE修改BD,如图8:
1 [* `2 L8 B* F- b- I) |
6 Z* w4 J& X9 x& Y3 ?& j% s关闭DEBUG和RAM,回到游戏中测试吓暗器数量是否不减,暗器不减了,说明指令修改成功。如图9:
8 t( O2 f. o3 s7 E% H: f! s  l6 }; h+ H2 Q
关闭模拟器,接下来用十六进制修改工具(如UltraEdit32)修改ROM,还记得之前用纸笔抄下的数据么?
! d9 j$ Q/ e+ ~% s: a6 a+ [- f
打开UltraEdit32,载入赤影战士ROM,编辑之前按一下Insert把插入方式设为覆盖方式,如图10:
" v3 T9 W. B# B" Z+ L; |: @6 H, ^
点击UltraEdit32“搜索”>“查找”,在弹出查找框中查找内容(N)后面方框中输入你用纸笔抄下的数据,再点“查找下一个”就能找到这个数据,如图11:) t8 g; n) y5 D+ G, ~6 D
7 ?! o; R: l+ i' z
如图12,结果出来,UltraEdit32高亮度显示你就是要找的数据,把DE修改为BD,再点“文件”>“保存”保存你修改结果。如图13:8 E' Z; m% q1 E$ H: _) u

5 G3 Q  n! D, h# \1 D( K6 p关闭UltraEdit32打开模拟器载入修改后的ROM测试暗器数量是否不减,不减的话说明修改成功了,如图14:  ]* @/ M  Y+ A* |" _& |
+ G# @) ^, Y% l0 x4 a& ^
暗器雷数量不减修改方法和暗器飞镖数量不减修改方法一样。就不再说了,留给大家练习一下。
. y7 x: d5 `0 P. N; n( H5 i
) b9 R; D# o1 R2 Y" d[ 本帖最后由 疾风之狼 于 2009-10-14 15:08 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

评分

2

查看全部评分

签到天数: 1834 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-21 05:28:36 | 显示全部楼层
(2)放雷电必杀不扣体力
" a& X1 o( [! s& `' c- G打开VirtualNes Debugger并加载赤影战士日版ROM,开始游戏,打开RAM和DEBUG,查询EC作弊码得知体力地址是6F0,5 ?+ G1 [8 B4 t5 A# J+ Q
2 G8 D, n# ~, |1 a6 _
估计大家看暗器不减HACK教学后就知如何设置断点跟踪,我就不再说了,设置好断点后,回到游戏,按紧B键不放使出雷电必杀,8 y1 G+ j% b4 s: T) n

& @8 @. h8 l: e$ B6 Q$ E/ U当雷电必杀发出时,程序中断,程序停在B6FC:9D F006 STA$06F0,X这行,如图15:注意B6F6:E9 08 SBC#$08这条指令,这条指令作用是把
1 V$ W. m: h. a5 A( A8 W: K) [) Q  N2 z, G3 E! x
地址06F0减去8,大家都知道赤影战士放雷电必杀后会扣去8点体力,而这个08正好是放雷电必杀所需要扣的体力,只要把08修改成00的话就不会扣体力。(当然你也可以修改成01,发必杀只扣1格体力啦^_^)
) ]$ }: s$ _/ ~# c' W4 d# H) H% x9 \4 a1 k$ l9 u$ b' \
转到RAM,找到B6F6:E9 08,把图中红色方框数据抄下,以便查找。如图16:把08修改为00就不扣体力了,如图17:关闭RAM和DEBUG,再重启游戏,再发动必杀,不扣体力的话说明修改成功了。
, C9 D4 O- ?2 U5 u8 |! k# `, j! M
' L! Y9 E9 q, c, b0 C$ l; S7 r- U如图18:关闭模拟器,打开UltraEdit32,载入ROM,编辑之前按一下Insert把插入方式设为覆盖方式,点击“搜索”>“查找”,查找之前抄下的数据,找到如图19的数据:把08修改成00,再保存退出,如图20:, b3 V/ a, l: }, N# J) I$ e
; y% ]) A* @% T8 }1 r8 s- t
再进模拟器打开修改后的ROM测试发必杀是否不减体力,不减体力的话说明修改成功。
1 ]' E( A' C3 N0 T1 t) K, F/ s
8 H* r' o; `' m/ zPS:跌落损伤修改方法和发雷电必杀修改方法一样,我不再说了,留给大家练习,方法设置好断点,再找个地方跳楼自杀(-_-),就能跟踪找到地址了......
9 Y/ z+ g8 C6 b' q( x. s: T- [0 V8 r) Z
偶找个时间再继续发如何HACK受攻击不减血和一开始拥有99个雷吧.......

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

签到天数: 1834 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-21 06:27:29 | 显示全部楼层
(3)受攻击不减血
* O; p  `( r; r* N0 B打开VirtualNes Debugger并加载赤影战士日版ROM,开始游戏后,打开RAM和DEBUG,同样用体力EC作弊码6F0来设置断点,设置好断点后,; I- m# |: u9 C/ W4 R2 m. ^

9 Q, \" C# e. M. T* x  A回到游戏被敌人打一下,当敌人攻击主角时,程序中断,程序停在AC69:9D F006 STA $06F0,X这一行,如图21: # ^7 B  t- f) v. [8 Q1 ^' E
! G0 N9 U" i1 U( n5 p% E2 v( y
注意AC69地址前面的AC63:E5 9D SBC$9D,这条指令作用将06F0,X地址数值减去009D地址数值。单单只将SBC指令修改LDA指令会有问题,偶考虑只有通过无条件转移指令(4C)再添加指令来达到不减血.....5 r6 |8 S' J3 c* k* O' B' c
! r4 T  d0 X' w: P9 b, m
首先抄下如图22的数据,方便查找:之后在RAM中查找寻找连续储存的0xFF,可以在前面也可以在后面,也可以寻找连续储存的0x00,注意的是00是中断指令,有时候修改了游戏会出错。看情况吧。一般选择在连续储存的00中段开始加入修改数据。/ a0 m; ?3 ~- J; ~- U4 f
5 d7 t8 |8 M; G7 L! u) m  D0 q: F5 [
偶在RAM后面FFC3~FFDF找到一些连续储存的FF,如图23红框中连续储存的FF,把FF前面的数据抄下,方便查找,接着测试吓这些FF是否能使用.....* d2 `# y6 A; X) Z

% K4 s/ w( G  Y0 J% C方法如下:; I* ]4 l, {: W- H! F
9 r5 f  Q# Y; |! A; S
在RAM中把AC69的9D F0 06修改为4C C4 FF,指令说明:4C C4 FF作用是跳转到地址FFC4继续执行,4C是无条件跳转,如图24、25:
  x5 v& K! N0 F3 @3 G+ j; {7 O3 ~( `7 q5 W, d1 Q
为安全得想,偶跳过第一个的FF,而在第二个FF开始输入9D F0 06 4C 6C AC,指令说明:9D F0 06是以X为偏移量,把寄存器A内容送入06F0,X地址中,4C 6C AC是跳转到AC6C继续执行,如图26:" z; O% s. k' L

6 y8 d# o) o6 O- Z- y7 J接下来关闭DEBUG和RAM,回到游戏看吓游戏是否正常游戏,能正常游戏说明地址能够跳转使用。如图27:
( |1 S/ ]/ L6 ~2 e0 |4 X1 S
9 `" f( \4 z' Y3 e5 l0 c6 l接下来打开RAM,在FFC4地址把9D F0 06 4C 6C AC FF FF FF FF FF修改为9D F0 06 A9 10 9D F0 06 4C 6C AC,如图28:
- p, h; u# L1 |- ~; E. M, o5 P$ e" z. C9 w6 X& j
指令说明:A9 10是把数值10读入寄存器A中,9D F0 06是以X为偏移量,把寄存器A数值10送入06F0,X地址中,4C 6C AC是跳回AC6C继续执行
+ n5 K+ \6 i! J0 f' U
" c6 {. g8 y2 e/ N/ h7 L- S% ?关闭RAM,看看游戏是否减血了,不减血说明修改成功,如图29:2 Q5 w0 z) S5 {7 I; `( f
$ j$ g  }( C: W) A) j2 A: O
接下来,打开UltraEdit32,载入ROM,查找上图22的数据,如图30:7 ^; z  t* j3 z/ n+ ~$ h
( w' s$ j& w- G! ?6 T; G* C3 r
找到把图中的9D F0 06修改为4C C4 FF,如图31、32:
+ B6 S% _9 D& p2 o( U. x" b: L% w/ e& |. M6 r
接着,查找上图23连续储存的FF前面的数据,比如上图23的连续储存的FF前面是20 86 A0 4C 22 EC,找到后,在20 86 A0 4C 22 EC后面的就是你要添加指令的连续储存FF,如图33:
/ R" c, c4 e' S' L8 u( z6 n3 m
% ~. o: t( _( K' v* m8 ]同样跳过第一个FF,而在第二个FF开始添加指令,如图34:
9 A5 b" m% z2 Y& n# k" R# J4 ?4 j(如果你真要在第一个FF开始添加指令的话也不是不可以;假设你是在第一个FF开始添加指令的话,那图32的4C C4 FF应该修改为4C C3 FF)
  Z( R4 F3 g5 Z9 ~2 j" E7 o/ z% P+ C! R
保存ROM,退出UltraEdit32,再进模拟器测试是否不减血,不减血说明成功了.....,如图35:
7 S: \% }% S9 Z/ p" O
6 L1 ?0 B1 |( ?[ 本帖最后由 疾风之狼 于 2008-12-1 12:24 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

签到天数: 1834 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-21 06:29:31 | 显示全部楼层
(4)一开始拥有99个暗器雷' G8 a* g  }+ C
首先要找到体力初始值,大家知道在赤影战士中体力初始值什么时候开始读取并放到06F0、06F4地址中?答案是在选择人物后。(注:06F0是对应1P体力值地址,06F4是对应2P体力值地址)4 Q( c2 m$ x1 O

7 Y/ N# F+ c; i要想在游戏开始后立即就有99暗器雷,必须在数据初始化后面加入暗器雷和暗器数量指令代码,如何添加指令代码?方法是上面的受攻击血不减方法一样,同样用无条件跳转指令4C再添加指令。
# j) V, e% F; @. s  `4 G# p" z. C  C
偶决定来教大家如何双人游戏时两人一开始拥有99暗器雷,打开VirtualNes Debugger并加载赤影战士日版ROM,选择双人游戏进入到选择人物后,打开RAM和DEBUG,用2P体力值EC码06F4地址来作为断点.....
) }5 C3 t6 d4 V4 V
0 @5 Z. ]- a& `设置好断点后,回到游戏中,按START选择好人物后,程序发生中断停在A2FC:8D F406 STA$06F4 :[06F4]=A=0x10这一行,如图36:,注意前面A2F7:A9 10 LDA#$10 :A=0x10这一行,这个指令说明是把数值10读入寄存器A,而A2F9:8D F006 STA$06F0 :[06F0]=A=0x10和A2FC:8D F406 STA$06F4 :[06F4]=A=0x10分别是把寄存器A数值读入06F0、06F4两个地址中(注:06F0是对应1P体力值地址,06F4是对应2P体力值地址)
4 \; s" q/ o- y
1 B% `) d7 a  ]# b& |A2F7:A9 10   LDA#$10  :A=0x10          -->把数值10读入寄存器A
  y9 m% @% j, ]; P0 oA2F9:8D F006 STA$06F0 :[06F0]=A=0x10   -->把寄存器A的数值送入06F0地址
& m0 y0 W" X! }$ D: sA2FC:8D F406 STA$06F4 :[06F4]=A=0x10   -->把寄存器A的数值送入06F4地址
7 S& t5 G9 x. ?3 {/ v8 p
3 n0 Z1 Z7 {0 j9 R6 t" @9 M在RAM中找到A2F7~A2FC地址,如图37:把图37中红框的数据用笔纸抄下来,抄多点,顺便把红框后边的A9 10 85 27 85 37 85 23 A9 90 85 29 A9 30 85 2D A9 19也一并抄下,目的提高查找准确率,接下来在RAM中查找一些连续储存的FF,偶懒得找了,还是用图23找到那个连续储存的FF来添加指令吧....
% d4 b6 F7 Y8 q; p6 b7 v" }5 N7 b4 f% W6 z: [* |
接下来在RAM把A2FC的8D F4 06修改为4C C4 FF,如图38、39:& q9 S; s9 c2 B7 A7 \
" O! @, ^1 I0 Y) x+ I
接下来拉到滚动条来到FFC3地址,偶还是跳过第一个FF,而在第二个FF(FFC4)开始添加指令:8D F4 06 A9 01 8D 71 06 8D 75 06 A9 63 8D 62 06 8D 66 06 4C FF A2,如图40:' ^* B+ p$ R6 @9 i, z# R
( N) o# x9 S; I8 \
指令说明:A9 01是把数值01读入寄存器A,8D 71 06是把寄存器A数值送入0671地址(1P暗器种类地址),8D 75 06是把寄存器A数值送入0675地址(2P暗器种类地址),A9 63是把数值63读入寄存器A,8D 62 06是把寄存器A数值送入0626地址(1P暗器数量地址),8D 66 06是把寄存器A数值送入0666地址(2P暗器数量地址),4C FF A2是跳回A2FF地址继续执行
5 @" W0 d' U" f5 j
- R/ i7 N2 K, V接下来关闭RAM和DEBUG,重启游戏,进入游戏后暗器数是99,按一下攻击,如果放的是暗器雷说明修改成功!如图41:
' i  p$ r, m) V1 d$ @2 U* \, i/ m! K  ~; K7 p4 d$ V
接下来关闭模拟器,打开UltraEdit32,载入ROM,查找你刚才用笔纸抄下的数据,找到后把8D F4 06修改为4C C4 FF,如图42、43:
8 d/ G) b* ^" r0 V  E
- ^' x6 Y: c; e; n; D' f/ l5 @% B接下来在找到上图33的连续储存的FF地方,偶还是跳过第一个FF,而在第二个FF开始添加指令,如图44:
% Y& x4 g0 }/ M- s" r. U
% G# c8 R. ?; w. f) r保存ROM,关闭UltraEdit32,打开模拟器载入修改好的ROM测试,如图45:如没什么意外发生的话说明修改成功!
+ a' k( Y  y, a" g4 J7 D
1 ]% P2 a. c2 @( v菜鸟HACK教程到此完成!以偶目前HACK水平来说还算是一只HACK菜鸟,没有和尚HACK技术那么厉害!:L

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
头像被屏蔽

签到天数: 5 天

[LV.2]偶尔看看I

发表于 2007-4-21 10:10:17 | 显示全部楼层
基本上已经看懂,正在HACK尝试中.............

该用户从未签到

发表于 2007-4-21 10:27:49 | 显示全部楼层

; t$ q$ V& L0 v$ F适合新手学习修改的教材

该用户从未签到

发表于 2007-4-21 10:53:42 | 显示全部楼层
好东西!谢谢楼主了!:chongbai: 辛苦辛苦!努力学习中!:lol

该用户从未签到

发表于 2007-4-21 11:11:37 | 显示全部楼层
最近还真打算想学一下hack游戏,真是感谢了 。:)
头像被屏蔽

该用户从未签到

发表于 2007-4-21 21:06:08 | 显示全部楼层
为了Hack事业,顶一个~:handshake

该用户从未签到

发表于 2007-4-22 11:17:10 | 显示全部楼层
疾风之狼大哥更新了:loveliness: / O' m$ `$ X5 R5 T; |
不减血的教材

签到天数: 1834 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-22 11:43:36 | 显示全部楼层
这个不减血教程用到无条件转移指令4C再添加指令,与前面只单单修改指令有所不同.....

签到天数: 110 天

[LV.6]常住居民II

发表于 2007-4-22 12:48:49 | 显示全部楼层
适合菜鸟的吗?:lol 疾风之狼加油:)

该用户从未签到

发表于 2007-4-25 12:30:19 | 显示全部楼层
呵呵 完成了,得好好学习3 k* D; C; N8 I8 o) B7 [, @+ C
xiaofa兄弟也在这啊

签到天数: 7 天

[LV.3]偶尔看看II

发表于 2007-11-3 09:46:39 | 显示全部楼层
教程在这里呢,支持一下老狼,加油:L

签到天数: 26 天

[LV.4]偶尔看看III

发表于 2007-11-5 21:46:57 | 显示全部楼层
终于可以自己去HACK简单的游戏了:loveliness: 6 G" }" U" Z) E: G$ a% r+ {
激动啊;P

该用户从未签到

发表于 2007-11-14 11:55:27 | 显示全部楼层
值得新手学习,此贴太好了,以后要是修改游戏先从此文入手。

该用户从未签到

发表于 2007-11-14 13:11:48 | 显示全部楼层
NES调试跟踪工具VirtualNes Debugger版哪里有得下载的啊:L  找不到啊,:Q 闷死:(

签到天数: 1 天

[LV.1]初来乍到

发表于 2007-11-18 13:42:36 | 显示全部楼层
随便看了一下,一头的雾水:yumen: 看来还要花点时间来学习

该用户从未签到

发表于 2007-11-19 20:44:56 | 显示全部楼层
好说的太好了 + K" Q% Z/ [7 I) \
我会了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-1-19 18:28 , Processed in 1.072266 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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