设为首页收藏本站

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

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

  [复制链接]

签到天数: 1952 天

[LV.Master]伴坛终老

发表于 2007-4-21 05:26:54 | 显示全部楼层 |阅读模式
注意:转载请注明本人名字和文章出处!. z, @  i; x) k% Y
% Y0 Y1 p! d8 t. ^" Q  Z% l3 L
菜鸟NES HACK简单教程(偶应N多人要求才做这个教程,有错误请指正:L )7 Z) g& {* J! u3 |9 K. S

3 w4 d* Z4 u7 b. B% MNESHACK相关资料下载:http://bbs.emu618.com/forum/viewthread.php?tid=12675&extra=page%3D24 d& y! @8 [% J
9 B4 W0 ]" G0 I2 N
6052汇编大奥秘(详细介绍FC的汇编语言,推荐下载):http://bbs.emu618.com/forum/viewthread.php?tid=20393&extra=page%3D1
  j8 _! h7 r8 C+ Y( W2 A- Y8 K4 A0 [
7 B% l$ Y- u6 w开始之前先说几句废话
1 V! W% y& m" G4 D; z) I4 p" C, k: v5 V; O" v( m
第一,HACK之前先了解一下6502汇编指令,NES相关资料里有指令集说明文档,如果你看不懂英文的话就下载《6502汇编大奥秘》,里面有指令中文说明........^_^8 q9 q4 s! x+ ^# Q% M5 w

7 J  {# o, r0 |, ?' X个人建议:没必要把6502全部汇编指令硬背下来再跟踪调试,那样会很累,你可以一边调试一边查询指令说明.......
5 p# ]/ }) y0 I! C9 ^4 _, o4 n7 }& C6 E1 u
第二,还需要准备一些工具:NES调试跟踪工具(VirtualNes Debugger版或者no$nes-w、FCEUXD SP等NES调试跟踪工具)、十六进制之类编辑工具(Winhex或者UltraEdit32)
2 _' s1 d1 B4 k& Y3 H6 u) X1 l& B9 w; Q! u7 K0 R
第三,了解修改步骤:5 x9 t4 J" U3 z7 G% s1 M
1、首先要确定你要修改什么。连要修改什么都不知道,那怎能谈上修改呢。
  U0 d6 |0 a6 r( P7 u- j$ M2、获取作弊码,换句话说就是要获得要修改数据的地址。推荐使用EC,这个软件自带作弊码和跟踪修改功能。" I0 ]( O& I6 ]7 J
3、获得指令代码及其在Rom中的地址。一般通过VirtualNes Debugger版或者no$nes-w、FCEUXD SP等NES调试跟踪工具,再配合内存查看和十六进制之编辑工具确定指令以数据方式储存在Rom中的哪个地址。. W$ |2 b* ~0 c6 O7 J8 y0 N& l
4、修改相应指令或数据。一般来说要做尽量少的修改,而且不能让程序运行出错。( w3 i0 k! w- w1 U) j4 ], L
5、测试游戏运行情况,看游戏能不能按照你修改目的正常运行。
3 |2 g9 V% h8 C  z) T. {: b, d
" Y0 V$ p5 f. r5 h$ Q4 Y第四,偶以日版《赤影战士》和VirtualNes Debugger版来为例子教大家如何HACK:
1 {0 \' M8 j1 u! d6 k& h- z5 e1 `
; Q$ s  C% O2 b0 S6 B' v, d偶需要修改的数据:暗器数不减,放雷电必杀不减血,被敌人攻击不减血,一开始拥有99颗暗器雷
4 q: }, ]6 Z, X8 Q) M4 H+ X6 Q" p$ V: |& h% r3 c" c9 h
1、获取作弊码,这个好容易得到,EC这个软件附带N多作弊码,省去自已手工查找作弊码了。^_^+ }  l* E' E% H* ^1 f3 [: e
[P1 生命值]. i6 X. d, y: h
ON=6F0,10
: t( d" S7 b, i9 e+ G7 _; w, X$ e, X# G0 }4 b5 b, t
[P1 暗器数量]. ?. }9 j1 K3 x) Q( D. W
ON=662,FF
3 V3 X5 g5 X! `4 @; ?
, l" _2 q( {' v" {/ I[P1 武器种类]
  B) n- o8 m& u$ _$ H刀=6B2,0: @; U7 C# [7 h1 ^
ON=6B2,3
0 B, R6 o2 _9 d! g  b9 O" v5 A6 V; _. f) B( b& Y! N5 ^" [
[P1 武器威力]
0 c5 Q& m, A% QON=680,FF: E. c+ p8 t3 e, H, f8 _0 d

- O) f% j: E3 U7 {: Q[P1 暗器种类]
* }! A; ~, s; _2 N' K标=671,0
7 o+ l& G/ @: N! e雷=671,1
) y2 k6 s& ]: s7 E( v! k7 Y$ E  b1 K- d3 {# _/ U  c9 Y  j- W/ u
[P1 隐身]
# F. x1 k9 B/ P! b4 [% N5 k# tOFF=0000,0
0 s( t9 w" d$ b. s5 aON=601,4C- M* a# W- ^- u& t3 k$ Z# q+ \4 k4 X
/ E6 [, Q% S' r" b, Q3 _
[P2 生命值]
% l8 L- f1 K5 W" }) e7 ?ON=6F4,105 h0 v( O" B' Z6 D" Y
% I( g+ K6 b9 p) @( s& Q
[P2 暗器数量]
& l7 u' _# y' O+ o, a! h- @% ]ON=666,FF9 R0 i$ N4 I* f, A/ c& d* V

7 w* |0 D6 M4 o2 T2 z! Y[P2 武器种类]5 F- l* p; h: o* i
刀=6B6,09 \& ?5 \. X. r
ON=6B6,3. x7 W. A) n# a1 y
( h% ^- h2 O" K" x7 b& ?
[P2 武器威力]
$ z0 }$ b% v! a) a; K& kON=684,FF
* D7 r( Y* k$ }' l0 i7 F% Y, n* I8 n/ o2 W2 A
[P2 暗器种类]! l7 U, ?0 J0 e& H( Q( ^: S
标=675,0
% p( Y% u1 k4 [# a9 n雷=675,1
( g% V. a. ~% P# [
8 Y5 K) [4 T! g[P2 隐身]
7 P+ r: Y+ \% l* @+ V! GOFF=0000,05 [1 H7 e' \) X5 S. H4 B
ON=605,4C# s8 r, k) ~- O# U) v# |! t
9 ?' E1 J* C5 Z6 m
[GameInfo]5 B9 d1 f8 ], J: a+ c) @( t
Name=Shadow of the Ninja (FC/NES)
" [% C7 I4 U  G$ _1 h# KSystem=FC
  Y% d0 J) I  oText=赤影战士(水上魂斗罗),双人、动作游戏,由大胖子提供!
4 r$ I) o1 `# ]8 D! ]& ^; }  P/ q' F. U# r" _) m, o
[ 本帖最后由 疾风之狼 于 2009-10-14 15:09 编辑 ]

评分

1

查看全部评分

签到天数: 1952 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-21 05:27:43 | 显示全部楼层
2、通过调试跟踪获取指令代码及其在Rom中的地址,并用16进制编辑工具修改ROM其中数据+ n( G7 U* u5 l3 @) w! ^
偶按照暗器数不减,放雷电必杀不减血,被敌人攻击不减血,一开始拥有99颗暗器雷顺序来教大家如何跟踪调试修改:
* N5 y2 ~1 p$ L' F- f% [! [% Y& G& ~- r
(1)暗器不减:, [7 |- D& n  ]! U; T4 a# A
/ @1 B% U. s% F% J2 O) |! |- V  y
首先打开VirtualNes Debugger并加载赤影战士日版ROM,如图1:
: b0 \- p" f) H1 M( I. O
; |8 L  K1 w6 h! q6 c# K1 a接下来游戏进行到获到暗器飞镖20个,如图2:
" \4 ^% G- M' F, ?3 U4 h
; L7 r& m' Z9 S接下来开始跟踪飞镖数量,先打开RAM,再打开DEBUG,先打开DEBUG的话,不然RAM就用不来:如图3、图4:
9 ?+ C5 A- d2 g" A/ P% U  S6 A) @6 X, \1 o+ L8 i* @- Y7 b' j6 q  H4 {
先点暂停,根据如下面作弊码提供的暗器数量地址,如暗器数量地址是662,就在注释内出现后面方框中输入[0662](注:可以用这东东当条件断点),再点右边确定让游戏继续运行,如图5:" Q$ M% k) x* r* P" c" E# a

