设为首页收藏本站

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

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

  [复制链接]

签到天数: 1934 天

[LV.Master]伴坛终老

发表于 2007-4-21 05:26:54 | 显示全部楼层 |阅读模式
注意:转载请注明本人名字和文章出处!
% G' v2 w% k4 X, A' w
& X' C, S- {+ D& \) C# F* D菜鸟NES HACK简单教程(偶应N多人要求才做这个教程,有错误请指正:L )
: J3 }0 M5 A. [  O
3 S: Z( V7 x' y! G! X* h2 w9 RNESHACK相关资料下载:http://bbs.emu618.com/forum/viewthread.php?tid=12675&extra=page%3D2
( J/ M, a2 Q9 r( V
1 H3 I/ [. R" L# ^6052汇编大奥秘(详细介绍FC的汇编语言,推荐下载):http://bbs.emu618.com/forum/viewthread.php?tid=20393&extra=page%3D1
2 S4 D8 Q% p, H9 t8 ]
' B0 I# i6 l( k$ B" ]7 h开始之前先说几句废话
. I+ p! C. w" g* F9 a, ?4 J% U! d* t- ]# ?8 }1 k1 l
第一,HACK之前先了解一下6502汇编指令,NES相关资料里有指令集说明文档,如果你看不懂英文的话就下载《6502汇编大奥秘》,里面有指令中文说明........^_^: [! R' \( O1 w* e4 z, z
- P# z/ l! N5 q! v* y2 q$ m
个人建议:没必要把6502全部汇编指令硬背下来再跟踪调试,那样会很累,你可以一边调试一边查询指令说明.......! l/ o* k7 p# P* v$ c

1 r* ?& E0 b) }% ~# y: R第二,还需要准备一些工具:NES调试跟踪工具(VirtualNes Debugger版或者no$nes-w、FCEUXD SP等NES调试跟踪工具)、十六进制之类编辑工具(Winhex或者UltraEdit32)
1 Z2 I; U2 p8 w2 m6 `, |/ _8 j9 G4 W' S% A
第三,了解修改步骤:5 J% J) b6 L% l# ?/ l2 |4 d$ l% m
1、首先要确定你要修改什么。连要修改什么都不知道,那怎能谈上修改呢。
7 b. \! f4 l% \# s2、获取作弊码,换句话说就是要获得要修改数据的地址。推荐使用EC,这个软件自带作弊码和跟踪修改功能。
/ ~2 D9 g& v# Y" q  f* c3、获得指令代码及其在Rom中的地址。一般通过VirtualNes Debugger版或者no$nes-w、FCEUXD SP等NES调试跟踪工具,再配合内存查看和十六进制之编辑工具确定指令以数据方式储存在Rom中的哪个地址。1 c& Z8 S+ F( B
4、修改相应指令或数据。一般来说要做尽量少的修改,而且不能让程序运行出错。4 K0 u9 [0 Y' w# H$ J( K8 r
5、测试游戏运行情况,看游戏能不能按照你修改目的正常运行。
' \+ {4 g. q/ i2 \* D! w
1 U2 m6 q: o% y# J第四,偶以日版《赤影战士》和VirtualNes Debugger版来为例子教大家如何HACK:7 y* Z" U) \1 }; Z9 H! K- X

4 \1 d+ z& o, Y: U偶需要修改的数据:暗器数不减,放雷电必杀不减血,被敌人攻击不减血,一开始拥有99颗暗器雷
$ X9 [0 A. @% e) d3 T3 T, o9 r, l* ]8 m5 H% j( `
1、获取作弊码,这个好容易得到,EC这个软件附带N多作弊码,省去自已手工查找作弊码了。^_^
6 m% C* K4 A- Y( Z4 O9 ~2 \8 y[P1 生命值]
0 @  q5 j8 Y4 s4 [8 Y$ zON=6F0,10+ I0 x! Z4 e( R/ h5 h+ \
4 t" e8 O1 I( R8 ^( Y4 r9 }
[P1 暗器数量]' s6 p* {2 `, A4 j6 w' v
ON=662,FF* |0 `8 C2 \; D1 [7 ?3 v
6 x  J: M# e9 O- n3 b3 @) V# o
[P1 武器种类]  B2 `. |; X: O- i4 O
刀=6B2,0
1 l1 d  P; g* O' j: VON=6B2,3( g8 @; W+ i3 a; P7 h

% P0 w6 ~0 Z3 l) b; V, b0 c0 ^  [( P[P1 武器威力]
  s) a( u' E9 F$ u$ v! d; XON=680,FF
9 l7 U: a( M; O( B
" Y' E  ~3 w+ h9 I1 J[P1 暗器种类]% n# B; T& e3 [& }* k
标=671,0
* p' t* ^9 m. ^雷=671,19 G7 n" B0 X/ P

5 L. `. d+ A; b" K[P1 隐身]
$ m# B3 G5 h! QOFF=0000,0
+ O6 p* q3 {: qON=601,4C
2 @, F. {& B" n6 G% ]5 }" L6 A9 `$ l1 c
[P2 生命值]) q' E3 I" \4 h% k- F
ON=6F4,10
* i3 D2 ?4 B+ x/ M. i3 k( ~
+ V* P6 R% o) m- H; ~[P2 暗器数量]  j0 C! @/ b$ R4 O
ON=666,FF
0 |& w& @, J0 S. D0 Q: Q! r. p( {( A- h* N% @- @9 Y. M$ v
[P2 武器种类]5 c- S6 h2 B# p- ?2 [7 }4 f
刀=6B6,0; Z  Q# Y0 I5 t
ON=6B6,31 m6 N. ?) e; c! b# O% J6 K& e, S
4 z$ d+ k& c$ R; a/ M. j$ ?8 z
[P2 武器威力]9 }5 r+ K7 `. T8 U
ON=684,FF
: `3 W: K" ^( \% }) K
' q. n# t# p! h  C' j4 L[P2 暗器种类]
8 Y6 J) _% j. u' v  {/ f标=675,0" _8 _) q" K2 p" O
雷=675,1  M! o+ F+ f, n0 }

: z9 u$ ^) C7 L" L; ~8 `; I+ |[P2 隐身]
' H) I' n' A& P# jOFF=0000,0
* |& R+ Y) [3 K. w3 J# j! GON=605,4C& J" U; T6 y1 U# }

% L. G; M2 p6 j. |8 C[GameInfo]
& N6 X+ {0 {: P  [4 Y) R( }) TName=Shadow of the Ninja (FC/NES)
, p; r8 D8 L9 tSystem=FC9 M- B' k4 k0 A' c7 {+ i
Text=赤影战士(水上魂斗罗),双人、动作游戏,由大胖子提供!
. z& i3 H" Q, K4 l4 X- w4 {' m" [0 Y  X
[ 本帖最后由 疾风之狼 于 2009-10-14 15:09 编辑 ]

评分

1

查看全部评分

签到天数: 1934 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-21 05:27:43 | 显示全部楼层
2、通过调试跟踪获取指令代码及其在Rom中的地址,并用16进制编辑工具修改ROM其中数据4 d/ m: P. B! a( `
偶按照暗器数不减,放雷电必杀不减血,被敌人攻击不减血,一开始拥有99颗暗器雷顺序来教大家如何跟踪调试修改:/ V; x2 y# R9 v6 n* V

1 D& y- b" k3 H3 X7 _1 G(1)暗器不减:* k* H3 M4 u0 i0 c- l7 g4 |% A

7 v, g( R. w! g/ X! n首先打开VirtualNes Debugger并加载赤影战士日版ROM,如图1:5 \8 k/ _" v) _7 L$ P
; D( F' ?3 }& S1 z' }$ V6 a! k
接下来游戏进行到获到暗器飞镖20个,如图2:
8 {4 n2 P3 j8 \" c* R9 o0 i) F+ W! o! T1 V3 h" u2 l
接下来开始跟踪飞镖数量,先打开RAM,再打开DEBUG,先打开DEBUG的话,不然RAM就用不来:如图3、图4:
" S* F5 O- U  c/ V  Q* B$ T4 s$ ~# W4 n; ]- z3 K$ V
先点暂停,根据如下面作弊码提供的暗器数量地址,如暗器数量地址是662,就在注释内出现后面方框中输入[0662](注:可以用这东东当条件断点),再点右边确定让游戏继续运行,如图5:
0 I; B/ A2 e0 N
: n, Z" j" J$ I2 ^[P1 暗器数量]- S$ ?4 _; C. F, Q
ON=662,FF
. k0 t# \) B( h: u, F
2 @! x# T  o5 }- E' x使用一次飞镖,程序会发生中断停在B840这一行,如图6:
0 D4 X, P- M6 C( {5 p8 Q7 N& ]% Y$ i+ i) S8 P0 v4 s7 Q
B840 : DE 6206 DEC $0662,X;[0662]-- =0x13
* `/ d! }/ X9 ]+ T  ^6 s# _# g' m" F  n$ M2 ]; x
查指令表得知B840这个地址DEC $0662,X指令作用是将0662+(X)=真正暗器地址的数值减1;既然这样,只要把这条DEC $0662,X指令改为LDA $0662,X就可以让暗器数量不减了。LDA $0662,X作用是把0662+(X)=真正暗器地址的数值读入寄存器A。(X)是寄存器X的数值。
! Q$ i9 h  k+ k) ]& R举个例子:假设X寄存器数值是6,指令是“LDA $1234,X” 这条指令看上是将$1234地址数值读入寄存器A,但实际上$1234不是真正数值存放地址,1234必须加上寄存器X的数值才是真正数值存放的地址。1234+(X=6)=123A,LDA $1234,X指令应该是这样解释:将1234+(X=6)=123A地址读入寄存器A。. p$ c' m. N5 [9 X- @- E! W* H9 M
LDA xxxx,Y和LDA xxxx,X一样,不过寄存器X变成寄存器Y。
" I" h3 @) G; O! ^0 ^% H/ k& W2 |2 b: l1 l) @( H
查指令机器码得知DE是DEC - Absolute,X,BD是LDA - Absolute,X,注意寻区方式要一样....把DE修改为BD就可以不减暗器数量了。
9 q/ I( c# Q- h" C6 ?% J1 }  p2 I7 J) f
注意:别把BD修改成其他LDA指令,这样会死机的,因为指令寻区方式不一样。6 {/ Y; r/ ]6 D0 S/ q- }, S! w1 T
) C6 ^+ K8 Q: i3 H) Q
另外,有一些其他游戏是这样的:改为LDA $XXXX,X 那么就会破坏了寄存器A原来的数据了,后面的程序如果要直接用寄存器A的数值的话,那么就会造成游戏出错,如果后面的程序在用寄存器A的数值之前对寄存器A赋于新值就没事了。
/ C# o' q7 o& ~& ?+ R! b
' u$ z2 J/ X6 V4 c/ d$ c接下来在RAM中找到B840:DE 62 06,如图7:; X0 g; @4 {6 s2 j  t3 X

4 B' z4 l& k2 {: C! N5 Y' }5 B用笔纸抄下红框中数据,以便在查找,接得在RAM中把DE修改BD,如图8:2 d7 t& J6 W0 t  }* v, B
$ P& E* y2 I% R& [
关闭DEBUG和RAM,回到游戏中测试吓暗器数量是否不减,暗器不减了,说明指令修改成功。如图9:
. n1 A1 O8 f7 E8 _& u  z# P/ |0 G9 G: H; m3 L
关闭模拟器,接下来用十六进制修改工具(如UltraEdit32)修改ROM,还记得之前用纸笔抄下的数据么?/ f- y' _, _3 F/ c; \6 X

; x! W9 _+ h: \0 c# o打开UltraEdit32,载入赤影战士ROM,编辑之前按一下Insert把插入方式设为覆盖方式,如图10:
3 t6 }1 `3 ^8 P3 Y1 Z
2 z' l5 X0 q) s' w( x$ p5 r点击UltraEdit32“搜索”>“查找”,在弹出查找框中查找内容(N)后面方框中输入你用纸笔抄下的数据,再点“查找下一个”就能找到这个数据,如图11:
: _/ d$ p( @( R; G
5 D* w$ U  E1 J2 C; d如图12,结果出来,UltraEdit32高亮度显示你就是要找的数据,把DE修改为BD,再点“文件”>“保存”保存你修改结果。如图13:5 c* u7 J# w& ^8 r
% }1 W/ A: l! m
关闭UltraEdit32打开模拟器载入修改后的ROM测试暗器数量是否不减,不减的话说明修改成功了,如图14:9 H+ ~8 ~# a6 x4 v0 u* I
6 i# W9 m+ q6 `+ J0 N& I. q
暗器雷数量不减修改方法和暗器飞镖数量不减修改方法一样。就不再说了,留给大家练习一下。
  e+ y& f7 G7 O+ n+ u: Z, N1 ^" F6 l& ?- E" r+ @- E) ?5 H2 t
