设为首页收藏本站

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

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

  [复制链接]

签到天数: 1972 天

[LV.Master]伴坛终老

发表于 2007-4-21 05:26:54 | 显示全部楼层 |阅读模式
注意:转载请注明本人名字和文章出处!
! M( j& ^  W/ R; u6 E* A5 Y' `. u
$ h1 C0 ~2 ?+ o/ ]$ m$ ^菜鸟NES HACK简单教程(偶应N多人要求才做这个教程,有错误请指正:L )5 ~7 x$ v" e, p* _3 X

( j/ i" z7 U6 w# xNESHACK相关资料下载:http://bbs.emu618.com/forum/viewthread.php?tid=12675&extra=page%3D2
3 z, C" X; x+ j$ A0 ?0 I) ]. {& Q: k# N# i' e" X% N
6052汇编大奥秘(详细介绍FC的汇编语言,推荐下载):http://bbs.emu618.com/forum/viewthread.php?tid=20393&extra=page%3D1
' u% a- C& j, C9 w9 M3 u
& L, w* M; a1 j) ]1 I开始之前先说几句废话
* ^- B6 K2 H2 }* G  S
/ J, s% ]+ \; \: S第一,HACK之前先了解一下6502汇编指令,NES相关资料里有指令集说明文档,如果你看不懂英文的话就下载《6502汇编大奥秘》,里面有指令中文说明........^_^
) H" D1 _6 Z: K- D  r, o: u! r/ ^7 C$ {" F# x
个人建议:没必要把6502全部汇编指令硬背下来再跟踪调试,那样会很累,你可以一边调试一边查询指令说明.......' u" m$ x& G0 n$ Q, u# [* o

