设为首页收藏本站

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

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

  [复制链接]

签到天数: 1992 天

[LV.Master]伴坛终老

发表于 2007-4-21 05:26:54 | 显示全部楼层 |阅读模式
注意:转载请注明本人名字和文章出处!
6 c) Q* P! C" p6 V) c  q' P3 P( h2 D6 c+ `0 I/ l! H2 d
菜鸟NES HACK简单教程(偶应N多人要求才做这个教程,有错误请指正:L )
6 J5 R4 y3 t! o# l5 S8 _
4 Q+ Z6 J# F4 |* T& n' H) ]NESHACK相关资料下载:http://bbs.emu618.com/forum/viewthread.php?tid=12675&extra=page%3D2
- D* G( L* o2 R: [8 D% {' y% u5 B" D( n
6052汇编大奥秘(详细介绍FC的汇编语言,推荐下载):http://bbs.emu618.com/forum/viewthread.php?tid=20393&extra=page%3D1
9 t! M! [9 g3 R, }) ^/ x6 E
+ S2 C$ s9 U6 k5 }开始之前先说几句废话
3 k4 E) K1 k" f% Y/ s% \  F5 e# }& Q) c3 F" l( O
第一,HACK之前先了解一下6502汇编指令,NES相关资料里有指令集说明文档,如果你看不懂英文的话就下载《6502汇编大奥秘》,里面有指令中文说明........^_^
7 K9 W* L4 X! s3 E/ o+ s, F: X' A+ l
个人建议:没必要把6502全部汇编指令硬背下来再跟踪调试,那样会很累,你可以一边调试一边查询指令说明.......
# p5 ?5 J0 O& j1 }3 \" u) O
+ K! b# z' w3 I5 h8 ]# P6 E* I. ]第二,还需要准备一些工具:NES调试跟踪工具(VirtualNes Debugger版或者no$nes-w、FCEUXD SP等NES调试跟踪工具)、十六进制之类编辑工具(Winhex或者UltraEdit32)) W# b! \6 |% i& k# e* D7 T

0 x# N3 e) d! C. @& h) ]) P第三,了解修改步骤:- M" i" {: f; P5 K$ M9 W# a, i$ P
1、首先要确定你要修改什么。连要修改什么都不知道,那怎能谈上修改呢。; O- @; R% L  G- k2 U
2、获取作弊码,换句话说就是要获得要修改数据的地址。推荐使用EC,这个软件自带作弊码和跟踪修改功能。
- K( i/ q/ @% X% p3、获得指令代码及其在Rom中的地址。一般通过VirtualNes Debugger版或者no$nes-w、FCEUXD SP等NES调试跟踪工具,再配合内存查看和十六进制之编辑工具确定指令以数据方式储存在Rom中的哪个地址。# K% k+ B: g" A8 b5 `3 G  \5 ^
4、修改相应指令或数据。一般来说要做尽量少的修改,而且不能让程序运行出错。, W+ J* |' Z# e* S( r; l
5、测试游戏运行情况,看游戏能不能按照你修改目的正常运行。7 G0 [9 Y6 r5 `* Q& c2 ^: `
) b  M, j/ W8 r" o( m: H3 p0 e7 U6 @
第四,偶以日版《赤影战士》和VirtualNes Debugger版来为例子教大家如何HACK:
( c7 ^0 F0 ~4 [  I1 V  T) t+ l
偶需要修改的数据:暗器数不减,放雷电必杀不减血,被敌人攻击不减血,一开始拥有99颗暗器雷
7 d* v: z6 J  f+ D$ k2 t: G7 a+ w  E( D6 o
1、获取作弊码,这个好容易得到,EC这个软件附带N多作弊码,省去自已手工查找作弊码了。^_^
5 {$ f1 K" V/ ^0 l5 m( C, ?( e[P1 生命值]* a& B+ w$ [1 n, B) a3 i% k2 s
ON=6F0,10
+ W) Q% }- h8 v1 ^1 I
# R: M; I  o& K) q) [5 ~' D[P1 暗器数量]
9 }5 j  ~" y( _$ v# U. w  TON=662,FF
" ?5 Q+ U9 g- @9 u* _6 T3 L% c- C) r  v/ `% B8 }! t  A
[P1 武器种类]
! Y& q! x+ q6 @刀=6B2,0" H! x) Q( W  K. ]
ON=6B2,3( z% Z2 `% ~: \- _) J0 r

6 l9 ?, J% d/ }+ R[P1 武器威力]/ B' P6 o4 @6 s$ [5 i( A+ P) j
ON=680,FF* Y% L, b2 F* t; m. M- g' N

/ l0 b! V! s4 q8 ^; j[P1 暗器种类]
# n% {1 m5 _1 p/ Q2 {标=671,06 Z. c$ k8 ]* S4 h: J) m, P
雷=671,1/ t( F8 ^: V5 d( ^  g3 m$ U
" I4 d$ o  e2 u1 ]5 H
[P1 隐身]
/ d& A" _/ g1 ~2 D+ |OFF=0000,0
7 K- b$ F  p/ zON=601,4C/ ^8 O& M; t% ^, Z
7 r) w; D6 D6 ^7 E8 s* t6 h* m
[P2 生命值], C" ?- ]; z( A* T+ ?
ON=6F4,10# ^, d3 X4 |# \  m5 {5 C9 V/ X6 I

9 _- P, B0 x& F0 W4 f[P2 暗器数量]
8 E" p" B& s: P# T0 t7 EON=666,FF! Q8 k5 w- d/ S) h% {

$ M+ H2 n+ Q! q! }8 _! S4 I9 E[P2 武器种类]6 z5 V) ^! I. ?- D: S& ^# k
刀=6B6,0
6 S8 r+ T- d$ v7 w4 QON=6B6,33 `  Y9 u5 Y7 f9 I; `( a

, m5 v9 G0 W( {) x! L+ o0 C2 w3 C[P2 武器威力]
% I  p9 _- p3 X6 b9 p: u# }# FON=684,FF
8 w/ r. S* S: |, A. N, x8 k- |3 r- x3 N
[P2 暗器种类]
" `" j5 h! u) r8 U) y标=675,0
9 y% u" n/ X8 [8 }2 o, a* e雷=675,17 z( U: ^# ^4 Z8 F+ k+ Q2 J3 @3 g8 @
& i( F; }5 ]% d) p! o
[P2 隐身]; S. T+ D# m% g5 U8 q
OFF=0000,0
4 K# a4 ?' M; I3 a5 Z5 j* m/ W' L8 ]ON=605,4C
% V9 Q" D! z; h+ C3 m6 c% c. V
: Q3 g, B% f5 @, R8 ?- o[GameInfo]
; s# T' c6 D# c, D' OName=Shadow of the Ninja (FC/NES)4 B5 ]0 {$ Y$ r7 V3 D
System=FC4 l. Z' l" D, N- _
Text=赤影战士(水上魂斗罗),双人、动作游戏,由大胖子提供!8 @( V5 e7 w0 w5 I& Q* C
- y4 J9 G+ B5 i9 H: r
[ 本帖最后由 疾风之狼 于 2009-10-14 15:09 编辑 ]

评分

1

查看全部评分

签到天数: 1992 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-21 05:27:43 | 显示全部楼层
2、通过调试跟踪获取指令代码及其在Rom中的地址,并用16进制编辑工具修改ROM其中数据
( {8 d& ?! r" E! i' s, B偶按照暗器数不减,放雷电必杀不减血,被敌人攻击不减血,一开始拥有99颗暗器雷顺序来教大家如何跟踪调试修改:. R% G* m5 d0 l& w, O. T/ b
6 b$ M* V5 f( \( l$ X0 r
(1)暗器不减:
# @# `$ X& I4 W# q, X: a0 Q$ {/ Q1 n
首先打开VirtualNes Debugger并加载赤影战士日版ROM,如图1:  h1 ^. }% |6 m
/ P4 P5 N: H; S0 K7 u. ^9 c' g
接下来游戏进行到获到暗器飞镖20个,如图2:
, k& A, ?* L4 h- U$ `; l% {
; h! I9 A/ P' S" E接下来开始跟踪飞镖数量,先打开RAM,再打开DEBUG,先打开DEBUG的话,不然RAM就用不来:如图3、图4:0 u0 E: T* N' B4 b8 Z
8 i3 ]; p: ]1 j6 Z/ y2 G
先点暂停,根据如下面作弊码提供的暗器数量地址,如暗器数量地址是662,就在注释内出现后面方框中输入[0662](注:可以用这东东当条件断点),再点右边确定让游戏继续运行,如图5:
4 b2 t1 I) F% G4 h: z. x" V# k  K7 I) o& H
[P1 暗器数量]
) R  ~, n& m! e3 V1 e/ H0 lON=662,FF3 p! F. u  O3 Q: K# H  w  H

7 E: ?' f# F! `% g使用一次飞镖,程序会发生中断停在B840这一行,如图6:7 e. R/ [" L  w

+ t7 B$ J+ o3 r  Y  YB840 : DE 6206 DEC $0662,X;[0662]-- =0x13
+ }+ X/ t; N( o/ `5 B1 f. \6 b  |1 ]9 }8 v$ L
查指令表得知B840这个地址DEC $0662,X指令作用是将0662+(X)=真正暗器地址的数值减1;既然这样,只要把这条DEC $0662,X指令改为LDA $0662,X就可以让暗器数量不减了。LDA $0662,X作用是把0662+(X)=真正暗器地址的数值读入寄存器A。(X)是寄存器X的数值。
. x7 d% p) C! J8 z举个例子:假设X寄存器数值是6,指令是“LDA $1234,X” 这条指令看上是将$1234地址数值读入寄存器A,但实际上$1234不是真正数值存放地址,1234必须加上寄存器X的数值才是真正数值存放的地址。1234+(X=6)=123A,LDA $1234,X指令应该是这样解释:将1234+(X=6)=123A地址读入寄存器A。8 {. Y- N' h9 b1 ?% c& _. H' l$ g
LDA xxxx,Y和LDA xxxx,X一样,不过寄存器X变成寄存器Y。
1 [3 ^8 K7 W# D# J* v8 S
( A* K% N) X: H9 g. A/ f: V查指令机器码得知DE是DEC - Absolute,X,BD是LDA - Absolute,X,注意寻区方式要一样....把DE修改为BD就可以不减暗器数量了。
; v( G% `4 y0 O$ Y4 p6 P* H+ P: T0 i$ _) g9 M8 U6 S7 T5 Q
注意:别把BD修改成其他LDA指令,这样会死机的,因为指令寻区方式不一样。) A( }& v$ l2 l( F) }& V; d
- B; A; @$ G, f) `* n7 [2 u
另外,有一些其他游戏是这样的:改为LDA $XXXX,X 那么就会破坏了寄存器A原来的数据了,后面的程序如果要直接用寄存器A的数值的话,那么就会造成游戏出错,如果后面的程序在用寄存器A的数值之前对寄存器A赋于新值就没事了。. b9 c; y9 z( n4 |7 U: `7 H
" Y) W5 C( G$ F- {: \* A2 ]4 A
接下来在RAM中找到B840:DE 62 06,如图7:
, b) m" f/ J0 A  J- I- M
7 C" ^& \! Q' T2 _用笔纸抄下红框中数据,以便在查找,接得在RAM中把DE修改BD,如图8:' a+ ~+ Y( b: G- x9 [

  ?3 p5 z; h6 M" j/ c8 I4 Q  x关闭DEBUG和RAM,回到游戏中测试吓暗器数量是否不减,暗器不减了,说明指令修改成功。如图9:
4 s5 E+ z- O3 M) J8 {* `) Z. f# W6 g
关闭模拟器,接下来用十六进制修改工具(如UltraEdit32)修改ROM,还记得之前用纸笔抄下的数据么?
& [* N8 w3 v9 H( c9 b3 ]) e5 u  F7 Q8 {4 n" d  ]6 z
打开UltraEdit32,载入赤影战士ROM,编辑之前按一下Insert把插入方式设为覆盖方式,如图10:, }4 E! J6 u, u5 T

+ B# s0 n) F3 U* P点击UltraEdit32“搜索”>“查找”,在弹出查找框中查找内容(N)后面方框中输入你用纸笔抄下的数据,再点“查找下一个”就能找到这个数据,如图11:
# J( K: B# Y6 Y* ^* z% }! _9 U: w, w" B! Y# ~* b4 \
如图12,结果出来,UltraEdit32高亮度显示你就是要找的数据,把DE修改为BD,再点“文件”>“保存”保存你修改结果。如图13:7 j4 Q. A. t! c2 L+ S

: f: z0 c! C$ R5 \" {/ B关闭UltraEdit32打开模拟器载入修改后的ROM测试暗器数量是否不减,不减的话说明修改成功了,如图14:
( l# h! C2 L& G! |2 d5 N4 Y
4 l0 G/ V, f% v1 E$ U* U暗器雷数量不减修改方法和暗器飞镖数量不减修改方法一样。就不再说了,留给大家练习一下。
, \2 D1 D6 J+ m" O' Z# e  A* ?; U2 d2 ?  _4 v& r- g
[ 本帖最后由 疾风之狼 于 2009-10-14 15:08 编辑 ]

本帖子中包含更多资源

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

×

评分

2

查看全部评分

回复

使用道具 举报

签到天数: 1992 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-21 05:28:36 | 显示全部楼层
(2)放雷电必杀不扣体力
6 L# a* k2 e- ^" L6 o1 m* f打开VirtualNes Debugger并加载赤影战士日版ROM,开始游戏,打开RAM和DEBUG,查询EC作弊码得知体力地址是6F0,
$ W7 ?' I1 @5 M6 u( ?; s+ i
8 V0 B8 d; P8 a7 r估计大家看暗器不减HACK教学后就知如何设置断点跟踪,我就不再说了,设置好断点后,回到游戏,按紧B键不放使出雷电必杀,
: b/ S* c% g# c* \; v, O2 I/ |8 y; r1 K7 F! h/ U0 r
当雷电必杀发出时,程序中断,程序停在B6FC:9D F006 STA$06F0,X这行,如图15:注意B6F6:E9 08 SBC#$08这条指令,这条指令作用是把' [7 k+ k- X/ `* J  z. t7 N
  N5 o9 q! U' K" }
地址06F0减去8,大家都知道赤影战士放雷电必杀后会扣去8点体力,而这个08正好是放雷电必杀所需要扣的体力,只要把08修改成00的话就不会扣体力。(当然你也可以修改成01,发必杀只扣1格体力啦^_^)
0 R  j/ }% `0 |; J2 c- h! @7 u8 n* Y4 \$ {; t5 _1 S
转到RAM,找到B6F6:E9 08,把图中红色方框数据抄下,以便查找。如图16:把08修改为00就不扣体力了,如图17:关闭RAM和DEBUG,再重启游戏,再发动必杀,不扣体力的话说明修改成功了。
' v% G% Q* H# E4 \# U, d4 C2 ]" g) k" r/ O& Y4 A: [4 T! c
如图18:关闭模拟器,打开UltraEdit32,载入ROM,编辑之前按一下Insert把插入方式设为覆盖方式,点击“搜索”>“查找”,查找之前抄下的数据,找到如图19的数据:把08修改成00,再保存退出,如图20:& s4 U2 e8 l% H  M
8 q. S) y  G0 V: h9 \% R+ o
再进模拟器打开修改后的ROM测试发必杀是否不减体力,不减体力的话说明修改成功。
) |( n' v% y' O7 m9 w5 I5 ]* B8 |( k( [# [" l* I6 _
PS:跌落损伤修改方法和发雷电必杀修改方法一样,我不再说了,留给大家练习,方法设置好断点,再找个地方跳楼自杀(-_-),就能跟踪找到地址了......
6 h# @7 G4 ?/ A: U  R3 y0 R0 d) Q" g" W" o; J5 o$ a( B9 y/ h" l
偶找个时间再继续发如何HACK受攻击不减血和一开始拥有99个雷吧.......

本帖子中包含更多资源

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

×
回复

使用道具 举报

签到天数: 1992 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-21 06:27:29 | 显示全部楼层
(3)受攻击不减血  D: Z. b9 ]) Z) N  c
打开VirtualNes Debugger并加载赤影战士日版ROM,开始游戏后,打开RAM和DEBUG,同样用体力EC作弊码6F0来设置断点,设置好断点后,
4 |% F4 a9 w5 f6 o0 }; a4 P1 m- F  y9 ]5 Z4 S7 X
回到游戏被敌人打一下,当敌人攻击主角时,程序中断,程序停在AC69:9D F006 STA $06F0,X这一行,如图21: : w3 O4 R4 G$ W; u  ^, z

( r; q, b7 C/ `; i注意AC69地址前面的AC63:E5 9D SBC$9D,这条指令作用将06F0,X地址数值减去009D地址数值。单单只将SBC指令修改LDA指令会有问题,偶考虑只有通过无条件转移指令(4C)再添加指令来达到不减血.....
8 w1 Y: G$ s3 e9 y  O: i/ O+ a/ e+ f, H7 E! P( g
首先抄下如图22的数据,方便查找:之后在RAM中查找寻找连续储存的0xFF,可以在前面也可以在后面,也可以寻找连续储存的0x00,注意的是00是中断指令,有时候修改了游戏会出错。看情况吧。一般选择在连续储存的00中段开始加入修改数据。6 m( Y  [5 Q6 l; |( Y

( X5 v7 u/ m* p: S5 u偶在RAM后面FFC3~FFDF找到一些连续储存的FF,如图23红框中连续储存的FF,把FF前面的数据抄下,方便查找,接着测试吓这些FF是否能使用.....
8 m4 ~0 E' p# x7 B4 c% @2 {2 S2 a  b/ B) ~5 M/ j) e$ q/ A3 R
方法如下:; n! Z" f9 Y; K7 F1 ^% B

7 }) W1 D; \% E+ j0 q( y3 u$ N在RAM中把AC69的9D F0 06修改为4C C4 FF,指令说明:4C C4 FF作用是跳转到地址FFC4继续执行,4C是无条件跳转,如图24、25:
% |& F9 S* q& `+ T. O
9 A8 k- `8 [. Q# N# ~2 {* g9 `2 E为安全得想,偶跳过第一个的FF,而在第二个FF开始输入9D F0 06 4C 6C AC,指令说明:9D F0 06是以X为偏移量,把寄存器A内容送入06F0,X地址中,4C 6C AC是跳转到AC6C继续执行,如图26:
& I! S( |7 P8 A! o! ~3 j4 h) l" E! s2 z: d/ C5 u
接下来关闭DEBUG和RAM,回到游戏看吓游戏是否正常游戏,能正常游戏说明地址能够跳转使用。如图27:! F" m2 X. W! p7 W% ]. Y

, ~- X4 k, \7 a+ g% f. 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:! Q( c$ y. v4 }% y* d9 Q- Q

9 W0 k* b3 O- U1 _. S2 ^指令说明:A9 10是把数值10读入寄存器A中,9D F0 06是以X为偏移量,把寄存器A数值10送入06F0,X地址中,4C 6C AC是跳回AC6C继续执行
' w6 E! F, x. V$ T9 H3 O8 w7 ?  K, Z; S1 S) K/ W2 Z0 ~" R
关闭RAM,看看游戏是否减血了,不减血说明修改成功,如图29:
: d5 x4 X' _- z- j& V3 ?! }5 i, d6 X
接下来,打开UltraEdit32,载入ROM,查找上图22的数据,如图30:4 \$ S  \. Z, q5 T; r
: H( @8 b, O; M; n+ l1 U4 y
找到把图中的9D F0 06修改为4C C4 FF,如图31、32:) N; C4 ?& b. U. N2 t- q9 u0 L
! g$ G& X1 Y- X( v. a% z& _7 N' D! o4 f
接着,查找上图23连续储存的FF前面的数据,比如上图23的连续储存的FF前面是20 86 A0 4C 22 EC,找到后,在20 86 A0 4C 22 EC后面的就是你要添加指令的连续储存FF,如图33:
3 h8 g' C6 D  x
4 ~2 G, c4 {& Y6 }: s同样跳过第一个FF,而在第二个FF开始添加指令,如图34:
( h) F; s; U# z9 M: c(如果你真要在第一个FF开始添加指令的话也不是不可以;假设你是在第一个FF开始添加指令的话,那图32的4C C4 FF应该修改为4C C3 FF)( ^3 I% P4 Y2 R* W" P7 W
* M; B: ^( p2 O- _5 l3 f2 a- c; \
保存ROM,退出UltraEdit32,再进模拟器测试是否不减血,不减血说明成功了.....,如图35:5 K) G" h+ U/ Q# u7 }

" H# q0 d9 G" p. D' Z[ 本帖最后由 疾风之狼 于 2008-12-1 12:24 编辑 ]

本帖子中包含更多资源

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

×
回复

使用道具 举报

签到天数: 1992 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-21 06:29:31 | 显示全部楼层
(4)一开始拥有99个暗器雷
8 v+ [! q" D  a) V, w首先要找到体力初始值,大家知道在赤影战士中体力初始值什么时候开始读取并放到06F0、06F4地址中?答案是在选择人物后。(注:06F0是对应1P体力值地址,06F4是对应2P体力值地址)
: y$ V* t7 Y, l, E0 b
  U) j; m& h( J9 D要想在游戏开始后立即就有99暗器雷,必须在数据初始化后面加入暗器雷和暗器数量指令代码,如何添加指令代码?方法是上面的受攻击血不减方法一样,同样用无条件跳转指令4C再添加指令。2 _0 @$ |! `4 ?# @. K
6 ^. V- U" E! l5 g
偶决定来教大家如何双人游戏时两人一开始拥有99暗器雷,打开VirtualNes Debugger并加载赤影战士日版ROM,选择双人游戏进入到选择人物后,打开RAM和DEBUG,用2P体力值EC码06F4地址来作为断点.....% o" o% t9 c  O9 }+ k

* a* [' l) F" R3 d5 o4 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体力值地址)
6 F1 K, ^4 O2 K
& k. Z5 `% [* ]! lA2F7:A9 10   LDA#$10  :A=0x10          -->把数值10读入寄存器A  M9 q; L$ D5 v2 `& e/ _/ Y4 l
A2F9:8D F006 STA$06F0 :[06F0]=A=0x10   -->把寄存器A的数值送入06F0地址
9 k. Q0 t8 T' q8 X1 W! {A2FC:8D F406 STA$06F4 :[06F4]=A=0x10   -->把寄存器A的数值送入06F4地址# I7 x8 m/ Z( {. f  _

7 O3 r& _  }, g1 ]在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来添加指令吧....& O  k& ]7 p9 X3 G7 F& A# e" @/ R0 I

7 o% w- U& O& g接下来在RAM把A2FC的8D F4 06修改为4C C4 FF,如图38、39:
4 V" e) |( f5 n" Q2 Y
7 v, s/ \2 {! N) H' H/ f接下来拉到滚动条来到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:
; x7 q& x5 J* w9 G; L% y% b. X, X/ E6 X& ]9 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地址继续执行
; Y  A5 b% [1 Z$ J* I# ]( Q. J0 s* k- Y6 ^+ C
接下来关闭RAM和DEBUG,重启游戏,进入游戏后暗器数是99,按一下攻击,如果放的是暗器雷说明修改成功!如图41:+ P' p+ C7 D3 \4 k
6 i: k/ w( W+ M* w8 Z, d( R) P
接下来关闭模拟器,打开UltraEdit32,载入ROM,查找你刚才用笔纸抄下的数据,找到后把8D F4 06修改为4C C4 FF,如图42、43:
( d- A) Y2 b' C" G- Y1 g1 y2 F8 ^7 q# G& i
接下来在找到上图33的连续储存的FF地方,偶还是跳过第一个FF,而在第二个FF开始添加指令,如图44:+ G6 z) F9 L/ }2 z8 E
( D# d; s" h- ]9 r; p0 q2 q, h
保存ROM,关闭UltraEdit32,打开模拟器载入修改好的ROM测试,如图45:如没什么意外发生的话说明修改成功!& y! R0 V# w# z2 o

9 L5 i8 u" N. W  H6 s7 y6 m, S8 m/ V8 W菜鸟HACK教程到此完成!以偶目前HACK水平来说还算是一只HACK菜鸟,没有和尚HACK技术那么厉害!:L

本帖子中包含更多资源

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

×
回复

使用道具 举报

签到天数: 5 天

[LV.2]偶尔看看I

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

使用道具 举报

该用户从未签到

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

' ^# W2 Q" u) ^适合新手学习修改的教材
回复

使用道具 举报

该用户从未签到

发表于 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: $ Q; ?9 k4 B" f" D
不减血的教材
回复

使用道具 举报

签到天数: 1992 天

[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 | 显示全部楼层
呵呵 完成了,得好好学习
2 I, f5 k* ]: W5 s+ x* Q! D  }xiaofa兄弟也在这啊
回复

使用道具 举报

签到天数: 7 天

[LV.3]偶尔看看II

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

使用道具 举报

签到天数: 26 天

[LV.4]偶尔看看III

发表于 2007-11-5 21:46:57 | 显示全部楼层
终于可以自己去HACK简单的游戏了:loveliness: " b0 z; g- z+ y$ g, Q- O
激动啊;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! F8 s+ U, I' v7 r; T
我会了
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-6-25 20:29

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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