[ 本帖最后由 疾风之狼 于 2009-10-14 15:08 编辑 ]

本帖子中包含更多资源

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

×

评分

2

查看全部评分

回复

使用道具 举报

签到天数: 1934 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-21 05:28:36 | 显示全部楼层
(2)放雷电必杀不扣体力
+ h! i- b# O. F/ i+ W打开VirtualNes Debugger并加载赤影战士日版ROM,开始游戏,打开RAM和DEBUG,查询EC作弊码得知体力地址是6F0,
4 F) U/ {/ z+ y! c; N+ [7 D3 F2 ^# ?# U$ k1 Y
估计大家看暗器不减HACK教学后就知如何设置断点跟踪,我就不再说了,设置好断点后,回到游戏,按紧B键不放使出雷电必杀,3 }) u0 R5 e/ T+ t  ~

# L6 `1 S6 f5 f: d4 ^当雷电必杀发出时,程序中断,程序停在B6FC:9D F006 STA$06F0,X这行,如图15:注意B6F6:E9 08 SBC#$08这条指令,这条指令作用是把! s9 ^0 F0 M) `0 i% j
% ?0 ~2 n4 t% ~0 F' r8 U* |
地址06F0减去8,大家都知道赤影战士放雷电必杀后会扣去8点体力,而这个08正好是放雷电必杀所需要扣的体力,只要把08修改成00的话就不会扣体力。(当然你也可以修改成01,发必杀只扣1格体力啦^_^)
4 c4 M: V- I- D5 Y: q7 c( S1 N2 \
, _; m& u0 \/ h# x% L9 v, M. l转到RAM,找到B6F6:E9 08,把图中红色方框数据抄下,以便查找。如图16:把08修改为00就不扣体力了,如图17:关闭RAM和DEBUG,再重启游戏,再发动必杀,不扣体力的话说明修改成功了。
/ N! v7 i( I2 l% V# I+ n! m2 @8 E, a
如图18:关闭模拟器,打开UltraEdit32,载入ROM,编辑之前按一下Insert把插入方式设为覆盖方式,点击“搜索”>“查找”,查找之前抄下的数据,找到如图19的数据:把08修改成00,再保存退出,如图20:2 W1 J- \. N+ O, D% K4 u

( M% `1 z* G' `% w9 j再进模拟器打开修改后的ROM测试发必杀是否不减体力,不减体力的话说明修改成功。
4 q& ^5 _" z# M6 C/ y$ h- F- b7 x# K1 w' }8 h- Y
PS:跌落损伤修改方法和发雷电必杀修改方法一样,我不再说了,留给大家练习,方法设置好断点,再找个地方跳楼自杀(-_-),就能跟踪找到地址了......
+ ]+ q8 O1 N2 m( c" W1 k* N' ~+ v& @3 s' O. ?7 r) O9 f
偶找个时间再继续发如何HACK受攻击不减血和一开始拥有99个雷吧.......

本帖子中包含更多资源

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

×
回复

使用道具 举报

签到天数: 1934 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-21 06:27:29 | 显示全部楼层
(3)受攻击不减血: _0 e7 i; C9 F1 V. e0 q5 h
打开VirtualNes Debugger并加载赤影战士日版ROM,开始游戏后,打开RAM和DEBUG,同样用体力EC作弊码6F0来设置断点,设置好断点后,
0 m  I1 k9 z8 s/ h4 j' h
6 O9 A9 v6 @# O回到游戏被敌人打一下,当敌人攻击主角时,程序中断,程序停在AC69:9D F006 STA $06F0,X这一行,如图21:
& v$ r& b7 j) d& Y( p, W3 B; y- M' g8 Y: q3 ]3 n/ R
注意AC69地址前面的AC63:E5 9D SBC$9D,这条指令作用将06F0,X地址数值减去009D地址数值。单单只将SBC指令修改LDA指令会有问题,偶考虑只有通过无条件转移指令(4C)再添加指令来达到不减血.....
6 E9 _. c! w9 K
6 N7 \% |# u$ Z/ O2 f首先抄下如图22的数据,方便查找:之后在RAM中查找寻找连续储存的0xFF,可以在前面也可以在后面,也可以寻找连续储存的0x00,注意的是00是中断指令,有时候修改了游戏会出错。看情况吧。一般选择在连续储存的00中段开始加入修改数据。
" a, o9 w4 f; `: S6 k/ u0 N; ?0 o/ \6 f$ G5 a# Q* m
偶在RAM后面FFC3~FFDF找到一些连续储存的FF,如图23红框中连续储存的FF,把FF前面的数据抄下,方便查找,接着测试吓这些FF是否能使用.....
7 _0 K$ q+ U0 c$ K! n6 f" ^% k+ Z0 t9 `) N, c/ }" j9 e2 x
方法如下:
) E3 v) e) n" p" d" P) \
& [3 A7 K% h- j在RAM中把AC69的9D F0 06修改为4C C4 FF,指令说明:4C C4 FF作用是跳转到地址FFC4继续执行,4C是无条件跳转,如图24、25:
% ?5 i7 I, S; N5 c% ~$ ~
: `" a# \  z' G+ i2 Z6 U8 @为安全得想,偶跳过第一个的FF,而在第二个FF开始输入9D F0 06 4C 6C AC,指令说明:9D F0 06是以X为偏移量,把寄存器A内容送入06F0,X地址中,4C 6C AC是跳转到AC6C继续执行,如图26:
$ P6 @- R. k& _* k7 ^% n7 F* z7 N, G: ?" N3 _8 u% d/ X8 H+ X
接下来关闭DEBUG和RAM,回到游戏看吓游戏是否正常游戏,能正常游戏说明地址能够跳转使用。如图27:
  c! z# h2 z" Q/ ~
% B' J* @8 d" 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:
1 U) a4 F8 j- N" P9 j, T4 K3 x1 X# m1 D0 c: w6 g
指令说明:A9 10是把数值10读入寄存器A中,9D F0 06是以X为偏移量,把寄存器A数值10送入06F0,X地址中,4C 6C AC是跳回AC6C继续执行3 X  D/ K! P1 ~+ g
) a3 I1 k* o0 n! s  @
关闭RAM,看看游戏是否减血了,不减血说明修改成功,如图29:
5 c/ V+ C4 m1 ^0 u2 z/ v- O* I
4 C  q1 i& f2 ]( g+ _接下来,打开UltraEdit32,载入ROM,查找上图22的数据,如图30:2 J; W1 b% B; ~% U3 X2 n6 t
. H- Q1 h6 J  i8 y! C; h" _
找到把图中的9D F0 06修改为4C C4 FF,如图31、32:
: f  h+ p; `7 O
" ]. W9 n' }' ~接着,查找上图23连续储存的FF前面的数据,比如上图23的连续储存的FF前面是20 86 A0 4C 22 EC,找到后,在20 86 A0 4C 22 EC后面的就是你要添加指令的连续储存FF,如图33:' g* P2 @3 {( N/ A( r% Q
+ {8 L4 h1 V; z: O9 r1 t1 m3 p
同样跳过第一个FF,而在第二个FF开始添加指令,如图34:
1 i- ?+ @& n9 v% m, e$ `(如果你真要在第一个FF开始添加指令的话也不是不可以;假设你是在第一个FF开始添加指令的话,那图32的4C C4 FF应该修改为4C C3 FF)
4 Q2 Q# q) k$ `. s+ T6 ~$ p
3 F4 H) }4 V9 Z% G保存ROM,退出UltraEdit32,再进模拟器测试是否不减血,不减血说明成功了.....,如图35:) j9 N" }; R/ J! }5 I