6 ]: g( g9 \* `4 W第二,还需要准备一些工具:NES调试跟踪工具(VirtualNes Debugger版或者no$nes-w、FCEUXD SP等NES调试跟踪工具)、十六进制之类编辑工具(Winhex或者UltraEdit32)
8 t2 r" B0 x' n
+ {: v$ p, B( H. `6 j  w! T, o第三,了解修改步骤:
9 D5 D$ e; v, u+ g' J$ E& U. z1、首先要确定你要修改什么。连要修改什么都不知道,那怎能谈上修改呢。* e& D! G$ ?  l1 A! ]
2、获取作弊码,换句话说就是要获得要修改数据的地址。推荐使用EC,这个软件自带作弊码和跟踪修改功能。
+ j+ ^# I( c3 J" _. n5 l/ @1 Z3、获得指令代码及其在Rom中的地址。一般通过VirtualNes Debugger版或者no$nes-w、FCEUXD SP等NES调试跟踪工具,再配合内存查看和十六进制之编辑工具确定指令以数据方式储存在Rom中的哪个地址。
, x! _' N& D! y1 R4、修改相应指令或数据。一般来说要做尽量少的修改,而且不能让程序运行出错。
  _8 {+ I+ j- p3 z5、测试游戏运行情况,看游戏能不能按照你修改目的正常运行。2 B4 _) |- l' b, m* @1 t7 l

( N8 T, e2 ]: Z第四,偶以日版《赤影战士》和VirtualNes Debugger版来为例子教大家如何HACK:
4 ^3 W- w5 ^- J  {+ Q6 {3 n! g* f& s" R" n0 s
偶需要修改的数据:暗器数不减,放雷电必杀不减血,被敌人攻击不减血,一开始拥有99颗暗器雷1 i# b3 S- b; O1 v5 l7 H

% X' m7 G+ l/ \8 X% f) Y' v1、获取作弊码,这个好容易得到,EC这个软件附带N多作弊码,省去自已手工查找作弊码了。^_^) V7 E: s( [8 t, P
[P1 生命值]5 R+ o8 v# ?8 w( v( ^5 z
ON=6F0,108 ]8 Y! M! c& P6 z( e
  k. R' @+ ?; ~% y0 k9 {& m$ o
[P1 暗器数量]
  G8 x  U! ]) w3 K7 F, C1 ?ON=662,FF
* f9 b/ s8 }0 {8 }! @4 p( l. B/ E: G+ ^1 J7 i6 B5 Y
[P1 武器种类]: s! c% b% k8 Z! S0 ~
刀=6B2,04 K, q( p" ^# p' \5 f( [+ I& ^
ON=6B2,3
' g! o5 d3 d; ^, y% g% @% Z
! Q* l" D. Q# M) s) j1 `# C9 K[P1 武器威力]0 s+ P- H+ Z2 n& A7 z$ q
ON=680,FF0 x' f: h! w; L! g1 U1 ]

, L! _" s/ C+ a0 u& P* ?: ^[P1 暗器种类]0 J8 p5 ~- b# a+ }* K1 R" W7 D, u
标=671,01 t! J1 p* g/ y
雷=671,17 {8 B9 ?6 p- N- L

2 I+ \2 f. Q+ F) a6 i" ^' J1 `  D[P1 隐身]2 j% Y1 ^$ b2 K) w! r: G0 D* z
OFF=0000,0
$ q# n/ I! I/ P" E/ Y# Q+ \/ X& ZON=601,4C
" l/ w, _+ m$ g6 R0 W( D8 w, m8 t0 ^
[P2 生命值]
; Z* ?& V: A6 XON=6F4,10
, i5 J9 \$ u& M9 e& N2 a: f# S8 J, o  G; j6 W/ V
[P2 暗器数量]
' |$ j& S$ b! j3 ~& b3 Y1 ~ON=666,FF
- `1 G+ }6 m" j$ {  V9 E/ x  B, X$ V* ^
[P2 武器种类]
& K6 }  H) w6 W" p刀=6B6,09 N2 F+ ~# R- _
ON=6B6,3
: u' A3 h8 L$ Z: y; ^1 G0 K. ~- c0 I1 z$ m6 B! H; B3 C; b8 z
[P2 武器威力]
) k) ^* ?. @7 h$ PON=684,FF
5 X, b+ `) g5 A2 ~. t, z
' R$ d* e4 V2 A; `( Z[P2 暗器种类]* d' [2 V3 N1 u" H% V2 i
标=675,0- z6 t' B9 C0 i; \6 i; L- |& t
雷=675,1
$ h- Z: b9 }. x7 S( D2 y# ^3 ~4 f0 d/ Y. p3 t; y. E% i' x1 O- k; G
[P2 隐身]3 ]% ~+ S7 _3 y$ _
OFF=0000,0& E8 t* U, l) \8 n$ W
ON=605,4C
$ |& w7 [" r, Y( R' c7 r0 V8 Y" B, e; h
[GameInfo]
( a, b- a! R9 K6 A# ]  S0 hName=Shadow of the Ninja (FC/NES)/ g# y) m: B/ Q8 d, P+ q3 p2 C/ e
System=FC
- p7 H3 N( x* U$ A5 l; HText=赤影战士(水上魂斗罗),双人、动作游戏,由大胖子提供!& K* y) x8 y4 v( ]4 n
) c. Y! i+ r" s2 O: |2 e
[ 本帖最后由 疾风之狼 于 2009-10-14 15:09 编辑 ]

评分

1

查看全部评分

签到天数: 1972 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-21 05:27:43 | 显示全部楼层
2、通过调试跟踪获取指令代码及其在Rom中的地址,并用16进制编辑工具修改ROM其中数据! f" Z  u+ O4 P
偶按照暗器数不减,放雷电必杀不减血,被敌人攻击不减血,一开始拥有99颗暗器雷顺序来教大家如何跟踪调试修改:4 c0 f" K: `' g' G: K+ N

1 a7 E# W, j- C  |(1)暗器不减:( n# K2 g$ O) h. I
2 ~: Z+ O- W5 ]* _0 I) Y
首先打开VirtualNes Debugger并加载赤影战士日版ROM,如图1:$ E, a: d  V0 n9 Q0 M
% _& C" m: [0 \. z, [: O/ [
接下来游戏进行到获到暗器飞镖20个,如图2:
* t+ f" L# e7 x  d: J: F+ c7 A
# L+ n/ t$ y1 f& N% ?# A接下来开始跟踪飞镖数量,先打开RAM,再打开DEBUG,先打开DEBUG的话,不然RAM就用不来:如图3、图4:1 H/ I5 }6 F! e% c, s2 K$ O

