EMU618社区

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

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

 关闭 [复制链接]

签到天数: 2175 天

[LV.Master]伴坛终老

发表于 2007-4-21 05:26:54 | 显示全部楼层 |阅读模式
注意:转载请注明本人名字和文章出处!
, Q2 g5 M$ M) ?* c* H) {) k- k3 b$ k$ a7 m  b5 `0 a$ L
菜鸟NES HACK简单教程(偶应N多人要求才做这个教程,有错误请指正:L )  e$ Q7 Y# X, m7 S: B
' M9 ?8 M; k; m2 ~2 v8 K
NESHACK相关资料下载:http://bbs.emu618.com/forum/viewthread.php?tid=12675&extra=page%3D2% y& ?: S+ j+ S/ x- n. E& C

6 t# Q0 I. d$ R+ k9 G+ P+ X* J6052汇编大奥秘(详细介绍FC的汇编语言,推荐下载):http://bbs.emu618.com/forum/viewthread.php?tid=20393&extra=page%3D1
! S8 |* j  \- y0 X$ h8 i4 X9 m. Q: A7 T. t: K
开始之前先说几句废话! g& F. k2 r  c8 x# y% n( ]

( f2 Z( `6 q  z. ^' K# {第一,HACK之前先了解一下6502汇编指令,NES相关资料里有指令集说明文档,如果你看不懂英文的话就下载《6502汇编大奥秘》,里面有指令中文说明........^_^( R- U; r+ x2 _1 c% U8 `$ v9 |! M9 Z- N, T
# G3 J: D0 L/ I/ Z
个人建议:没必要把6502全部汇编指令硬背下来再跟踪调试,那样会很累,你可以一边调试一边查询指令说明.......
1 Q; M8 D  u6 J( R; z; D# }8 T% Z+ ]& |  Z
第二,还需要准备一些工具:NES调试跟踪工具(VirtualNes Debugger版或者no$nes-w、FCEUXD SP等NES调试跟踪工具)、十六进制之类编辑工具(Winhex或者UltraEdit32)
; i$ I5 J' z! e+ |1 J# e
- e9 i( d  o6 I' V$ Y第三,了解修改步骤:# L$ C1 F2 G7 H( Q* g
1、首先要确定你要修改什么。连要修改什么都不知道,那怎能谈上修改呢。
1 G5 S' d  y  `( e0 z, D4 C2、获取作弊码,换句话说就是要获得要修改数据的地址。推荐使用EC,这个软件自带作弊码和跟踪修改功能。6 E* N& E7 n# k. E: R) s: ^3 i0 Z
3、获得指令代码及其在Rom中的地址。一般通过VirtualNes Debugger版或者no$nes-w、FCEUXD SP等NES调试跟踪工具,再配合内存查看和十六进制之编辑工具确定指令以数据方式储存在Rom中的哪个地址。# j% k( w) Y  D' p" q# E
4、修改相应指令或数据。一般来说要做尽量少的修改,而且不能让程序运行出错。
& d6 b# n( d% |3 ^7 B* H& W* P5、测试游戏运行情况,看游戏能不能按照你修改目的正常运行。
0 ~' w( t5 t! X# R' O' P) d2 K& h+ z) c% s3 F8 n) U, I  K: j
第四,偶以日版《赤影战士》和VirtualNes Debugger版来为例子教大家如何HACK:8 ]& K' Z6 K5 m- P4 B

. n) g/ j; i5 Y, F" G( n偶需要修改的数据:暗器数不减,放雷电必杀不减血,被敌人攻击不减血,一开始拥有99颗暗器雷
+ q0 T9 W% k# U6 C# i/ U
0 K; x: N% V5 F  L1 Z1、获取作弊码,这个好容易得到,EC这个软件附带N多作弊码,省去自已手工查找作弊码了。^_^
! h* Y/ Z1 O. @" {9 g% e: U[P1 生命值]
! q; x) e; J% M* y5 {4 wON=6F0,10
8 S# T0 u( _! h4 z3 q% o0 @( I$ {7 A  H. L4 p
[P1 暗器数量]* {  K" l) z/ r) K4 W+ j6 h
ON=662,FF
! L& x$ I5 x( ?* @* {9 D# t+ @' F& i: J
[P1 武器种类]% a3 }# D/ c& h6 M6 `7 R) ]5 {, |
刀=6B2,0" W0 N2 A1 ?+ ?3 B  d  `2 E
ON=6B2,3
+ I; e& }& R7 }6 ^) J1 z2 n9 W
/ w. R! a8 z; b$ b. g  N[P1 武器威力]
0 `5 M  }1 Y8 c' q/ B* m$ |ON=680,FF. d( X- _1 _" {0 |0 w) n

% W" p( V0 e& D) }% J! J[P1 暗器种类]
5 |# ^( L3 {+ J# d7 i( _% E$ X6 h, y: ?标=671,01 ]* Q7 t# M0 y
雷=671,1, f, S+ D7 r; j3 W6 ^

3 @& `& N/ }; w[P1 隐身]
6 d, L6 f1 n4 Z0 lOFF=0000,04 J% c. B. F! H/ r) ?
ON=601,4C  T' ^' s- A# x
. J* X' v" F, c2 H9 q
[P2 生命值]# l0 c) ?% q/ }# J+ P1 i+ k
ON=6F4,10
, v! l3 Z- P- B9 ?
; E  }; h0 Y9 W+ g2 q- i[P2 暗器数量]
( X5 t. [( ^0 F  a. VON=666,FF+ |5 W# V; s, u7 Y% \, ~  K
8 n  h# q: K1 v/ m( [
[P2 武器种类]
3 s  g- Z6 `& H$ X刀=6B6,0
3 D7 w( H' X& i4 n2 SON=6B6,3
: H+ n, m; A( C1 X; T& w5 W
6 V3 D2 `4 P9 Q1 C0 W[P2 武器威力]4 A% F* C  t& ]/ y+ }! ?
ON=684,FF
* J1 ]4 b: \. ?7 O! y5 A
! I8 N9 l, N: j: A[P2 暗器种类]1 P9 C2 D" P# J7 p
标=675,06 W2 O4 y5 x, s& ^
雷=675,1
: e. o3 O1 J' o+ G8 e$ H+ \+ [# B( f. d0 V3 D9 j( q3 f
[P2 隐身], `& C" C* a, Y3 M/ \  i
OFF=0000,0
# {+ p/ v. C6 f8 wON=605,4C
7 W6 R# Z' X2 @/ N+ d
, s4 R* Y, }1 g5 ?$ z2 x" P7 i[GameInfo]
3 _3 }% D' J# o8 b& g' Z" [Name=Shadow of the Ninja (FC/NES)- F8 ^; d2 g# m) g1 z. n. T& \
System=FC
: E- [! f" h) g  b3 LText=赤影战士(水上魂斗罗),双人、动作游戏,由大胖子提供!, T" ]& H9 P0 U7 h4 a/ c
9 l2 \& T! B5 c
[ 本帖最后由 疾风之狼 于 2009-10-14 15:09 编辑 ]

评分

1

查看全部评分

签到天数: 2175 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-21 05:27:43 | 显示全部楼层
2、通过调试跟踪获取指令代码及其在Rom中的地址,并用16进制编辑工具修改ROM其中数据4 r+ R/ G1 ?! p, C2 S
偶按照暗器数不减,放雷电必杀不减血,被敌人攻击不减血,一开始拥有99颗暗器雷顺序来教大家如何跟踪调试修改:8 e$ y+ k4 r4 D3 W/ {$ Q$ ?$ O( b( e
; L! B9 `* K8 q
(1)暗器不减:
# d' w* ]+ h3 K) W6 m+ k
3 ]6 Q, y8 R& m+ w+ e$ t首先打开VirtualNes Debugger并加载赤影战士日版ROM,如图1:. f" ~4 Q1 G3 o9 \6 e# `6 s, w( o
. [- V& ^8 K$ _; |% ^
接下来游戏进行到获到暗器飞镖20个,如图2:# L( B! P' ~2 G( Y5 I5 N2 e
9 v, l8 G/ _) _# [  Y5 X% m% ^' x
接下来开始跟踪飞镖数量,先打开RAM,再打开DEBUG,先打开DEBUG的话,不然RAM就用不来:如图3、图4:4 b/ s: S. h# B% G3 V% H8 G1 W3 z