3 ]! P' \2 _  L, U) O/ ?[ 本帖最后由 疾风之狼 于 2008-12-1 12:24 编辑 ]

本帖子中包含更多资源

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

×
回复

使用道具 举报

签到天数: 1934 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-21 06:29:31 | 显示全部楼层
(4)一开始拥有99个暗器雷
6 x3 q" h" z3 r首先要找到体力初始值,大家知道在赤影战士中体力初始值什么时候开始读取并放到06F0、06F4地址中?答案是在选择人物后。(注:06F0是对应1P体力值地址,06F4是对应2P体力值地址), H' P6 Q& s3 E' q8 I; D: Y6 g
( |) ^6 j3 R# h; b$ D) ~
要想在游戏开始后立即就有99暗器雷,必须在数据初始化后面加入暗器雷和暗器数量指令代码,如何添加指令代码?方法是上面的受攻击血不减方法一样,同样用无条件跳转指令4C再添加指令。
$ T$ X+ G9 i3 y  [# J$ Z. K6 m2 t8 P
0 U7 I6 l. c) {* @, m$ W偶决定来教大家如何双人游戏时两人一开始拥有99暗器雷,打开VirtualNes Debugger并加载赤影战士日版ROM,选择双人游戏进入到选择人物后,打开RAM和DEBUG,用2P体力值EC码06F4地址来作为断点.....) Y- b+ A/ e& H8 k* a3 Q