8 d+ T( ~" m3 Q+ u先点暂停,根据如下面作弊码提供的暗器数量地址,如暗器数量地址是662,就在注释内出现后面方框中输入[0662](注:可以用这东东当条件断点),再点右边确定让游戏继续运行,如图5:
1 x& B7 z/ m/ r
6 `! F1 k3 K6 ]4 U- A[P1 暗器数量]0 |$ z! k; G9 }, g; ?
ON=662,FF& h$ a1 I8 [9 r+ o/ Z( |
9 z7 D$ e; y6 S6 }: N
使用一次飞镖,程序会发生中断停在B840这一行,如图6:' \# }9 N& Z/ P7 ?8 \
: {" z0 H3 [' e
B840 : DE 6206 DEC $0662,X;[0662]-- =0x13
1 }/ E/ y0 O& V5 V! T+ H; P
' I& {% P- q. E+ K" e- K8 y5 j: j查指令表得知B840这个地址DEC $0662,X指令作用是将0662+(X)=真正暗器地址的数值减1;既然这样,只要把这条DEC $0662,X指令改为LDA $0662,X就可以让暗器数量不减了。LDA $0662,X作用是把0662+(X)=真正暗器地址的数值读入寄存器A。(X)是寄存器X的数值。- {+ K- Y: I) r8 O; `( }4 Y  G
举个例子:假设X寄存器数值是6,指令是“LDA $1234,X” 这条指令看上是将$1234地址数值读入寄存器A,但实际上$1234不是真正数值存放地址,1234必须加上寄存器X的数值才是真正数值存放的地址。1234+(X=6)=123A,LDA $1234,X指令应该是这样解释:将1234+(X=6)=123A地址读入寄存器A。( \, v* c+ j# H% p* j/ t. k' D/ q
LDA xxxx,Y和LDA xxxx,X一样,不过寄存器X变成寄存器Y。
$ ^, {" |& H/ r3 {/ x0 d# E
1 o1 u/ q. ^2 |7 `6 Q9 b" R查指令机器码得知DE是DEC - Absolute,X,BD是LDA - Absolute,X,注意寻区方式要一样....把DE修改为BD就可以不减暗器数量了。, A' `, y# {4 `  v$ `
; m! k1 ?3 {6 \" G( I( `
注意:别把BD修改成其他LDA指令,这样会死机的,因为指令寻区方式不一样。0 X3 |: {. Q6 [/ V

3 k5 t1 C# Y" p- L: [8 m另外,有一些其他游戏是这样的:改为LDA $XXXX,X 那么就会破坏了寄存器A原来的数据了,后面的程序如果要直接用寄存器A的数值的话,那么就会造成游戏出错,如果后面的程序在用寄存器A的数值之前对寄存器A赋于新值就没事了。& y; `; C! Q3 w5 o& n

3 @* U: J4 R7 @) u- g接下来在RAM中找到B840:DE 62 06,如图7:
- i8 I' U+ E+ Q8 O* |, S9 ?/ G6 ]' ?6 m
用笔纸抄下红框中数据,以便在查找,接得在RAM中把DE修改BD,如图8:6 H1 h7 q% E- P# T  ]- I0 `

; B& r" z; _/ T1 k关闭DEBUG和RAM,回到游戏中测试吓暗器数量是否不减,暗器不减了,说明指令修改成功。如图9:
5 n) D1 Y5 n/ X1 ^" l/ ]& R! L
1 I+ E# [+ m: d" q关闭模拟器,接下来用十六进制修改工具(如UltraEdit32)修改ROM,还记得之前用纸笔抄下的数据么?
- P  u7 s4 q$ @, h! {0 z
. k. \, e3 ~; Q8 X打开UltraEdit32,载入赤影战士ROM,编辑之前按一下Insert把插入方式设为覆盖方式,如图10:
, _: b' E* L) Y$ z; k9 J% v( u" w5 f% ]6 {
点击UltraEdit32“搜索”>“查找”,在弹出查找框中查找内容(N)后面方框中输入你用纸笔抄下的数据,再点“查找下一个”就能找到这个数据,如图11:1 d+ K; O! E5 l7 G
' v, S" d) z, R3 R9 j
如图12,结果出来,UltraEdit32高亮度显示你就是要找的数据,把DE修改为BD,再点“文件”>“保存”保存你修改结果。如图13:; E! k9 D' Q# S' c1 ]) m  ^

. L3 b+ B* U  {+ M关闭UltraEdit32打开模拟器载入修改后的ROM测试暗器数量是否不减,不减的话说明修改成功了,如图14:2 T" D2 z* X* k+ l) j
7 M3 B: @, n% _. V* H
暗器雷数量不减修改方法和暗器飞镖数量不减修改方法一样。就不再说了,留给大家练习一下。. h! q, T/ X, v7 U' ^: Z* f3 Z

3 l/ @7 H8 R% k. _[ 本帖最后由 疾风之狼 于 2009-10-14 15:08 编辑 ]

本帖子中包含更多资源

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

×

评分

2

查看全部评分

回复

使用道具 举报

签到天数: 1972 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-21 05:28:36 | 显示全部楼层
(2)放雷电必杀不扣体力
2 w5 h+ u- f, W+ m2 }2 @% y打开VirtualNes Debugger并加载赤影战士日版ROM,开始游戏,打开RAM和DEBUG,查询EC作弊码得知体力地址是6F0,  A0 J$ o0 U3 M+ j5 c8 `
( P* \9 {1 O/ o* z* {
估计大家看暗器不减HACK教学后就知如何设置断点跟踪,我就不再说了,设置好断点后,回到游戏,按紧B键不放使出雷电必杀,$ |+ v+ S5 T9 ]2 @

" ?, R# N- e  h8 g, ?9 f* `/ j当雷电必杀发出时,程序中断,程序停在B6FC:9D F006 STA$06F0,X这行,如图15:注意B6F6:E9 08 SBC#$08这条指令,这条指令作用是把8 b+ v8 h# W0 K' `5 k' b

- T5 M" l2 |6 a1 O. S地址06F0减去8,大家都知道赤影战士放雷电必杀后会扣去8点体力,而这个08正好是放雷电必杀所需要扣的体力,只要把08修改成00的话就不会扣体力。(当然你也可以修改成01,发必杀只扣1格体力啦^_^)
1 e2 i& R  F! E4 x0 Q
0 z" I" t, y- N/ `1 n4 a  S转到RAM,找到B6F6:E9 08,把图中红色方框数据抄下,以便查找。如图16:把08修改为00就不扣体力了,如图17:关闭RAM和DEBUG,再重启游戏,再发动必杀,不扣体力的话说明修改成功了。- n) R  N4 j/ z0 O, U' P  {& o8 ^

/ F. y4 ^! s! Z& H0 L' h如图18:关闭模拟器,打开UltraEdit32,载入ROM,编辑之前按一下Insert把插入方式设为覆盖方式,点击“搜索”>“查找”,查找之前抄下的数据,找到如图19的数据:把08修改成00,再保存退出,如图20:( s1 @3 B6 L) m( M& A9 I
+ R& u: a% p- A
再进模拟器打开修改后的ROM测试发必杀是否不减体力,不减体力的话说明修改成功。1 V7 U3 l/ ^$ s+ ^

3 @5 X7 {# e+ VPS:跌落损伤修改方法和发雷电必杀修改方法一样,我不再说了,留给大家练习,方法设置好断点,再找个地方跳楼自杀(-_-),就能跟踪找到地址了......6 O7 U1 \, Y- {% e! W- s
& g/ R0 w+ i' S3 y$ \0 z& m
偶找个时间再继续发如何HACK受攻击不减血和一开始拥有99个雷吧.......

本帖子中包含更多资源

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

×
回复

使用道具 举报

签到天数: 1972 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-21 06:27:29 | 显示全部楼层
(3)受攻击不减血0 [/ \% ]9 q# Z$ F, Z% O( \+ R
打开VirtualNes Debugger并加载赤影战士日版ROM,开始游戏后,打开RAM和DEBUG,同样用体力EC作弊码6F0来设置断点,设置好断点后,
4 c8 g& e( ~. C; s2 h! h/ U3 ]6 \' h% }  b7 ?' v  q
回到游戏被敌人打一下,当敌人攻击主角时,程序中断,程序停在AC69:9D F006 STA $06F0,X这一行,如图21: 6 Z( y; c! ~/ b9 f- y; }
, c. _( W( v, P% R
注意AC69地址前面的AC63:E5 9D SBC$9D,这条指令作用将06F0,X地址数值减去009D地址数值。单单只将SBC指令修改LDA指令会有问题,偶考虑只有通过无条件转移指令(4C)再添加指令来达到不减血....., c; t; R4 U1 f2 M8 z( T( W3 }& [! Q3 I
. W4 A0 K; {% g% q' x; O) T
首先抄下如图22的数据,方便查找:之后在RAM中查找寻找连续储存的0xFF,可以在前面也可以在后面,也可以寻找连续储存的0x00,注意的是00是中断指令,有时候修改了游戏会出错。看情况吧。一般选择在连续储存的00中段开始加入修改数据。+ h- p" a" {' V- S. u

& g* g( d% P- R0 U偶在RAM后面FFC3~FFDF找到一些连续储存的FF,如图23红框中连续储存的FF,把FF前面的数据抄下,方便查找,接着测试吓这些FF是否能使用.....; [2 U+ Y  U1 ]: F

9 }: @- ~* }* u% Q7 @& ~# K方法如下:
7 ^/ |+ t, G4 r( |$ |2 p. h/ e: }  W
在RAM中把AC69的9D F0 06修改为4C C4 FF,指令说明:4C C4 FF作用是跳转到地址FFC4继续执行,4C是无条件跳转,如图24、25:
& D/ j( y) P3 _
& J! a  z# T6 j为安全得想,偶跳过第一个的FF,而在第二个FF开始输入9D F0 06 4C 6C AC,指令说明:9D F0 06是以X为偏移量,把寄存器A内容送入06F0,X地址中,4C 6C AC是跳转到AC6C继续执行,如图26:
% T" O0 u& O/ K; y* c2 l. |: j* @$ b* B
接下来关闭DEBUG和RAM,回到游戏看吓游戏是否正常游戏,能正常游戏说明地址能够跳转使用。如图27:
* x2 Q9 e3 h; n- K: F& I7 w$ W( S! X' H! ~# Y/ F
接下来打开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:
4 Y+ i9 I# J# t' N
* E) p4 g$ d$ h7 D. g) S: V0 |指令说明:A9 10是把数值10读入寄存器A中,9D F0 06是以X为偏移量,把寄存器A数值10送入06F0,X地址中,4C 6C AC是跳回AC6C继续执行: N2 @8 U1 @% {$ ?5 t2 k3 R

4 _9 m" y6 A4 q关闭RAM,看看游戏是否减血了,不减血说明修改成功,如图29:
$ E6 K* b4 q; X' Y( v9 W
3 I/ z' c7 b5 U' A! y接下来,打开UltraEdit32,载入ROM,查找上图22的数据,如图30:) L: O& `2 }7 ^- u: n+ o' t3 c

3 t- E& `3 g6 J; |- g* l找到把图中的9D F0 06修改为4C C4 FF,如图31、32:
( R4 I3 K+ @7 Y4 q4 ?& J8 D' L9 n2 X" [' k
接着,查找上图23连续储存的FF前面的数据,比如上图23的连续储存的FF前面是20 86 A0 4C 22 EC,找到后,在20 86 A0 4C 22 EC后面的就是你要添加指令的连续储存FF,如图33:, R$ F6 n2 u  F# q) N. O0 C

" V. n+ ?6 x( O* G. y% B同样跳过第一个FF,而在第二个FF开始添加指令,如图34:
* S! d( l4 S- j, {6 R. v2 M' x(如果你真要在第一个FF开始添加指令的话也不是不可以;假设你是在第一个FF开始添加指令的话,那图32的4C C4 FF应该修改为4C C3 FF)
1 D" W- X7 W8 ]! C5 q* [/ D/ C- R1 `: G2 o7 W: }0 a; T4 o
保存ROM,退出UltraEdit32,再进模拟器测试是否不减血,不减血说明成功了.....,如图35:
  r9 v+ v+ H- G) S$ n% f! d