8 m5 I$ }, g3 `/ k( s4 {先点暂停,根据如下面作弊码提供的暗器数量地址,如暗器数量地址是662,就在注释内出现后面方框中输入[0662](注:可以用这东东当条件断点),再点右边确定让游戏继续运行,如图5:2 T! q. _: s. \. {. d9 t  h7 a
& l- ?# L1 c7 ^7 y
[P1 暗器数量]8 O8 ^: p% b5 {8 B* J( X
ON=662,FF( D+ m& ]( M) D9 E' O
/ Q, [( Z4 `0 N" f/ C$ y# t5 z
使用一次飞镖,程序会发生中断停在B840这一行,如图6:
# ^. F$ ^, j' ]8 z6 t$ b1 R% Z8 e  {( T) m# r
B840 : DE 6206 DEC $0662,X;[0662]-- =0x13
5 ~" }% o: G" I, N9 }
- P0 x6 |. B+ Z  w0 I$ U7 F. c查指令表得知B840这个地址DEC $0662,X指令作用是将0662+(X)=真正暗器地址的数值减1;既然这样,只要把这条DEC $0662,X指令改为LDA $0662,X就可以让暗器数量不减了。LDA $0662,X作用是把0662+(X)=真正暗器地址的数值读入寄存器A。(X)是寄存器X的数值。2 Z- J+ ^% f0 D
举个例子:假设X寄存器数值是6,指令是“LDA $1234,X” 这条指令看上是将$1234地址数值读入寄存器A,但实际上$1234不是真正数值存放地址,1234必须加上寄存器X的数值才是真正数值存放的地址。1234+(X=6)=123A,LDA $1234,X指令应该是这样解释:将1234+(X=6)=123A地址读入寄存器A。
" g7 `: k& o' ^) I* y2 f( t; A5 e$ }LDA xxxx,Y和LDA xxxx,X一样,不过寄存器X变成寄存器Y。% I; e, R3 G- R5 v% X
) \+ K2 u; Q( o5 n
查指令机器码得知DE是DEC - Absolute,X,BD是LDA - Absolute,X,注意寻区方式要一样....把DE修改为BD就可以不减暗器数量了。
9 r* `. P2 a6 `3 z, Z, t, R3 G' ?4 s) H
注意:别把BD修改成其他LDA指令,这样会死机的,因为指令寻区方式不一样。# V- z" C, }/ Q
8 m- m2 v/ x( a' ]- `; t
另外,有一些其他游戏是这样的:改为LDA $XXXX,X 那么就会破坏了寄存器A原来的数据了,后面的程序如果要直接用寄存器A的数值的话,那么就会造成游戏出错,如果后面的程序在用寄存器A的数值之前对寄存器A赋于新值就没事了。/ G3 ~5 @- p) E5 _; R
: `  f% T. q/ M/ @3 J
接下来在RAM中找到B840:DE 62 06,如图7:
; T% _  w5 T& i) I) \
' Z" j7 _  \9 L2 k% q" ?' c用笔纸抄下红框中数据,以便在查找,接得在RAM中把DE修改BD,如图8:4 P1 Z2 L; ^. k+ R

5 G+ W, n. `& j% i关闭DEBUG和RAM,回到游戏中测试吓暗器数量是否不减,暗器不减了,说明指令修改成功。如图9:  e1 q7 J% |5 m6 z9 Y6 e
: E' m5 n& e  m( {: @5 S
关闭模拟器,接下来用十六进制修改工具(如UltraEdit32)修改ROM,还记得之前用纸笔抄下的数据么?3 i! R/ y) j, N& @* M. d4 k. V. C
; \8 x- G; {4 U" v3 O
打开UltraEdit32,载入赤影战士ROM,编辑之前按一下Insert把插入方式设为覆盖方式,如图10:& e3 j. X5 S' t9 D

8 }, ~: [2 @) D' ~$ R- J/ p: }点击UltraEdit32“搜索”>“查找”,在弹出查找框中查找内容(N)后面方框中输入你用纸笔抄下的数据,再点“查找下一个”就能找到这个数据,如图11:
. D6 P4 L/ \' V  a  ~% F. D  c$ @+ p+ j- t5 q& |, ~
如图12,结果出来,UltraEdit32高亮度显示你就是要找的数据,把DE修改为BD,再点“文件”>“保存”保存你修改结果。如图13:" w! Y) H1 d& m9 R% \* l/ e  @3 s3 a

) ~2 H  l, i8 {( D  X7 \5 }2 x0 F关闭UltraEdit32打开模拟器载入修改后的ROM测试暗器数量是否不减,不减的话说明修改成功了,如图14:
2 B; ]: Z/ K! m; D2 n. }& Z6 n4 ~& N8 O0 ^/ k) h2 W) k8 p
暗器雷数量不减修改方法和暗器飞镖数量不减修改方法一样。就不再说了,留给大家练习一下。6 r; S2 j9 S. I: @
' U: G% p$ }3 c8 B
[ 本帖最后由 疾风之狼 于 2009-10-14 15:08 编辑 ]