* l8 E7 @" p* R& G5 r  }; h' V[P1 暗器数量]7 b  Y4 f+ c9 I& ~  ~
ON=662,FF8 I% |( e" H# n2 a; G, f( X
0 n3 P" J' _& d
使用一次飞镖,程序会发生中断停在B840这一行,如图6:+ Q1 J" n% B9 C/ \' K0 q$ `
" R& O6 z% |& e! H* N
B840 : DE 6206 DEC $0662,X;[0662]-- =0x13. _. n- T5 W5 ?' E! J

1 [6 c! ?* a, i- v  P3 n查指令表得知B840这个地址DEC $0662,X指令作用是将0662+(X)=真正暗器地址的数值减1;既然这样,只要把这条DEC $0662,X指令改为LDA $0662,X就可以让暗器数量不减了。LDA $0662,X作用是把0662+(X)=真正暗器地址的数值读入寄存器A。(X)是寄存器X的数值。
3 |) X) J9 W4 e& {- k! r举个例子:假设X寄存器数值是6,指令是“LDA $1234,X” 这条指令看上是将$1234地址数值读入寄存器A,但实际上$1234不是真正数值存放地址,1234必须加上寄存器X的数值才是真正数值存放的地址。1234+(X=6)=123A,LDA $1234,X指令应该是这样解释:将1234+(X=6)=123A地址读入寄存器A。; r+ k' Z: E$ f& n- w- f
LDA xxxx,Y和LDA xxxx,X一样,不过寄存器X变成寄存器Y。
% e+ z; B: N: i3 h9 _
1 b1 ?' ]3 _" i" y! y查指令机器码得知DE是DEC - Absolute,X,BD是LDA - Absolute,X,注意寻区方式要一样....把DE修改为BD就可以不减暗器数量了。- Y9 h* C! U8 `% l0 i
+ C8 f" k! r' v- E0 L
注意:别把BD修改成其他LDA指令,这样会死机的,因为指令寻区方式不一样。. L- u3 c& C$ \, k$ z
/ F" a. ^6 y' l' g3 \
另外,有一些其他游戏是这样的:改为LDA $XXXX,X 那么就会破坏了寄存器A原来的数据了,后面的程序如果要直接用寄存器A的数值的话,那么就会造成游戏出错,如果后面的程序在用寄存器A的数值之前对寄存器A赋于新值就没事了。/ d+ Q$ h$ Z/ W6 c/ q) X- b
* n6 G- t& f% m8 M) X* s& F! W
接下来在RAM中找到B840:DE 62 06,如图7:
( o' v1 R, s% P0 U: V( F4 W( O
' |( ?% H& q9 I5 c" p+ i" w2 P1 E用笔纸抄下红框中数据,以便在查找,接得在RAM中把DE修改BD,如图8:
+ ^8 w! @2 a2 s0 w  i6 M2 @
  Q3 O1 s! m. Q7 h+ z. J9 u/ ^关闭DEBUG和RAM,回到游戏中测试吓暗器数量是否不减,暗器不减了,说明指令修改成功。如图9:; S2 X8 ]/ D' O! f
