设为首页收藏本站

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

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

  [复制链接]

签到天数: 2052 天

[LV.Master]伴坛终老

发表于 2007-4-21 05:26:54 | 显示全部楼层 |阅读模式
注意:转载请注明本人名字和文章出处!
) Q4 D1 \0 k) p7 T7 a( p; a
- e6 y# d4 v: {5 J- H% ?5 ^菜鸟NES HACK简单教程(偶应N多人要求才做这个教程,有错误请指正:L )" r' y; l2 |0 T) z$ {
9 k4 L; J6 p- x- s; b: |
NESHACK相关资料下载:http://bbs.emu618.com/forum/viewthread.php?tid=12675&extra=page%3D2
& q1 Z5 e" J6 u8 \5 {  t* e& H! `; o& P
6052汇编大奥秘(详细介绍FC的汇编语言,推荐下载):http://bbs.emu618.com/forum/viewthread.php?tid=20393&extra=page%3D1
# T( X# w% |& h$ O( i) g. |( S& G% }9 L- G7 C' w& x# Z; x2 N
开始之前先说几句废话
* y) `4 l& n' q1 o% t
, \2 y0 c. r2 r1 ^, P第一,HACK之前先了解一下6502汇编指令,NES相关资料里有指令集说明文档,如果你看不懂英文的话就下载《6502汇编大奥秘》,里面有指令中文说明........^_^! ~3 C9 z$ z/ g; g3 S0 V" a
4 A8 L# d9 r# b" w& B
个人建议:没必要把6502全部汇编指令硬背下来再跟踪调试,那样会很累,你可以一边调试一边查询指令说明.......6 S( y- b; r( J) I

) `) N- o  I1 T' h1 i第二,还需要准备一些工具:NES调试跟踪工具(VirtualNes Debugger版或者no$nes-w、FCEUXD SP等NES调试跟踪工具)、十六进制之类编辑工具(Winhex或者UltraEdit32)# W# N% _2 C6 N. W% I
6 s- Z* O$ Z' _+ ?5 @
第三,了解修改步骤:- s% s' w2 r: ^
1、首先要确定你要修改什么。连要修改什么都不知道,那怎能谈上修改呢。" Y: r8 v# b  C  [1 ?
2、获取作弊码,换句话说就是要获得要修改数据的地址。推荐使用EC,这个软件自带作弊码和跟踪修改功能。
1 ]( u  R5 ?3 ~% F" r/ C3、获得指令代码及其在Rom中的地址。一般通过VirtualNes Debugger版或者no$nes-w、FCEUXD SP等NES调试跟踪工具,再配合内存查看和十六进制之编辑工具确定指令以数据方式储存在Rom中的哪个地址。' {6 q" X/ ^- C! I, c# F* H6 W$ D. |
4、修改相应指令或数据。一般来说要做尽量少的修改,而且不能让程序运行出错。
5 Z1 ^. d, j1 C" O5、测试游戏运行情况,看游戏能不能按照你修改目的正常运行。
) s- Z; R: I- s# Q1 b% Y% a" l
, `' K" L5 P1 R0 h' m' C第四,偶以日版《赤影战士》和VirtualNes Debugger版来为例子教大家如何HACK:5 D8 F! J$ V$ t4 S
' G, A( a4 p& {& D- D" I! t
偶需要修改的数据:暗器数不减,放雷电必杀不减血,被敌人攻击不减血,一开始拥有99颗暗器雷3 q% m4 m1 B7 u+ x
4 N& A/ x/ ~- Z' a/ U
1、获取作弊码,这个好容易得到,EC这个软件附带N多作弊码,省去自已手工查找作弊码了。^_^
) t+ b# N0 F  `$ ]4 t: O) U[P1 生命值]
3 @' f0 p" r, y* b* zON=6F0,10
1 |6 w- p- @) I8 U& c9 t% ^- `9 W" i- y# E; F9 z4 j; P" E. m
[P1 暗器数量]
$ Q) s# X/ [0 xON=662,FF
5 I, f; ?; Y2 A8 g2 b6 I2 w" |5 f$ m# g1 S- O0 A+ F
[P1 武器种类]
% Y0 D1 i3 W. m. K  y' s6 N( y刀=6B2,0
, J8 e; N; C; A1 U' V4 LON=6B2,3
! ]: K, Y! @4 m* J# ^  `  A) z, _( Y6 w; s! `6 j
[P1 武器威力]
* Y$ J6 b. T; e9 _4 l+ SON=680,FF
6 A* X- T2 q* e3 S; f0 ]6 O; K6 D7 j/ a- E- A
[P1 暗器种类]
! Y. z& h/ p+ w" ]5 R+ |* `标=671,0& k1 t. c. V" |$ D
雷=671,1! z& B7 u/ F& n) A5 u9 P7 S