4 {7 Y3 K, e5 i* }) a' r设置好断点后,回到游戏中,按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体力值地址)0 V4 {' _2 I% c# U
0 B. f3 d* |6 H: y
A2F7:A9 10   LDA#$10  :A=0x10          -->把数值10读入寄存器A( V5 d' q5 \, E
A2F9:8D F006 STA$06F0 :[06F0]=A=0x10   -->把寄存器A的数值送入06F0地址
" i6 v5 x5 J5 |4 }/ u' _2 |0 ZA2FC:8D F406 STA$06F4 :[06F4]=A=0x10   -->把寄存器A的数值送入06F4地址
+ r- ]. v; S) O3 J- b( N* ?* U; S& x+ |! R8 Y5 @
在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来添加指令吧....
6 p5 M! b+ T0 V# j3 X
* i# ]! H! ~4 i接下来在RAM把A2FC的8D F4 06修改为4C C4 FF,如图38、39:/ h) p9 a- w/ w8 o) Y7 P1 A8 c

: A+ ?! U: z" |$ ^3 P: P4 u2 W接下来拉到滚动条来到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:3 Z* M  _: x) G6 o8 D1 e4 O

9 p* Y, o& U! y指令说明: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地址继续执行3 o/ ~% C5 u0 f8 r. E% [; d

  P& {/ R4 @; H) ?7 W接下来关闭RAM和DEBUG,重启游戏,进入游戏后暗器数是99,按一下攻击,如果放的是暗器雷说明修改成功!如图41:
" Q. W+ _5 ^* |# S; S9 I1 l) a7 u/ D: t' u. p
接下来关闭模拟器,打开UltraEdit32,载入ROM,查找你刚才用笔纸抄下的数据,找到后把8D F4 06修改为4C C4 FF,如图42、43:
2 Y# R, K3 w: v) s% n
! D2 n8 O) L9 d. u( A  E6 S接下来在找到上图33的连续储存的FF地方,偶还是跳过第一个FF,而在第二个FF开始添加指令,如图44:2 y+ V5 x1 q: D4 x6 h/ j" q

5 P# C3 f4 b0 r- h6 r, T保存ROM,关闭UltraEdit32,打开模拟器载入修改好的ROM测试,如图45:如没什么意外发生的话说明修改成功!
0 z9 M* `7 L* e* b; M$ K. j8 Y& T1 c* O* W/ J
菜鸟HACK教程到此完成!以偶目前HACK水平来说还算是一只HACK菜鸟,没有和尚HACK技术那么厉害!:L

本帖子中包含更多资源

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

×
回复

使用道具 举报

签到天数: 5 天

[LV.2]偶尔看看I

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

使用道具 举报

该用户从未签到

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

5 C- F* j" R* y适合新手学习修改的教材
回复

使用道具 举报

该用户从未签到

发表于 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:
0 d# w/ a0 L/ O) s  S  M不减血的教材
回复

使用道具 举报

签到天数: 1934 天

[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 | 显示全部楼层
呵呵 完成了,得好好学习, z7 o7 O; R2 S; [4 M; ^$ {  K
xiaofa兄弟也在这啊
回复

使用道具 举报

签到天数: 7 天

[LV.3]偶尔看看II

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

使用道具 举报

签到天数: 26 天

[LV.4]偶尔看看III

发表于 2007-11-5 21:46:57 | 显示全部楼层
终于可以自己去HACK简单的游戏了:loveliness:
9 p( K' D3 _% a9 c激动啊;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 | 显示全部楼层
好说的太好了
& y. j$ T6 X7 s: a5 |6 z0 {0 Q8 v我会了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-4-26 22:43

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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