3 K- @9 d: Q9 `, z
关闭模拟器,接下来用十六进制修改工具(如UltraEdit32)修改ROM,还记得之前用纸笔抄下的数据么?5 y# F* g3 T; d6 ~5 }

6 P- F3 z. \& n8 z0 m打开UltraEdit32,载入赤影战士ROM,编辑之前按一下Insert把插入方式设为覆盖方式,如图10:
( j& o4 N% @& U& O. H
9 ^5 ~) x4 ]' |5 e点击UltraEdit32“搜索”>“查找”,在弹出查找框中查找内容(N)后面方框中输入你用纸笔抄下的数据,再点“查找下一个”就能找到这个数据,如图11:0 K# D: _3 W# K
8 K' s3 K' ]# m& v' D: u3 c
如图12,结果出来,UltraEdit32高亮度显示你就是要找的数据,把DE修改为BD,再点“文件”>“保存”保存你修改结果。如图13:  C8 ^1 F$ H$ t% O2 |
6 J- F. ?' D# ~# u
关闭UltraEdit32打开模拟器载入修改后的ROM测试暗器数量是否不减,不减的话说明修改成功了,如图14:
$ a; U$ x- i0 k% t3 R  o( y; E% B7 O" e( {" u
暗器雷数量不减修改方法和暗器飞镖数量不减修改方法一样。就不再说了,留给大家练习一下。
! L) e) h9 e" K3 p
0 g/ S3 ~' x# {1 E/ r[ 本帖最后由 疾风之狼 于 2009-10-14 15:08 编辑 ]

本帖子中包含更多资源

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

×

评分

2

查看全部评分

回复

使用道具 举报

签到天数: 1952 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-21 05:28:36 | 显示全部楼层
(2)放雷电必杀不扣体力
# \* W9 r- M# H, Z- v' `1 O打开VirtualNes Debugger并加载赤影战士日版ROM,开始游戏,打开RAM和DEBUG,查询EC作弊码得知体力地址是6F0,2 \1 s+ O1 B+ y: C% F) v/ J0 s