3 ]( c5 B! [: ^5 Q) I[P1 隐身]: k: I5 Y- F, x2 ?' H7 f( ~1 n
OFF=0000,0" ^7 G# J8 j, W  t- M0 y  l
ON=601,4C4 w: o/ d) T7 u/ w9 @0 c& s
3 d( e) C2 f6 `6 z
[P2 生命值]+ c, ^% i6 I& T, F( K! S* H
ON=6F4,104 d# q% R" f0 {5 l# s- \! K2 G% A

. L* z& M# N) b# y: i' N[P2 暗器数量]
8 L' {/ ?! U3 lON=666,FF
$ R2 z9 W: |. H: @/ n# c: O8 Y4 V& p6 w$ X  z  Y8 L
[P2 武器种类]- q. I# \9 v1 C4 z
刀=6B6,0
1 d" R9 N9 r) T4 S+ ZON=6B6,3
- ?: I" D( ?% ^* X& d# Q. q2 f" v; F4 F' X" L6 E! V( O0 G
[P2 武器威力]
$ z- n$ q, ^  O, jON=684,FF
$ c. c  i- i2 ]' T% Z0 R3 n/ n) A2 q/ ~/ X6 b2 d
[P2 暗器种类]3 l2 I* x) G2 y: ~3 @% V% C
标=675,0
4 J; ^) I$ V( f$ G' m3 S" T! {+ ?雷=675,17 t( ^$ J* f3 `) I
/ L, U) R0 g# L
[P2 隐身]
- _# Q+ ^3 x- V6 d, r) h; {3 nOFF=0000,0
1 q4 i# @% [4 w1 H9 I. kON=605,4C. [7 o; a) r8 s1 F6 i

: D  v, k; I/ A: u) |  k. _9 m[GameInfo]
, b  v# U% }- d8 ^7 s& n2 Y9 oName=Shadow of the Ninja (FC/NES)
. w3 N* h+ K" d& O9 ]0 l& NSystem=FC$ \* |2 p: L- C
Text=赤影战士(水上魂斗罗),双人、动作游戏,由大胖子提供!- e& |5 _7 @- |0 n7 o, M* r
, t+ b6 Y$ v  r/ j0 S
[ 本帖最后由 疾风之狼 于 2009-10-14 15:09 编辑 ]

评分

1

查看全部评分

签到天数: 2052 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-21 05:27:43 | 显示全部楼层
2、通过调试跟踪获取指令代码及其在Rom中的地址,并用16进制编辑工具修改ROM其中数据
; E) }  a( p. ^) O& y偶按照暗器数不减,放雷电必杀不减血,被敌人攻击不减血,一开始拥有99颗暗器雷顺序来教大家如何跟踪调试修改:
7 l+ h1 u2 x. D# V% v3 U" l' l+ ^% u- W4 y- V& H2 Z
(1)暗器不减:1 K) e. H' T: k2 E

