设为首页收藏本站

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

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

  [复制链接]

签到天数: 2012 天

[LV.Master]伴坛终老

发表于 2007-4-21 05:26:54 | 显示全部楼层 |阅读模式
注意:转载请注明本人名字和文章出处!  x7 I; }8 }. G  v! {
( k, M6 W  a7 S0 O3 f
菜鸟NES HACK简单教程(偶应N多人要求才做这个教程,有错误请指正:L )
' p; Y7 O8 x- k7 w% o0 M
! s8 j& K2 C8 N/ d+ a3 hNESHACK相关资料下载:http://bbs.emu618.com/forum/viewthread.php?tid=12675&extra=page%3D2  e1 [; t+ b$ L3 w1 Z7 j. S! n

: c. J/ d2 H4 k2 _9 l) n6052汇编大奥秘(详细介绍FC的汇编语言,推荐下载):http://bbs.emu618.com/forum/viewthread.php?tid=20393&extra=page%3D1
, T; O' Q7 ^/ y! ]7 M6 Q2 F& J. V/ Q: {2 k) o
开始之前先说几句废话
; p$ K- e! \1 C4 q+ w2 T( s& x! [6 V1 D) Q
第一,HACK之前先了解一下6502汇编指令,NES相关资料里有指令集说明文档,如果你看不懂英文的话就下载《6502汇编大奥秘》,里面有指令中文说明........^_^
3 N) H' R) u' G$ P8 F8 h( P$ y6 }( h/ \- c& @
个人建议:没必要把6502全部汇编指令硬背下来再跟踪调试,那样会很累,你可以一边调试一边查询指令说明......./ V, n  n* M* E8 X9 A/ U) D4 A) t( K
% P# X7 I% D4 y5 K  b: j: v
第二,还需要准备一些工具:NES调试跟踪工具(VirtualNes Debugger版或者no$nes-w、FCEUXD SP等NES调试跟踪工具)、十六进制之类编辑工具(Winhex或者UltraEdit32)5 h- w9 X# l5 ?) _* Z& B. |
  _6 H; |7 r! a/ @* m" j6 g; z( m
第三,了解修改步骤:
2 c" D# Y: t, i1、首先要确定你要修改什么。连要修改什么都不知道,那怎能谈上修改呢。! i2 s( d" C; H3 G
2、获取作弊码,换句话说就是要获得要修改数据的地址。推荐使用EC,这个软件自带作弊码和跟踪修改功能。
, o3 u5 Z% }2 K5 j, g) I% ~( [1 t3、获得指令代码及其在Rom中的地址。一般通过VirtualNes Debugger版或者no$nes-w、FCEUXD SP等NES调试跟踪工具,再配合内存查看和十六进制之编辑工具确定指令以数据方式储存在Rom中的哪个地址。
: a3 g! s7 N* Y9 T" t2 Z4、修改相应指令或数据。一般来说要做尽量少的修改,而且不能让程序运行出错。3 Y$ t  i6 D3 {: T
5、测试游戏运行情况,看游戏能不能按照你修改目的正常运行。
6 D1 S1 C' d- q% Y! ?% @
$ E3 V9 B, v3 u* ]$ q3 J9 z第四,偶以日版《赤影战士》和VirtualNes Debugger版来为例子教大家如何HACK:, n/ t* W: n, O* v

6 e) c1 C5 B  x; a偶需要修改的数据:暗器数不减,放雷电必杀不减血,被敌人攻击不减血,一开始拥有99颗暗器雷! q. A/ f% P( v* e6 H

6 v' }0 h- K2 ]1、获取作弊码,这个好容易得到,EC这个软件附带N多作弊码,省去自已手工查找作弊码了。^_^
' I. g3 {5 z' F+ ?% b5 J7 P[P1 生命值]" l5 O7 x+ X* k  T1 |5 }
ON=6F0,10+ e- i1 n- ~9 Q/ Z& J5 l8 D4 d
8 M: G" D( h- r8 h/ n
[P1 暗器数量]! Y5 S3 w2 G( y7 R3 y
ON=662,FF
) v( U$ A9 K4 I( o, C# _% S( i) t' k5 H% {3 X: Z8 b
[P1 武器种类]: [& b$ {* P7 j% g: ~( u
刀=6B2,0
( }# P8 H7 A. |% q& s' T$ NON=6B2,30 S4 o: t  S3 a4 _3 N, y

1 x& s0 Z( c/ E[P1 武器威力]" Y9 }8 R2 [) W
ON=680,FF
% C6 @$ m8 Y: ]6 B
; n0 @! W( y1 A6 n8 e0 j: _2 K[P1 暗器种类]
% D4 _2 b$ _8 y标=671,0& O  [: u6 X5 A2 P& C1 \, h
雷=671,1
. G) B8 v# S6 Q8 _! s) x
; n' {4 F9 s' P5 y[P1 隐身]8 i  Q* E4 q. Q% O/ o, r% Z
OFF=0000,0: X0 }/ _6 H: x5 ?
ON=601,4C* i: V  @  c( }

) z2 @0 l4 V& d  Q0 y[P2 生命值]
8 C% o2 U/ h+ K! O  D: QON=6F4,10* K2 |0 x6 p( x! P$ M5 {( c
3 F1 S( j" a" T  [
[P2 暗器数量]  B1 D2 `, i" W. o+ F
ON=666,FF: s  Z! t+ m  ?$ }3 N

" I0 Z  M( n, z* j# Q* k7 Y- e7 }# O; f[P2 武器种类]
, a# h- p+ K, x+ B9 X; z- V刀=6B6,0
7 ~, Z- n  K! E4 v# yON=6B6,3
8 d( W  t4 s( I' u7 _, ]) g' }4 x
[P2 武器威力]1 o8 F0 v& U& W. {( Y& X  C
ON=684,FF
5 O* R- {' O  F. b: G) M: s
7 s( K7 J( {% M3 _! l[P2 暗器种类]
2 V3 r% F5 \! C; S标=675,0' ^5 q* k& c) x, R! }1 e
雷=675,1
4 a  f7 ]6 b' f7 w9 V
( X& L) ?* K6 E6 o  N5 k[P2 隐身]$ n' w; P( ?  @# c6 X5 u+ t* L
OFF=0000,0; t( _. O" F- c7 {4 R" W3 \
ON=605,4C' g1 f1 m1 j. w. r
9 B) ^+ `& ^) ?3 b: t5 {
[GameInfo]
/ i  O( u: m6 @Name=Shadow of the Ninja (FC/NES)
' x6 p7 c: r& p6 K% p5 KSystem=FC! Y7 _5 l% h. }' K# ^4 K
Text=赤影战士(水上魂斗罗),双人、动作游戏,由大胖子提供!
! N  ~0 q" {" L# f) l; l6 G
4 W& E! B( ~7 N' Q$ r1 A0 W- g[ 本帖最后由 疾风之狼 于 2009-10-14 15:09 编辑 ]

评分

1

查看全部评分

签到天数: 2012 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-21 05:27:43 | 显示全部楼层
2、通过调试跟踪获取指令代码及其在Rom中的地址,并用16进制编辑工具修改ROM其中数据4 S: [* c$ Z$ q$ d% W; u
偶按照暗器数不减,放雷电必杀不减血,被敌人攻击不减血,一开始拥有99颗暗器雷顺序来教大家如何跟踪调试修改:6 ?  E' ?( w  W1 ~" L1 V
4 c& M4 I" U: X" q
(1)暗器不减:
% e8 D. i" N# p6 R. ~3 X7 |/ H: u, N2 _  T
首先打开VirtualNes Debugger并加载赤影战士日版ROM,如图1:
4 W) n' }4 L8 i4 W; j( r
1 |; M. K- j5 b+ \4 o0 u接下来游戏进行到获到暗器飞镖20个,如图2:
, N: }0 q) ]2 i/ W+ |8 l. E9 W) u; ~5 T
接下来开始跟踪飞镖数量,先打开RAM,再打开DEBUG,先打开DEBUG的话,不然RAM就用不来:如图3、图4:
* R1 `9 `5 h9 v0 Y- ^& ?0 H2 Q/ l" h! v9 U8 {0 E
先点暂停,根据如下面作弊码提供的暗器数量地址,如暗器数量地址是662,就在注释内出现后面方框中输入[0662](注:可以用这东东当条件断点),再点右边确定让游戏继续运行,如图5:- B4 l, q, E' v+ h4 V, ?
9 `2 h0 d' t% G
[P1 暗器数量]: t& @" X0 P+ B+ j+ m* t
ON=662,FF
; x3 Z( X& E8 l8 U' A: \: n+ {# q! x. u+ e- [
使用一次飞镖,程序会发生中断停在B840这一行,如图6:
0 P5 S" _+ w9 m$ q$ i
$ w$ p9 H  p% R  b9 u, VB840 : DE 6206 DEC $0662,X;[0662]-- =0x13
$ c8 m8 G/ P  j6 a+ y! u+ ]: o4 i$ t
查指令表得知B840这个地址DEC $0662,X指令作用是将0662+(X)=真正暗器地址的数值减1;既然这样,只要把这条DEC $0662,X指令改为LDA $0662,X就可以让暗器数量不减了。LDA $0662,X作用是把0662+(X)=真正暗器地址的数值读入寄存器A。(X)是寄存器X的数值。
% j/ ^- u) I5 ~0 c: X举个例子:假设X寄存器数值是6,指令是“LDA $1234,X” 这条指令看上是将$1234地址数值读入寄存器A,但实际上$1234不是真正数值存放地址,1234必须加上寄存器X的数值才是真正数值存放的地址。1234+(X=6)=123A,LDA $1234,X指令应该是这样解释:将1234+(X=6)=123A地址读入寄存器A。
/ m: Y' E. p/ m0 Z& I+ rLDA xxxx,Y和LDA xxxx,X一样,不过寄存器X变成寄存器Y。
& k: G* N' K8 @$ J. e: q
+ e8 Y7 ~2 z0 K! ^查指令机器码得知DE是DEC - Absolute,X,BD是LDA - Absolute,X,注意寻区方式要一样....把DE修改为BD就可以不减暗器数量了。
9 n& X7 \& K. u9 x% F
, z* t1 I7 C' z2 R  q# r5 W注意:别把BD修改成其他LDA指令,这样会死机的,因为指令寻区方式不一样。
. a/ x8 S6 p' R- I; j1 u/ B7 k1 A2 ^2 V( S3 N
另外,有一些其他游戏是这样的:改为LDA $XXXX,X 那么就会破坏了寄存器A原来的数据了,后面的程序如果要直接用寄存器A的数值的话,那么就会造成游戏出错,如果后面的程序在用寄存器A的数值之前对寄存器A赋于新值就没事了。* J% G% W3 ^4 c/ R& v
. o3 B) `2 v7 z: j
接下来在RAM中找到B840:DE 62 06,如图7:( u' X6 |+ \: I* v

, E( N: ?$ q* K6 u用笔纸抄下红框中数据,以便在查找,接得在RAM中把DE修改BD,如图8:
) T; @  t/ I1 W  I0 _$ r: _% E9 n/ }9 c" [. X) q) L5 t/ m# K
关闭DEBUG和RAM,回到游戏中测试吓暗器数量是否不减,暗器不减了,说明指令修改成功。如图9:
+ l. p6 S  x' o' z
- P0 K! Z: A$ d关闭模拟器,接下来用十六进制修改工具(如UltraEdit32)修改ROM,还记得之前用纸笔抄下的数据么?
9 R& p2 s. c! o6 i( G5 R
7 H$ F& h) v+ L7 ?打开UltraEdit32,载入赤影战士ROM,编辑之前按一下Insert把插入方式设为覆盖方式,如图10:9 T6 y/ F3 v9 k, ^3 C8 C
( i2 ^( U& o  a* {0 h! @
点击UltraEdit32“搜索”>“查找”,在弹出查找框中查找内容(N)后面方框中输入你用纸笔抄下的数据,再点“查找下一个”就能找到这个数据,如图11:7 O* i' Y0 o! L; E, u# A* a' |5 v

* w0 [4 d( y% J- H; I如图12,结果出来,UltraEdit32高亮度显示你就是要找的数据,把DE修改为BD,再点“文件”>“保存”保存你修改结果。如图13:3 S/ `4 W" {' h( {& M) J/ m+ `
3 q6 u) {: V+ i( y
关闭UltraEdit32打开模拟器载入修改后的ROM测试暗器数量是否不减,不减的话说明修改成功了,如图14:
9 H7 q5 m$ F! j# k1 L4 o3 f0 S0 i6 O# ~
暗器雷数量不减修改方法和暗器飞镖数量不减修改方法一样。就不再说了,留给大家练习一下。: v0 D# }- z, d* t

* w. T2 G- o2 B[ 本帖最后由 疾风之狼 于 2009-10-14 15:08 编辑 ]

本帖子中包含更多资源

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

×

评分

2

查看全部评分

回复

使用道具 举报

签到天数: 2012 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-21 05:28:36 | 显示全部楼层
(2)放雷电必杀不扣体力2 F# c4 h1 z6 z  h+ D8 o: p$ ]4 k
打开VirtualNes Debugger并加载赤影战士日版ROM,开始游戏,打开RAM和DEBUG,查询EC作弊码得知体力地址是6F0,
" |% e5 c# G3 s; e% ?& I/ v+ l; e( a! ?4 M: V, }
估计大家看暗器不减HACK教学后就知如何设置断点跟踪,我就不再说了,设置好断点后,回到游戏,按紧B键不放使出雷电必杀,! ?6 p) _! ~5 F, H! B
; @! x$ ]% K( H% ~! \8 v
当雷电必杀发出时,程序中断,程序停在B6FC:9D F006 STA$06F0,X这行,如图15:注意B6F6:E9 08 SBC#$08这条指令,这条指令作用是把
! c6 ~% a' \) y, Z# ]
8 C' S  V6 g! |- [9 G8 O地址06F0减去8,大家都知道赤影战士放雷电必杀后会扣去8点体力,而这个08正好是放雷电必杀所需要扣的体力,只要把08修改成00的话就不会扣体力。(当然你也可以修改成01,发必杀只扣1格体力啦^_^)- F* V% y# U9 _" k3 y% I7 I

; \, x; @. J7 z; a# y转到RAM,找到B6F6:E9 08,把图中红色方框数据抄下,以便查找。如图16:把08修改为00就不扣体力了,如图17:关闭RAM和DEBUG,再重启游戏,再发动必杀,不扣体力的话说明修改成功了。
2 ~7 u. D9 ?4 ?% g3 O6 X4 t- o. U8 \, E: h6 s0 U4 |
如图18:关闭模拟器,打开UltraEdit32,载入ROM,编辑之前按一下Insert把插入方式设为覆盖方式,点击“搜索”>“查找”,查找之前抄下的数据,找到如图19的数据:把08修改成00,再保存退出,如图20:: Y" I. W& h- E8 o2 s/ {; P
) u8 C4 b! n) _- |/ U( h( q
再进模拟器打开修改后的ROM测试发必杀是否不减体力,不减体力的话说明修改成功。. j& a* A5 Y. l
  |& t3 Z2 x7 Q' |6 ~7 ?' R; g8 r
PS:跌落损伤修改方法和发雷电必杀修改方法一样,我不再说了,留给大家练习,方法设置好断点,再找个地方跳楼自杀(-_-),就能跟踪找到地址了......
9 B) p0 b% {1 ?- g: K7 `7 \; s% s4 [  N$ F: G( C& L1 r! O9 H
偶找个时间再继续发如何HACK受攻击不减血和一开始拥有99个雷吧.......

本帖子中包含更多资源

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

×
回复

使用道具 举报

签到天数: 2012 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-21 06:27:29 | 显示全部楼层
(3)受攻击不减血' ^: h) n6 ?7 W" a3 z8 @7 E, u
打开VirtualNes Debugger并加载赤影战士日版ROM,开始游戏后,打开RAM和DEBUG,同样用体力EC作弊码6F0来设置断点,设置好断点后,
4 W" E* n% a! l5 J* g& D9 \' N/ B' p& e, K0 j8 t5 a
回到游戏被敌人打一下,当敌人攻击主角时,程序中断,程序停在AC69:9D F006 STA $06F0,X这一行,如图21:
/ }# A. r$ j1 ]# Y/ {+ ~0 n6 z% ^. i! e
注意AC69地址前面的AC63:E5 9D SBC$9D,这条指令作用将06F0,X地址数值减去009D地址数值。单单只将SBC指令修改LDA指令会有问题,偶考虑只有通过无条件转移指令(4C)再添加指令来达到不减血.....7 M5 S% A/ P3 c& F8 D5 e
! P% q/ _3 N- b  I. w( A* I
首先抄下如图22的数据,方便查找:之后在RAM中查找寻找连续储存的0xFF,可以在前面也可以在后面,也可以寻找连续储存的0x00,注意的是00是中断指令,有时候修改了游戏会出错。看情况吧。一般选择在连续储存的00中段开始加入修改数据。
0 ^7 c: D0 |5 H, m$ h
9 V8 C1 |$ p. u$ ]$ _8 x偶在RAM后面FFC3~FFDF找到一些连续储存的FF,如图23红框中连续储存的FF,把FF前面的数据抄下,方便查找,接着测试吓这些FF是否能使用.....
  D7 q( i6 M0 F. @$ b- l) U6 B8 u* N& A$ y) l1 u7 z
方法如下:
. ]* y; u( F) m' }& ]7 H
3 v; ^' x% Y/ g! Z/ S2 W! n在RAM中把AC69的9D F0 06修改为4C C4 FF,指令说明:4C C4 FF作用是跳转到地址FFC4继续执行,4C是无条件跳转,如图24、25:# F" B* }  p- b4 v- P
  o9 C) h) Y! ^0 L$ r$ v3 N
为安全得想,偶跳过第一个的FF,而在第二个FF开始输入9D F0 06 4C 6C AC,指令说明:9D F0 06是以X为偏移量,把寄存器A内容送入06F0,X地址中,4C 6C AC是跳转到AC6C继续执行,如图26:
( ]8 Z" a( g& e( U
; N" W1 B7 ]* b5 V2 V. i3 z" d接下来关闭DEBUG和RAM,回到游戏看吓游戏是否正常游戏,能正常游戏说明地址能够跳转使用。如图27:
7 `3 K1 u: c7 a
9 f# L; E) z3 v5 d# E( O5 W! E& A接下来打开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:
7 L+ y0 A/ z" d+ C3 {% M, c7 G* p' F" ]; B
指令说明:A9 10是把数值10读入寄存器A中,9D F0 06是以X为偏移量,把寄存器A数值10送入06F0,X地址中,4C 6C AC是跳回AC6C继续执行
1 Y/ ]/ n# }5 N1 m& v( s3 e" H+ e* K
关闭RAM,看看游戏是否减血了,不减血说明修改成功,如图29:
) f# X3 e. r3 F' x/ K, z5 k
* b1 \+ C# N# @( Q4 k接下来,打开UltraEdit32,载入ROM,查找上图22的数据,如图30:
. O4 M, e' W7 \( ]$ q
( L! c9 M, O6 X, j) L% A5 }找到把图中的9D F0 06修改为4C C4 FF,如图31、32:
' o; W* J9 ~# H  `: |5 q" h6 W) T4 c- z- w+ E+ u
接着,查找上图23连续储存的FF前面的数据,比如上图23的连续储存的FF前面是20 86 A0 4C 22 EC,找到后,在20 86 A0 4C 22 EC后面的就是你要添加指令的连续储存FF,如图33:, z' l. q4 w' P/ l1 S) Y

, h$ A, z1 O/ _7 p) H同样跳过第一个FF,而在第二个FF开始添加指令,如图34:
6 U9 Y0 Q: E3 v( F0 _(如果你真要在第一个FF开始添加指令的话也不是不可以;假设你是在第一个FF开始添加指令的话,那图32的4C C4 FF应该修改为4C C3 FF). x6 I7 s( s3 N: C7 D* a* b

1 P  h+ }1 s5 H4 @& Y$ Z保存ROM,退出UltraEdit32,再进模拟器测试是否不减血,不减血说明成功了.....,如图35:. i/ Q8 i' C; a& u( L+ `4 P( C$ ?. o

' m, n: `% Y5 O7 z' |$ z  I) B[ 本帖最后由 疾风之狼 于 2008-12-1 12:24 编辑 ]

本帖子中包含更多资源

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

×
回复

使用道具 举报

签到天数: 2012 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-21 06:29:31 | 显示全部楼层
(4)一开始拥有99个暗器雷
. r7 t$ F. @" k: i/ r7 b首先要找到体力初始值,大家知道在赤影战士中体力初始值什么时候开始读取并放到06F0、06F4地址中?答案是在选择人物后。(注:06F0是对应1P体力值地址,06F4是对应2P体力值地址)- [+ e# s1 I" s' k8 M9 M1 c* r

# u6 b6 U7 q+ I# `- J要想在游戏开始后立即就有99暗器雷,必须在数据初始化后面加入暗器雷和暗器数量指令代码,如何添加指令代码?方法是上面的受攻击血不减方法一样,同样用无条件跳转指令4C再添加指令。: `- v8 ^2 i- w) v* }- \, |6 `9 H
: M% s9 U  S. ]4 O$ x
偶决定来教大家如何双人游戏时两人一开始拥有99暗器雷,打开VirtualNes Debugger并加载赤影战士日版ROM,选择双人游戏进入到选择人物后,打开RAM和DEBUG,用2P体力值EC码06F4地址来作为断点.....& N# ]3 h3 w) ]& w
# L* S$ _$ l% N
设置好断点后,回到游戏中,按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体力值地址)  q% D  F8 N" m" l9 s2 Q

5 y8 r4 a% @2 {A2F7:A9 10   LDA#$10  :A=0x10          -->把数值10读入寄存器A' r# }# |; o$ U& e* R( L% e8 j
A2F9:8D F006 STA$06F0 :[06F0]=A=0x10   -->把寄存器A的数值送入06F0地址- X6 U: R' }5 n5 k, q" U8 j" j
A2FC:8D F406 STA$06F4 :[06F4]=A=0x10   -->把寄存器A的数值送入06F4地址
) `: ?4 w) N; x! e
; T* m# g: ]& U7 V7 k9 Q, |0 \在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来添加指令吧....
# b" V" ~! w5 }0 x: l3 w# N  I0 `: S! [( A9 u  a& V  ?
接下来在RAM把A2FC的8D F4 06修改为4C C4 FF,如图38、39:: [% p$ z0 K3 z+ i  n8 S

, a# i0 U$ `0 n5 \2 a接下来拉到滚动条来到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:# @1 u; W6 G( W# \' J8 }5 G/ l! R
1 q' ]% y$ I( ^5 w) P/ I* i
指令说明: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地址继续执行6 v$ m6 y6 A9 t' R1 p& r, z; F

8 [5 q0 S8 W0 s; c* X' D接下来关闭RAM和DEBUG,重启游戏,进入游戏后暗器数是99,按一下攻击,如果放的是暗器雷说明修改成功!如图41:3 N9 i$ F6 R4 f2 }4 r  H8 {

6 ]2 @7 [+ x& w0 k6 k' c接下来关闭模拟器,打开UltraEdit32,载入ROM,查找你刚才用笔纸抄下的数据,找到后把8D F4 06修改为4C C4 FF,如图42、43:
# F% |/ u& M0 h" T* P: d0 D% I
接下来在找到上图33的连续储存的FF地方,偶还是跳过第一个FF,而在第二个FF开始添加指令,如图44:! r2 `" e3 w* \

3 [3 h* Y8 N% B7 P2 y3 S3 \保存ROM,关闭UltraEdit32,打开模拟器载入修改好的ROM测试,如图45:如没什么意外发生的话说明修改成功!  L: |% l, ^, u) w6 T5 b

8 [& S( F8 l& e4 a( R( N菜鸟HACK教程到此完成!以偶目前HACK水平来说还算是一只HACK菜鸟,没有和尚HACK技术那么厉害!:L

本帖子中包含更多资源

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

×
回复

使用道具 举报

签到天数: 5 天

[LV.2]偶尔看看I

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

使用道具 举报

该用户从未签到

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

2 z) @$ x0 ]; z1 T% N4 S8 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:
$ j7 F' r$ c$ [* W# \8 s) Q$ h8 A不减血的教材
回复

使用道具 举报

签到天数: 2012 天

[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 | 显示全部楼层
呵呵 完成了,得好好学习
( U) X! p/ F% r  E6 y- Bxiaofa兄弟也在这啊
回复

使用道具 举报

签到天数: 7 天

[LV.3]偶尔看看II

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

使用道具 举报

签到天数: 26 天

[LV.4]偶尔看看III

发表于 2007-11-5 21:46:57 | 显示全部楼层
终于可以自己去HACK简单的游戏了:loveliness: + P' O* z" C1 x2 V4 a& z( f
激动啊;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 | 显示全部楼层
好说的太好了
! r5 O" I1 A' x/ q我会了
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-7-15 23:50

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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