/ {" f5 A% c/ d2 p9 Y$ H估计大家看暗器不减HACK教学后就知如何设置断点跟踪,我就不再说了,设置好断点后,回到游戏,按紧B键不放使出雷电必杀,+ ?- n- v+ X( m) e, l

4 S0 l- ^6 t  E当雷电必杀发出时,程序中断,程序停在B6FC:9D F006 STA$06F0,X这行,如图15:注意B6F6:E9 08 SBC#$08这条指令,这条指令作用是把
, ^4 k$ E' V* H. Z/ o" H7 m
( E! F8 R* A/ l7 X* B+ w' a地址06F0减去8,大家都知道赤影战士放雷电必杀后会扣去8点体力,而这个08正好是放雷电必杀所需要扣的体力,只要把08修改成00的话就不会扣体力。(当然你也可以修改成01,发必杀只扣1格体力啦^_^): b9 J9 E  R3 j& s
$ T8 ]" c/ A( x6 [4 H% }! g9 u3 X
转到RAM,找到B6F6:E9 08,把图中红色方框数据抄下,以便查找。如图16:把08修改为00就不扣体力了,如图17:关闭RAM和DEBUG,再重启游戏,再发动必杀,不扣体力的话说明修改成功了。
( a- Q+ C  l8 P" [4 m0 a9 }; q2 k; L" ^: {' I
如图18:关闭模拟器,打开UltraEdit32,载入ROM,编辑之前按一下Insert把插入方式设为覆盖方式,点击“搜索”>“查找”,查找之前抄下的数据,找到如图19的数据:把08修改成00,再保存退出,如图20:5 m- S; \+ s) y! K' X2 O
) g7 [) W6 Q1 o' o
再进模拟器打开修改后的ROM测试发必杀是否不减体力,不减体力的话说明修改成功。
3 X; y" ]! \. l( I( l. V
& i% c6 s1 [* NPS:跌落损伤修改方法和发雷电必杀修改方法一样,我不再说了,留给大家练习,方法设置好断点,再找个地方跳楼自杀(-_-),就能跟踪找到地址了......6 D2 ?3 J) n9 C  \9 z( j! M5 V" I1 F
, m, P5 p1 B7 ]+ B. t. A+ ^: s
偶找个时间再继续发如何HACK受攻击不减血和一开始拥有99个雷吧.......

本帖子中包含更多资源

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

×
回复

使用道具 举报

签到天数: 1952 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-21 06:27:29 | 显示全部楼层
(3)受攻击不减血
7 R, p( W- J2 P2 f打开VirtualNes Debugger并加载赤影战士日版ROM,开始游戏后,打开RAM和DEBUG,同样用体力EC作弊码6F0来设置断点,设置好断点后,
) g5 l5 z" L* k; h
6 N0 ^, Z/ u# V/ ~回到游戏被敌人打一下,当敌人攻击主角时,程序中断,程序停在AC69:9D F006 STA $06F0,X这一行,如图21: 4 h% V. n1 C8 y4 _2 ]  Q* I8 [

/ K" Y' n3 T. N/ B$ i注意AC69地址前面的AC63:E5 9D SBC$9D,这条指令作用将06F0,X地址数值减去009D地址数值。单单只将SBC指令修改LDA指令会有问题,偶考虑只有通过无条件转移指令(4C)再添加指令来达到不减血.....7 V# V2 `6 B8 N% l& J$ l3 b- M

5 ?) B+ p2 o; K4 x首先抄下如图22的数据,方便查找:之后在RAM中查找寻找连续储存的0xFF,可以在前面也可以在后面,也可以寻找连续储存的0x00,注意的是00是中断指令,有时候修改了游戏会出错。看情况吧。一般选择在连续储存的00中段开始加入修改数据。
. V" p$ q& O, V' \4 R& Y
$ k: A/ G. o9 c% J偶在RAM后面FFC3~FFDF找到一些连续储存的FF,如图23红框中连续储存的FF,把FF前面的数据抄下,方便查找,接着测试吓这些FF是否能使用.....
& v2 N7 O) M) \, G& _: j8 a0 E9 Y$ S/ O5 ^
方法如下:" `) u, F: k4 V& \0 @( ?( j
3 U) S7 G) y! r* L
在RAM中把AC69的9D F0 06修改为4C C4 FF,指令说明:4C C4 FF作用是跳转到地址FFC4继续执行,4C是无条件跳转,如图24、25:2 ~8 C: H( Z: h. ]3 N( R
$ M8 E1 f0 Y% L2 S% I& H
为安全得想,偶跳过第一个的FF,而在第二个FF开始输入9D F0 06 4C 6C AC,指令说明:9D F0 06是以X为偏移量,把寄存器A内容送入06F0,X地址中,4C 6C AC是跳转到AC6C继续执行,如图26:+ t" ^/ h! g8 J- g1 S
% O8 ]7 D" g$ U8 O& N
接下来关闭DEBUG和RAM,回到游戏看吓游戏是否正常游戏,能正常游戏说明地址能够跳转使用。如图27:8 Y5 ?& C6 ^! Z: T. k. ?1 K
$ a! T0 E$ P. U. ~% G- c' ]4 d
接下来打开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:0 E8 M* L& x8 p% t6 e
1 w# k  l* m- I5 X. z, m
指令说明:A9 10是把数值10读入寄存器A中,9D F0 06是以X为偏移量,把寄存器A数值10送入06F0,X地址中,4C 6C AC是跳回AC6C继续执行$ |" Q! M* y0 u3 M# u$ W
- E. [3 l7 J- K, J( e8 d4 `
关闭RAM,看看游戏是否减血了,不减血说明修改成功,如图29:' t  P. w( y. P  ~- [) n
+ p/ k; `0 J9 o+ e! [  C
接下来,打开UltraEdit32,载入ROM,查找上图22的数据,如图30:, q9 I! |: Q' I3 `
5 F  }1 }9 `& j1 B2 O
找到把图中的9D F0 06修改为4C C4 FF,如图31、32:/ E- e* Z$ K- q0 J$ z& L$ X

8 {, k. Q9 G0 C9 o* L% U% v接着,查找上图23连续储存的FF前面的数据,比如上图23的连续储存的FF前面是20 86 A0 4C 22 EC,找到后,在20 86 A0 4C 22 EC后面的就是你要添加指令的连续储存FF,如图33:
5 z2 o; ?3 h4 q' F2 O4 k5 Q# f5 {/ h% q; W; p7 f) t
同样跳过第一个FF,而在第二个FF开始添加指令,如图34:
  m6 D! w" V7 @(如果你真要在第一个FF开始添加指令的话也不是不可以;假设你是在第一个FF开始添加指令的话,那图32的4C C4 FF应该修改为4C C3 FF)0 I9 H: Q3 r1 A' P% L) C9 ^* s

9 C5 J! ?7 a. \0 \保存ROM,退出UltraEdit32,再进模拟器测试是否不减血,不减血说明成功了.....,如图35:
% a9 p3 ^# y3 C0 K/ m0 b* c4 ]  c  I1 L& p1 c- R
[ 本帖最后由 疾风之狼 于 2008-12-1 12:24 编辑 ]

本帖子中包含更多资源

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

×
回复

使用道具 举报

签到天数: 1952 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-21 06:29:31 | 显示全部楼层
(4)一开始拥有99个暗器雷" J8 ?: @; u/ `+ Z
首先要找到体力初始值,大家知道在赤影战士中体力初始值什么时候开始读取并放到06F0、06F4地址中?答案是在选择人物后。(注:06F0是对应1P体力值地址,06F4是对应2P体力值地址)
3 E: e( H- p* b/ E2 [+ z- t, ?) t6 h
要想在游戏开始后立即就有99暗器雷,必须在数据初始化后面加入暗器雷和暗器数量指令代码,如何添加指令代码?方法是上面的受攻击血不减方法一样,同样用无条件跳转指令4C再添加指令。
0 F6 F8 o" Q2 Z' `7 h
# Z& V, s, j; z+ @/ @% W; I偶决定来教大家如何双人游戏时两人一开始拥有99暗器雷,打开VirtualNes Debugger并加载赤影战士日版ROM,选择双人游戏进入到选择人物后,打开RAM和DEBUG,用2P体力值EC码06F4地址来作为断点.....
1 n5 D" q. j3 l: L. L& r0 W) ~) \! g" D5 G' C. ~
设置好断点后,回到游戏中,按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体力值地址)
8 t1 K. y) c) j4 I; j
' l& @; ]  V: h2 y/ j4 f; {, e) IA2F7:A9 10   LDA#$10  :A=0x10          -->把数值10读入寄存器A9 K. y6 F; s* G" p3 }. x2 }
A2F9:8D F006 STA$06F0 :[06F0]=A=0x10   -->把寄存器A的数值送入06F0地址' s7 @* R/ S9 d
A2FC:8D F406 STA$06F4 :[06F4]=A=0x10   -->把寄存器A的数值送入06F4地址
; p( g; Z- C6 b# C( x! ]
/ u5 g* W, L/ N2 o5 q在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来添加指令吧...., l! C, M$ J' u
4 f; p7 `$ Y; A) c) w) L
接下来在RAM把A2FC的8D F4 06修改为4C C4 FF,如图38、39:& l3 f- O5 S0 E5 Y3 Q! u
7 D( K6 c% J3 v& S0 J
接下来拉到滚动条来到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 v* `7 ]0 p; D0 s& K# D& s& j! g6 L8 C+ k, X- |) S; ?
指令说明: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地址继续执行! n/ v9 ^  X+ ~1 Y9 e