6 s9 A# z+ ?* E% c6 a1 G; A% e9 A首先打开VirtualNes Debugger并加载赤影战士日版ROM,如图1:
2 ~5 Y: @( \/ G3 Y- g
; i8 V" k, W' V" L接下来游戏进行到获到暗器飞镖20个,如图2:
: K4 x6 b, ?) J1 n: e3 H3 |4 S: c. J. M- y0 [
接下来开始跟踪飞镖数量,先打开RAM,再打开DEBUG,先打开DEBUG的话,不然RAM就用不来:如图3、图4:7 W/ W) o  d. f+ q
; U5 D  _7 p4 i8 W+ |2 l; E; Y" ]0 g
先点暂停,根据如下面作弊码提供的暗器数量地址,如暗器数量地址是662,就在注释内出现后面方框中输入[0662](注:可以用这东东当条件断点),再点右边确定让游戏继续运行,如图5:$ \# m, c- |( j( |8 g3 F. O9 ]+ M
. L/ o' Q1 r7 }) `4 Y0 H" ]
[P1 暗器数量]8 o( o  ?' R. E- t
ON=662,FF  D: S' A* h& O, |. M7 f
6 u! K& c6 k! p( U# t
使用一次飞镖,程序会发生中断停在B840这一行,如图6:
% Z# w3 q% u: {" k8 x$ N
$ b6 E( \* u5 d  z& r% @' d: QB840 : DE 6206 DEC $0662,X;[0662]-- =0x13; e8 H  z2 b! B7 P& t5 h7 m2 W) y

! s  Q" t$ ]- h; L, P查指令表得知B840这个地址DEC $0662,X指令作用是将0662+(X)=真正暗器地址的数值减1;既然这样,只要把这条DEC $0662,X指令改为LDA $0662,X就可以让暗器数量不减了。LDA $0662,X作用是把0662+(X)=真正暗器地址的数值读入寄存器A。(X)是寄存器X的数值。
& f8 R4 F: z7 f举个例子:假设X寄存器数值是6,指令是“LDA $1234,X” 这条指令看上是将$1234地址数值读入寄存器A,但实际上$1234不是真正数值存放地址,1234必须加上寄存器X的数值才是真正数值存放的地址。1234+(X=6)=123A,LDA $1234,X指令应该是这样解释:将1234+(X=6)=123A地址读入寄存器A。
) h: e; @# _% A  aLDA xxxx,Y和LDA xxxx,X一样,不过寄存器X变成寄存器Y。/ y+ T8 e( J+ v& K- ^

% _+ Q/ S$ \4 @$ G2 _9 F8 f查指令机器码得知DE是DEC - Absolute,X,BD是LDA - Absolute,X,注意寻区方式要一样....把DE修改为BD就可以不减暗器数量了。
: m# i: `! {, I! N8 n
/ D$ v1 n0 ?' o8 u1 l5 j+ R6 F注意:别把BD修改成其他LDA指令,这样会死机的,因为指令寻区方式不一样。
$ N# d: K, F/ @/ i" `1 Q% b  N* Z" S5 l0 d  E6 g0 F
另外,有一些其他游戏是这样的:改为LDA $XXXX,X 那么就会破坏了寄存器A原来的数据了,后面的程序如果要直接用寄存器A的数值的话,那么就会造成游戏出错,如果后面的程序在用寄存器A的数值之前对寄存器A赋于新值就没事了。' c* [8 H0 e: A
. A  g9 N: n* A3 c& K8 X1 ]
接下来在RAM中找到B840:DE 62 06,如图7:' b+ e6 ?9 l1 G5 F8 H3 n

% ^+ b% g# x( J# r* z; b# R用笔纸抄下红框中数据,以便在查找,接得在RAM中把DE修改BD,如图8:3 ~( H4 S* Y9 y( b  G9 ^

+ k. K& d" |. ~' X9 O关闭DEBUG和RAM,回到游戏中测试吓暗器数量是否不减,暗器不减了,说明指令修改成功。如图9:
7 [/ h1 e8 F" d! l$ O2 o3 O* i$ K2 s9 m8 F( J
关闭模拟器,接下来用十六进制修改工具(如UltraEdit32)修改ROM,还记得之前用纸笔抄下的数据么?
; \6 ]8 I& n( v/ _7 _8 z: A; J, M! {8 Y7 k5 Q
打开UltraEdit32,载入赤影战士ROM,编辑之前按一下Insert把插入方式设为覆盖方式,如图10:
5 L$ ?/ [6 t4 z" S1 R6 T, r- [7 X% W0 W' ]. B
点击UltraEdit32“搜索”>“查找”,在弹出查找框中查找内容(N)后面方框中输入你用纸笔抄下的数据,再点“查找下一个”就能找到这个数据,如图11:
# f' M( d: A2 Q5 [2 k/ W* I% G$ i. @* U+ b6 d
如图12,结果出来,UltraEdit32高亮度显示你就是要找的数据,把DE修改为BD,再点“文件”>“保存”保存你修改结果。如图13:
0 r; s0 B. [) f2 m1 e9 j
7 T+ y* t) B8 [: V0 [# [关闭UltraEdit32打开模拟器载入修改后的ROM测试暗器数量是否不减,不减的话说明修改成功了,如图14:
0 Q3 M- f. E8 y( p/ K. p: h4 `+ }, [) A
暗器雷数量不减修改方法和暗器飞镖数量不减修改方法一样。就不再说了,留给大家练习一下。& M# `4 P- k; b/ V: K9 ?
7 J/ j' m8 G) g" v; |
[ 本帖最后由 疾风之狼 于 2009-10-14 15:08 编辑 ]

本帖子中包含更多资源

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

×

评分

2

查看全部评分

回复

使用道具 举报

签到天数: 2052 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-21 05:28:36 | 显示全部楼层
(2)放雷电必杀不扣体力
$ p7 M" n/ z+ A6 `5 n打开VirtualNes Debugger并加载赤影战士日版ROM,开始游戏,打开RAM和DEBUG,查询EC作弊码得知体力地址是6F0,
6 Z( y3 m, ?$ N$ g/ n" v
6 V' p. L) i8 s估计大家看暗器不减HACK教学后就知如何设置断点跟踪,我就不再说了,设置好断点后,回到游戏,按紧B键不放使出雷电必杀,
7 y4 h+ j5 J' K0 O; I" B
" e/ R& Z9 k  ^  y  d6 V9 [1 g当雷电必杀发出时,程序中断,程序停在B6FC:9D F006 STA$06F0,X这行,如图15:注意B6F6:E9 08 SBC#$08这条指令,这条指令作用是把
  n8 p: |. F4 B$ o7 i7 h! F+ j% H
地址06F0减去8,大家都知道赤影战士放雷电必杀后会扣去8点体力,而这个08正好是放雷电必杀所需要扣的体力,只要把08修改成00的话就不会扣体力。(当然你也可以修改成01,发必杀只扣1格体力啦^_^)
+ c  o' j; F$ p9 D) b/ k1 g" n: M1 c  q( E0 s
转到RAM,找到B6F6:E9 08,把图中红色方框数据抄下,以便查找。如图16:把08修改为00就不扣体力了,如图17:关闭RAM和DEBUG,再重启游戏,再发动必杀,不扣体力的话说明修改成功了。5 i  ^1 D% \, `. _1 [- S9 K( y
+ [2 l  }9 k+ j2 z, a) w
如图18:关闭模拟器,打开UltraEdit32,载入ROM,编辑之前按一下Insert把插入方式设为覆盖方式,点击“搜索”>“查找”,查找之前抄下的数据,找到如图19的数据:把08修改成00,再保存退出,如图20:
6 A- m8 _4 s! ]$ ]2 f* N$ k  a, k
再进模拟器打开修改后的ROM测试发必杀是否不减体力,不减体力的话说明修改成功。
! x  T0 W1 K+ g
3 Z) g9 B% Q- V( Y$ TPS:跌落损伤修改方法和发雷电必杀修改方法一样,我不再说了,留给大家练习,方法设置好断点,再找个地方跳楼自杀(-_-),就能跟踪找到地址了......
7 t; x, i. g' x) K6 G
4 u+ i1 R7 ^# Q0 J0 U& v9 u6 t偶找个时间再继续发如何HACK受攻击不减血和一开始拥有99个雷吧.......

本帖子中包含更多资源

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

×
回复

使用道具 举报

签到天数: 2052 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-21 06:27:29 | 显示全部楼层
(3)受攻击不减血
( G2 Z+ A7 U# s打开VirtualNes Debugger并加载赤影战士日版ROM,开始游戏后,打开RAM和DEBUG,同样用体力EC作弊码6F0来设置断点,设置好断点后,# q" O! E" k( t5 C6 g  q+ N2 ]
1 g7 y4 {& L8 Y* s# p, a# g4 O# O  U
回到游戏被敌人打一下,当敌人攻击主角时,程序中断,程序停在AC69:9D F006 STA $06F0,X这一行,如图21: 7 W/ l7 ~4 T1 N! z2 R( w$ `

0 W: m# V4 h$ G5 S/ r. ]" C注意AC69地址前面的AC63:E5 9D SBC$9D,这条指令作用将06F0,X地址数值减去009D地址数值。单单只将SBC指令修改LDA指令会有问题,偶考虑只有通过无条件转移指令(4C)再添加指令来达到不减血....., u; O0 v' `7 G' _3 V& Z, j) U

) y" i; ^$ c4 b3 }首先抄下如图22的数据,方便查找:之后在RAM中查找寻找连续储存的0xFF,可以在前面也可以在后面,也可以寻找连续储存的0x00,注意的是00是中断指令,有时候修改了游戏会出错。看情况吧。一般选择在连续储存的00中段开始加入修改数据。
6 K; P- Q8 |9 _/ [. S
2 z" s% g9 P5 b0 f9 H- a0 l偶在RAM后面FFC3~FFDF找到一些连续储存的FF,如图23红框中连续储存的FF,把FF前面的数据抄下,方便查找,接着测试吓这些FF是否能使用.....2 Y  T' c0 V/ ~1 I

" Y* V9 s+ I5 {& [2 _2 x; B% ^* M; h方法如下:4 _  u% T9 D; Z) S0 q! v

) [& h7 ~0 w8 m  {8 p9 ~) x7 m在RAM中把AC69的9D F0 06修改为4C C4 FF,指令说明:4C C4 FF作用是跳转到地址FFC4继续执行,4C是无条件跳转,如图24、25:7 l6 e4 I9 A0 o( A+ F" s

. ^% C# f8 ^( R为安全得想,偶跳过第一个的FF,而在第二个FF开始输入9D F0 06 4C 6C AC,指令说明:9D F0 06是以X为偏移量,把寄存器A内容送入06F0,X地址中,4C 6C AC是跳转到AC6C继续执行,如图26:
+ E3 a- _* Z9 R3 j( t) {9 z5 b9 M) _9 N* S
接下来关闭DEBUG和RAM,回到游戏看吓游戏是否正常游戏,能正常游戏说明地址能够跳转使用。如图27:) c. t! V  i/ e7 V
# T: m2 z1 \6 g8 T8 }1 U% G
接下来打开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:
3 P4 E) `  I, a1 o3 S2 E# n1 k
- @- i/ _4 X( n4 N+ o$ |' ]) S" R指令说明:A9 10是把数值10读入寄存器A中,9D F0 06是以X为偏移量,把寄存器A数值10送入06F0,X地址中,4C 6C AC是跳回AC6C继续执行* J9 C. @$ I# o$ Z. y

5 K& p. z9 c6 g4 h! Y关闭RAM,看看游戏是否减血了,不减血说明修改成功,如图29:
! i' V% f6 o( Q. j1 u& ]5 y# q# ~( M9 }5 \, r6 h
接下来,打开UltraEdit32,载入ROM,查找上图22的数据,如图30:5 B9 ~5 a/ d/ y$ X* T$ i
# g5 X* ~2 @& Y  P7 ]+ Z! G
找到把图中的9D F0 06修改为4C C4 FF,如图31、32:: A2 L# m, {1 Y0 ^# `

9 Y# T# z) ?* F9 b. p1 V/ K6 Z接着,查找上图23连续储存的FF前面的数据,比如上图23的连续储存的FF前面是20 86 A0 4C 22 EC,找到后,在20 86 A0 4C 22 EC后面的就是你要添加指令的连续储存FF,如图33:- t3 u( \; J1 h
8 o, G' G5 D% J" q! @) |6 N
同样跳过第一个FF,而在第二个FF开始添加指令,如图34:
' I* ]7 I. W4 E9 U* c, w(如果你真要在第一个FF开始添加指令的话也不是不可以;假设你是在第一个FF开始添加指令的话,那图32的4C C4 FF应该修改为4C C3 FF)
9 S  K2 J3 h0 p( M# c7 J0 x* y( F( O
6 @1 i: u8 K& E& A0 N: P保存ROM,退出UltraEdit32,再进模拟器测试是否不减血,不减血说明成功了.....,如图35:* C, ^8 F' t: K: }

2 ?# k8 U% h" v' t  K* \: h0 `[ 本帖最后由 疾风之狼 于 2008-12-1 12:24 编辑 ]

本帖子中包含更多资源

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

×
回复

使用道具 举报

签到天数: 2052 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-21 06:29:31 | 显示全部楼层
(4)一开始拥有99个暗器雷
8 |# W6 P! s; K: L- \0 I. z  K) M首先要找到体力初始值,大家知道在赤影战士中体力初始值什么时候开始读取并放到06F0、06F4地址中?答案是在选择人物后。(注:06F0是对应1P体力值地址,06F4是对应2P体力值地址), R9 P$ D" s: n+ Y4 L: m
# H) Z3 _0 k4 ~3 J
要想在游戏开始后立即就有99暗器雷,必须在数据初始化后面加入暗器雷和暗器数量指令代码,如何添加指令代码?方法是上面的受攻击血不减方法一样,同样用无条件跳转指令4C再添加指令。
* j0 m( b# e8 J8 U7 z$ v
5 l8 d5 a6 k+ A- d- t偶决定来教大家如何双人游戏时两人一开始拥有99暗器雷,打开VirtualNes Debugger并加载赤影战士日版ROM,选择双人游戏进入到选择人物后,打开RAM和DEBUG,用2P体力值EC码06F4地址来作为断点.....' d  H7 K7 P* Z9 O* Z2 S  a
, Q+ Z; F% f* ~/ w4 h
设置好断点后,回到游戏中,按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体力值地址)
: |2 K; Q8 {1 P7 U' p( w! {1 M$ F% d- j7 k
A2F7:A9 10   LDA#$10  :A=0x10          -->把数值10读入寄存器A) U5 j. K( z' q* t& W
A2F9:8D F006 STA$06F0 :[06F0]=A=0x10   -->把寄存器A的数值送入06F0地址
' x! X& A( m) n  I6 r* uA2FC:8D F406 STA$06F4 :[06F4]=A=0x10   -->把寄存器A的数值送入06F4地址( v8 t, N/ [* D: N5 |2 W- W
. ], [. Y0 f2 [7 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来添加指令吧....
$ }7 |+ `" Z1 C! s) y' O/ `" t" w0 x% d0 K& V6 l$ C) a4 M; X- V6 n( A3 A
接下来在RAM把A2FC的8D F4 06修改为4C C4 FF,如图38、39:4 X, z5 F! {/ a3 t& y8 I3 U. r$ X0 L

3 z. y- y0 }( o( A1 U接下来拉到滚动条来到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:
/ T3 U0 \8 p& z% |- h6 B# w7 s! Z, f  ^2 ~' {- ^& 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地址继续执行
& [; e! O" ?% `
" `2 N* p3 y  c- U: D6 |接下来关闭RAM和DEBUG,重启游戏,进入游戏后暗器数是99,按一下攻击,如果放的是暗器雷说明修改成功!如图41:
1 t, G4 p. Z* ]% N4 t! V; A: T8 n; L* B; r0 ~5 `
接下来关闭模拟器,打开UltraEdit32,载入ROM,查找你刚才用笔纸抄下的数据,找到后把8D F4 06修改为4C C4 FF,如图42、43:2 N8 h( P; L" r8 S
, l0 X$ ~6 b3 ^4 }* U9 B6 _' B- R
接下来在找到上图33的连续储存的FF地方,偶还是跳过第一个FF,而在第二个FF开始添加指令,如图44:9 ]+ l, }7 S' s( T
( A8 x# n% W( a, k# x7 X
保存ROM,关闭UltraEdit32,打开模拟器载入修改好的ROM测试,如图45:如没什么意外发生的话说明修改成功!; J; H7 S% t) Q

3 c+ F- L2 o' p  [) q* I菜鸟HACK教程到此完成!以偶目前HACK水平来说还算是一只HACK菜鸟,没有和尚HACK技术那么厉害!:L

本帖子中包含更多资源

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

×
回复

使用道具 举报

签到天数: 5 天

[LV.2]偶尔看看I

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

使用道具 举报

该用户从未签到

发表于 2007-4-21 10:27:49 | 显示全部楼层
9 Y7 t$ f8 |- W: Q8 Z" G0 n8 j* h
适合新手学习修改的教材
回复

使用道具 举报

该用户从未签到

发表于 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: 9 I, C( b6 |) F! V: ~% W$ x4 S! D6 d
不减血的教材
回复

使用道具 举报

签到天数: 2052 天

[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 | 显示全部楼层
呵呵 完成了,得好好学习
  x$ _* d$ Y* e. _; H' u) s2 pxiaofa兄弟也在这啊
回复

使用道具 举报

签到天数: 7 天

[LV.3]偶尔看看II

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

使用道具 举报

签到天数: 26 天

[LV.4]偶尔看看III

发表于 2007-11-5 21:46:57 | 显示全部楼层
终于可以自己去HACK简单的游戏了:loveliness: $ i8 B5 @+ I; Z4 n1 ?" X0 I" e
激动啊;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 | 显示全部楼层
好说的太好了
# g# N4 B. H7 n" }2 I- y- i我会了
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-8-25 04:28

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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