本帖子中包含更多资源

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

x

评分

2

查看全部评分

签到天数: 2175 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-21 05:28:36 | 显示全部楼层
(2)放雷电必杀不扣体力% A8 X3 V7 I6 f6 v: c/ A" j6 m7 [
打开VirtualNes Debugger并加载赤影战士日版ROM,开始游戏,打开RAM和DEBUG,查询EC作弊码得知体力地址是6F0,3 Q! C- V7 f3 h8 t3 P5 q
" X! I4 k8 Q1 a1 i  B- o
估计大家看暗器不减HACK教学后就知如何设置断点跟踪,我就不再说了,设置好断点后,回到游戏,按紧B键不放使出雷电必杀,2 ]4 I$ S: K/ z
7 l8 o9 [: _; |/ N
当雷电必杀发出时,程序中断,程序停在B6FC:9D F006 STA$06F0,X这行,如图15:注意B6F6:E9 08 SBC#$08这条指令,这条指令作用是把
3 j6 a) y' N& v4 s4 m5 o2 O8 g
$ J" d% }( n- p9 @! E1 G9 k. m地址06F0减去8,大家都知道赤影战士放雷电必杀后会扣去8点体力,而这个08正好是放雷电必杀所需要扣的体力,只要把08修改成00的话就不会扣体力。(当然你也可以修改成01,发必杀只扣1格体力啦^_^)! Y* S  v& C' h3 ]* d- B
) }6 w& d! ?: e$ Z# a4 X& }
转到RAM,找到B6F6:E9 08,把图中红色方框数据抄下,以便查找。如图16:把08修改为00就不扣体力了,如图17:关闭RAM和DEBUG,再重启游戏,再发动必杀,不扣体力的话说明修改成功了。
! M9 s6 n5 W, j4 n
) ], e; |7 }  l, e$ W/ S$ A+ ]如图18:关闭模拟器,打开UltraEdit32,载入ROM,编辑之前按一下Insert把插入方式设为覆盖方式,点击“搜索”>“查找”,查找之前抄下的数据,找到如图19的数据:把08修改成00,再保存退出,如图20:
; H% X9 s  z4 B: [$ Y
# ?9 z& L. [* G- X9 p) l再进模拟器打开修改后的ROM测试发必杀是否不减体力,不减体力的话说明修改成功。
! P9 ^4 B& o3 z$ C$ x3 I
: y5 _  X# w$ ?) uPS:跌落损伤修改方法和发雷电必杀修改方法一样,我不再说了,留给大家练习,方法设置好断点,再找个地方跳楼自杀(-_-),就能跟踪找到地址了......: @1 D$ o- ^6 ]
8 o4 r6 T1 d1 t8 `
偶找个时间再继续发如何HACK受攻击不减血和一开始拥有99个雷吧.......

本帖子中包含更多资源

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

x

签到天数: 2175 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-21 06:27:29 | 显示全部楼层
(3)受攻击不减血2 d7 C- o9 f3 g( O& `  c" w5 R
打开VirtualNes Debugger并加载赤影战士日版ROM,开始游戏后,打开RAM和DEBUG,同样用体力EC作弊码6F0来设置断点,设置好断点后,& P2 L) h0 O' t6 F  c7 @. h