4 f' I# ^/ A; B  r7 B3 V4 ?接下来关闭RAM和DEBUG,重启游戏,进入游戏后暗器数是99,按一下攻击,如果放的是暗器雷说明修改成功!如图41:
4 G5 w  a2 `2 e& d  f; b& U  d4 G4 a% [+ {3 _% C" w
接下来关闭模拟器,打开UltraEdit32,载入ROM,查找你刚才用笔纸抄下的数据,找到后把8D F4 06修改为4C C4 FF,如图42、43:
/ @; J; }2 F9 [. \0 f3 y4 n! h# Z1 K+ E$ U
接下来在找到上图33的连续储存的FF地方,偶还是跳过第一个FF,而在第二个FF开始添加指令,如图44:/ _1 w) S" p: e

8 B8 y; x* C7 ?, N保存ROM,关闭UltraEdit32,打开模拟器载入修改好的ROM测试,如图45:如没什么意外发生的话说明修改成功!
6 g' E" w( ~! g" d% |( {$ J# e) I+ `, `2 E$ x5 s
菜鸟HACK教程到此完成!以偶目前HACK水平来说还算是一只HACK菜鸟,没有和尚HACK技术那么厉害!:L

本帖子中包含更多资源

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

×
回复

使用道具 举报

签到天数: 5 天

[LV.2]偶尔看看I

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

使用道具 举报

该用户从未签到

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

) }9 {/ C; \6 ?* W# S9 L适合新手学习修改的教材
回复

使用道具 举报

该用户从未签到

发表于 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: 6 `4 R  N' S. d. Z4 z
不减血的教材
回复

使用道具 举报

签到天数: 1952 天

[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 | 显示全部楼层
呵呵 完成了,得好好学习6 u/ x, Q" D9 y  r" G
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 E6 H, L9 e+ t
激动啊;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 | 显示全部楼层
好说的太好了
+ j3 }; p0 Q- L0 z5 o& M我会了
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-5-16 13:52

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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