6 i8 T  ~2 \7 M[ 本帖最后由 疾风之狼 于 2008-12-1 12:24 编辑 ]

本帖子中包含更多资源

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

×
回复

使用道具 举报

签到天数: 1972 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-21 06:29:31 | 显示全部楼层
(4)一开始拥有99个暗器雷
8 S" C: e7 v' d# o首先要找到体力初始值,大家知道在赤影战士中体力初始值什么时候开始读取并放到06F0、06F4地址中?答案是在选择人物后。(注:06F0是对应1P体力值地址,06F4是对应2P体力值地址)
1 c; I" U6 L% e/ q& L
, A! v. @: _; H1 G0 Z要想在游戏开始后立即就有99暗器雷,必须在数据初始化后面加入暗器雷和暗器数量指令代码,如何添加指令代码?方法是上面的受攻击血不减方法一样,同样用无条件跳转指令4C再添加指令。
+ b3 d' p4 E: C6 Y$ v4 ^# |
5 d& h% R7 q2 B! B偶决定来教大家如何双人游戏时两人一开始拥有99暗器雷,打开VirtualNes Debugger并加载赤影战士日版ROM,选择双人游戏进入到选择人物后,打开RAM和DEBUG,用2P体力值EC码06F4地址来作为断点.....! s. g6 v. K; Y
1 \0 t: a  J1 V8 f- [
设置好断点后,回到游戏中,按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 f. J9 P0 r# `  V1 `4 W
1 s. |( `6 i" H/ N  n3 p  HA2F7:A9 10   LDA#$10  :A=0x10          -->把数值10读入寄存器A
* ^1 }! `/ a8 {% O* Q( e8 \( hA2F9:8D F006 STA$06F0 :[06F0]=A=0x10   -->把寄存器A的数值送入06F0地址
4 |( r- J# M1 h! @A2FC:8D F406 STA$06F4 :[06F4]=A=0x10   -->把寄存器A的数值送入06F4地址
9 H  s2 h! g! e& {: j
+ @- i: ]( x7 C$ Y& l  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来添加指令吧....) @. l( e$ w' B/ v$ z9 d; E9 i% |
' i! m; H  c* |" f( q
接下来在RAM把A2FC的8D F4 06修改为4C C4 FF,如图38、39:
2 k. y& x2 v2 `6 t  _* A2 i# |0 v* |! N; f; v, a/ z) l/ q
接下来拉到滚动条来到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:: [- {# a# |6 ?) v! b
$ z0 R& K8 k% @) R; E7 q3 j& N
指令说明: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地址继续执行
* s: z1 ?, _( O5 W- U( g5 I$ S) j, F% v! b
接下来关闭RAM和DEBUG,重启游戏,进入游戏后暗器数是99,按一下攻击,如果放的是暗器雷说明修改成功!如图41:
8 m. I/ P1 E; U& S% ~
; N. M- R3 O% p4 n3 j接下来关闭模拟器,打开UltraEdit32,载入ROM,查找你刚才用笔纸抄下的数据,找到后把8D F4 06修改为4C C4 FF,如图42、43:
% [" P( y5 N2 v* |; o. u; R
5 f% f% _) O* f0 Z+ B接下来在找到上图33的连续储存的FF地方,偶还是跳过第一个FF,而在第二个FF开始添加指令,如图44:
" G5 r3 U  o0 B, R
' \7 B$ p! c4 g  C9 Q保存ROM,关闭UltraEdit32,打开模拟器载入修改好的ROM测试,如图45:如没什么意外发生的话说明修改成功!
2 u5 Q5 E# `& J* ?
: y0 H5 B2 k- l: z% p菜鸟HACK教程到此完成!以偶目前HACK水平来说还算是一只HACK菜鸟,没有和尚HACK技术那么厉害!:L

本帖子中包含更多资源

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

×
回复

使用道具 举报

签到天数: 5 天

[LV.2]偶尔看看I

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

使用道具 举报

该用户从未签到

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

: P8 q: U, j% w. L9 ?适合新手学习修改的教材
回复

使用道具 举报

该用户从未签到

发表于 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: / M; b/ ~$ d9 o: z6 B
不减血的教材
回复

使用道具 举报

签到天数: 1972 天

[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 | 显示全部楼层
呵呵 完成了,得好好学习
; d( ]( e' R/ a$ j' fxiaofa兄弟也在这啊
回复

使用道具 举报

签到天数: 7 天

[LV.3]偶尔看看II

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

使用道具 举报

签到天数: 26 天

[LV.4]偶尔看看III

发表于 2007-11-5 21:46:57 | 显示全部楼层
终于可以自己去HACK简单的游戏了:loveliness:
7 U* R  B0 r/ Q3 w; P激动啊;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 | 显示全部楼层
好说的太好了 7 m. D* k5 v5 t  D
我会了
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-6-5 18:25

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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