7 [' E9 Z1 u) c& U$ E" A% M6 r# U回到游戏被敌人打一下,当敌人攻击主角时,程序中断,程序停在AC69:9D F006 STA $06F0,X这一行,如图21:
3 R: Y% S" l+ C( T1 {3 C5 x; e/ y& \' p9 a4 T2 g
注意AC69地址前面的AC63:E5 9D SBC$9D,这条指令作用将06F0,X地址数值减去009D地址数值。单单只将SBC指令修改LDA指令会有问题,偶考虑只有通过无条件转移指令(4C)再添加指令来达到不减血.....
- T  D2 E( Y+ r( C, ?, B8 N1 {. j, A8 k- Z( E' s4 n# H+ S1 `  Q
首先抄下如图22的数据,方便查找:之后在RAM中查找寻找连续储存的0xFF,可以在前面也可以在后面,也可以寻找连续储存的0x00,注意的是00是中断指令,有时候修改了游戏会出错。看情况吧。一般选择在连续储存的00中段开始加入修改数据。0 x' ?' D$ y; B2 h9 M9 P' B

2 v1 j+ \2 f2 t4 w! I$ l偶在RAM后面FFC3~FFDF找到一些连续储存的FF,如图23红框中连续储存的FF,把FF前面的数据抄下,方便查找,接着测试吓这些FF是否能使用.....  O6 L" B1 @! ~
0 h, [. N) l5 O3 t
方法如下:; _: O3 [& n" d  y
7 X6 L9 n! Y# i8 n, Q
在RAM中把AC69的9D F0 06修改为4C C4 FF,指令说明:4C C4 FF作用是跳转到地址FFC4继续执行,4C是无条件跳转,如图24、25:' u9 [! S$ ^% {2 R
. w3 M3 I0 Q* |" x4 ?! ~5 t
为安全得想,偶跳过第一个的FF,而在第二个FF开始输入9D F0 06 4C 6C AC,指令说明:9D F0 06是以X为偏移量,把寄存器A内容送入06F0,X地址中,4C 6C AC是跳转到AC6C继续执行,如图26:' U% q0 B' f0 @( c
8 s1 \$ i) K) b( [
接下来关闭DEBUG和RAM,回到游戏看吓游戏是否正常游戏,能正常游戏说明地址能够跳转使用。如图27:4 D) A. z5 U0 O1 Z

) a0 \* l- B- V; g* x' I/ i( Y* I4 C接下来打开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:
" G- S9 D/ U5 d# s9 J8 w2 r; c$ m" s4 D( e
指令说明:A9 10是把数值10读入寄存器A中,9D F0 06是以X为偏移量,把寄存器A数值10送入06F0,X地址中,4C 6C AC是跳回AC6C继续执行1 {. `$ I( [) P2 E" T1 c

% r! W- J: l# X3 }关闭RAM,看看游戏是否减血了,不减血说明修改成功,如图29:; d+ i" T0 E8 u" Z
7 O4 U' H0 r9 f6 `$ _% ~
接下来,打开UltraEdit32,载入ROM,查找上图22的数据,如图30:, T4 z4 [) K/ }" ?( L

- b7 ^9 i6 K/ l找到把图中的9D F0 06修改为4C C4 FF,如图31、32:2 y6 m# R+ k" a; P

! O& H- c- Q4 i. b3 x, N, s接着,查找上图23连续储存的FF前面的数据,比如上图23的连续储存的FF前面是20 86 A0 4C 22 EC,找到后,在20 86 A0 4C 22 EC后面的就是你要添加指令的连续储存FF,如图33:  |5 E4 u9 T0 v2 \, f  a0 j3 U
% ?6 U0 i) Q- ]0 v2 R
同样跳过第一个FF,而在第二个FF开始添加指令,如图34:9 d, e6 }8 m9 u' j
(如果你真要在第一个FF开始添加指令的话也不是不可以;假设你是在第一个FF开始添加指令的话,那图32的4C C4 FF应该修改为4C C3 FF)8 @6 O  b& u) p9 w7 ]; T
( ]1 x: [2 ~4 V1 g2 g1 p0 l
保存ROM,退出UltraEdit32,再进模拟器测试是否不减血,不减血说明成功了.....,如图35:
% t+ J9 a. `/ m5 s4 [/ U' f& l! C6 Y- {# Q
[ 本帖最后由 疾风之狼 于 2008-12-1 12:24 编辑 ]

本帖子中包含更多资源

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

x

签到天数: 2175 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-21 06:29:31 | 显示全部楼层
(4)一开始拥有99个暗器雷
8 Z6 i" ]6 `) P  u* f& o# v首先要找到体力初始值,大家知道在赤影战士中体力初始值什么时候开始读取并放到06F0、06F4地址中?答案是在选择人物后。(注:06F0是对应1P体力值地址,06F4是对应2P体力值地址)
9 d( q0 X4 S& W* u2 w
* T8 @9 o2 G0 z4 F. i3 c7 A& h要想在游戏开始后立即就有99暗器雷,必须在数据初始化后面加入暗器雷和暗器数量指令代码,如何添加指令代码?方法是上面的受攻击血不减方法一样,同样用无条件跳转指令4C再添加指令。
& d7 {. \7 H  X0 G) M
5 [( l! n, `0 e8 z/ \/ g) V' S1 |6 s( L偶决定来教大家如何双人游戏时两人一开始拥有99暗器雷,打开VirtualNes Debugger并加载赤影战士日版ROM,选择双人游戏进入到选择人物后,打开RAM和DEBUG,用2P体力值EC码06F4地址来作为断点.....  a) w" |1 n! L; g1 q3 s0 A5 J
+ r% N* k/ m8 |% o9 h3 o2 x
设置好断点后,回到游戏中,按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- J* x5 Q' R
6 o& N- j1 l/ D* r1 c7 \( PA2F7:A9 10   LDA#$10  :A=0x10          -->把数值10读入寄存器A
5 b7 p( j  }* V0 c0 ^1 _) BA2F9:8D F006 STA$06F0 :[06F0]=A=0x10   -->把寄存器A的数值送入06F0地址4 |3 m/ V& i+ M3 x: s
A2FC:8D F406 STA$06F4 :[06F4]=A=0x10   -->把寄存器A的数值送入06F4地址0 |' x+ N5 v5 r6 `+ R% y3 U

# M1 l, y( {) _7 x" o在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来添加指令吧....2 K: u2 o! J6 _% V* D. |$ Y

( [0 A- L0 Y/ {# U& g接下来在RAM把A2FC的8D F4 06修改为4C C4 FF,如图38、39:( C' _' `/ m$ c: Q1 C5 J
' j6 U! c8 @1 ^5 z. K% l/ H
接下来拉到滚动条来到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:
  M( w% ^& O+ }. I; I; k3 A3 \9 b
指令说明: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: n0 ]1 ?- c3 q3 b7 \6 s8 ^" ?
( R! R4 M" a* [- m接下来关闭RAM和DEBUG,重启游戏,进入游戏后暗器数是99,按一下攻击,如果放的是暗器雷说明修改成功!如图41:
! |, X4 E- P, C$ c# m$ P. m  z6 ^; k. l& q9 j& Z3 N# b/ T
接下来关闭模拟器,打开UltraEdit32,载入ROM,查找你刚才用笔纸抄下的数据,找到后把8D F4 06修改为4C C4 FF,如图42、43:
& I; o3 a+ V8 N0 w" y5 J5 v% u5 u0 E/ q* o7 f* A2 R. ?7 B' w* V
接下来在找到上图33的连续储存的FF地方,偶还是跳过第一个FF,而在第二个FF开始添加指令,如图44:, D0 S' a- I1 Q/ L

/ z6 {- N' q! H. U保存ROM,关闭UltraEdit32,打开模拟器载入修改好的ROM测试,如图45:如没什么意外发生的话说明修改成功!
) R6 v+ R* `5 V9 B  q* ~! e4 x) H' ~0 B4 U* Z) X* B( `
菜鸟HACK教程到此完成!以偶目前HACK水平来说还算是一只HACK菜鸟,没有和尚HACK技术那么厉害!:L

本帖子中包含更多资源

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

x
头像被屏蔽

签到天数: 5 天

[LV.2]偶尔看看I

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

该用户从未签到

发表于 2007-4-21 10:27:49 | 显示全部楼层
9 E! W/ b/ s% f0 ^& X! i
适合新手学习修改的教材

该用户从未签到

发表于 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:
! s$ f1 W, B  |不减血的教材

签到天数: 2175 天

[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 | 显示全部楼层
呵呵 完成了,得好好学习
1 M0 }/ T& @+ k0 exiaofa兄弟也在这啊

签到天数: 7 天

[LV.3]偶尔看看II

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

签到天数: 26 天

[LV.4]偶尔看看III

发表于 2007-11-5 21:46:57 | 显示全部楼层
终于可以自己去HACK简单的游戏了:loveliness:
" B( ?. S9 I( m1 w激动啊;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 | 显示全部楼层
好说的太好了
6 w: b0 {+ ^8 O5 a$ U+ N我会了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-29 12:41 , Processed in 1.119141 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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