设为首页收藏本站

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

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

  [复制链接]

签到天数: 1993 天

[LV.Master]伴坛终老

发表于 2007-4-21 05:26:54 | 显示全部楼层 |阅读模式
注意:转载请注明本人名字和文章出处!
* F3 p9 r0 X5 v& D. v5 V3 E, ~" Y) n& Q3 V
菜鸟NES HACK简单教程(偶应N多人要求才做这个教程,有错误请指正:L )
  s) z5 L8 `. J) M8 v' L
7 V( q+ Y7 Z: L3 q2 s( ]. X0 gNESHACK相关资料下载:http://bbs.emu618.com/forum/viewthread.php?tid=12675&extra=page%3D29 g; [" k: W8 x  v! I  }0 W: L
6 |/ O" ~7 Q. g# P
6052汇编大奥秘(详细介绍FC的汇编语言,推荐下载):http://bbs.emu618.com/forum/viewthread.php?tid=20393&extra=page%3D1
0 R5 Y9 V. c2 W9 ?4 e% \& z: e  f8 j
开始之前先说几句废话3 I+ B5 o! s0 X; f9 }2 Q

7 H# X: Z! o! S5 ?# I6 S7 x第一,HACK之前先了解一下6502汇编指令,NES相关资料里有指令集说明文档,如果你看不懂英文的话就下载《6502汇编大奥秘》,里面有指令中文说明........^_^
0 y# B5 C! O" b9 M1 o& Z: }' V
个人建议:没必要把6502全部汇编指令硬背下来再跟踪调试,那样会很累,你可以一边调试一边查询指令说明.......2 K% I3 B- P3 p" |# |5 d( Z

! u+ H# W$ [! n+ [% o2 J' f: K第二,还需要准备一些工具:NES调试跟踪工具(VirtualNes Debugger版或者no$nes-w、FCEUXD SP等NES调试跟踪工具)、十六进制之类编辑工具(Winhex或者UltraEdit32)  r2 x! d. B3 j" S; I
+ m9 d( |7 Q7 U; }! i; N
第三,了解修改步骤:
) g" M. e5 B$ V- @; H9 y1、首先要确定你要修改什么。连要修改什么都不知道,那怎能谈上修改呢。
+ r, q2 U! ^9 G8 F, m( B% A  M2 l* p2、获取作弊码,换句话说就是要获得要修改数据的地址。推荐使用EC,这个软件自带作弊码和跟踪修改功能。
' |0 ?( T% }0 |% P3、获得指令代码及其在Rom中的地址。一般通过VirtualNes Debugger版或者no$nes-w、FCEUXD SP等NES调试跟踪工具,再配合内存查看和十六进制之编辑工具确定指令以数据方式储存在Rom中的哪个地址。- A8 D3 X6 E4 m# }. p8 k
4、修改相应指令或数据。一般来说要做尽量少的修改,而且不能让程序运行出错。
/ _/ E' }: b  q6 S3 `5、测试游戏运行情况,看游戏能不能按照你修改目的正常运行。
. {( X& d6 v5 Z. G6 e$ T
& Y1 O) R( _) J第四,偶以日版《赤影战士》和VirtualNes Debugger版来为例子教大家如何HACK:. {$ F" p+ s6 b% Z; @
' n+ P5 s. t! I4 j: J
偶需要修改的数据:暗器数不减,放雷电必杀不减血,被敌人攻击不减血,一开始拥有99颗暗器雷; r5 h3 r% z; I; b/ y, G% `; Y7 z2 S
4 q8 e- o* Z6 M
1、获取作弊码,这个好容易得到,EC这个软件附带N多作弊码,省去自已手工查找作弊码了。^_^
# ^7 ~5 ]$ r& ~0 Z" C9 `[P1 生命值]: C4 p0 ]- A# Z
ON=6F0,10
" x, U4 W, y: M" K* y" z. n" c0 F+ N1 [
[P1 暗器数量]! d" x% Z/ J- t3 I  B
ON=662,FF3 f) i5 ~: Q' ?2 Q) T

: b' W* W0 @; }7 r# z[P1 武器种类]. I1 h' x4 H' g3 Q5 L& N
刀=6B2,0* {: G) G+ V1 A. o
ON=6B2,3
2 V3 H/ _9 l2 y: c& G8 [# S7 E+ ~" n. u6 b# h; F1 p. }9 W
[P1 武器威力]9 F0 t& n9 t/ c4 ~
ON=680,FF
" @2 L* Z  k# F5 [) I9 b7 x5 i, _) {) C' U: `4 v+ w& r
[P1 暗器种类]
1 n3 \  A- x! r( J4 X8 f8 N( C2 ]标=671,0
* j# L8 U& Z0 y8 K雷=671,1) J4 Z5 |) O7 m( A1 n0 F

7 l7 ?, }. r$ i! {# j" X$ _2 `[P1 隐身]4 L1 M- X4 a* R' v3 t7 [, v- V
OFF=0000,0
4 I' {8 M; r  O: |4 y1 y! o1 CON=601,4C4 p8 @3 n* k" V# k6 a2 o

( S' V# C' Z3 h  Q9 g[P2 生命值]
4 {. E4 n" L5 z- p$ _" mON=6F4,10
( U, w6 ?- X/ E- K
5 X! M" C: M# f, ][P2 暗器数量]- E; @; V- ]" x6 f0 [. |  t2 e* A
ON=666,FF
5 T* n) F- S7 R" s3 A' k, R- A. c. c5 n; ?, q
[P2 武器种类]( t5 o8 ~; b9 L( {/ ^  a& ~, _
刀=6B6,01 C) ?5 z3 {" r$ B: y
ON=6B6,3
) h! t7 F4 d9 N5 L' K; o9 E" Q# Q9 @7 n' [. s' D7 F, N
[P2 武器威力]3 b+ H; z1 ]: r* K
ON=684,FF( O. v+ W- z2 b1 P" P
* D# M+ o8 f3 x
[P2 暗器种类]6 V" ], B# s+ ?2 \$ M. E
标=675,0
) |" o& y! G3 [$ ?; M! \8 S雷=675,16 j* U0 ^# a5 Q/ e1 x& W( y
! B( Q8 Z( A) S6 I( x
[P2 隐身]
; f; C' ^0 ]% H: o* x5 D/ AOFF=0000,0
5 |; I0 D" r1 z& h. ^7 ^ON=605,4C% ?! k  E) A9 \
' S6 f) m/ a. n' p" j2 D+ p
[GameInfo], w- ^( N( k9 n) N, j. v
Name=Shadow of the Ninja (FC/NES)
3 J) ], l; G, t- ^% }System=FC8 q) [8 ?+ @: d3 ]8 L* S
Text=赤影战士(水上魂斗罗),双人、动作游戏,由大胖子提供!
+ G8 n; r6 V( Z* A  v6 l1 V
8 ?' r( ^6 V' D' |0 V" P* Q" J[ 本帖最后由 疾风之狼 于 2009-10-14 15:09 编辑 ]

评分

1

查看全部评分

签到天数: 1993 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-21 05:27:43 | 显示全部楼层
2、通过调试跟踪获取指令代码及其在Rom中的地址,并用16进制编辑工具修改ROM其中数据
: F- K) W3 J5 D$ w+ A0 Y% m9 B偶按照暗器数不减,放雷电必杀不减血,被敌人攻击不减血,一开始拥有99颗暗器雷顺序来教大家如何跟踪调试修改:
$ r( @3 Y, [0 N
, v4 D& s5 ~1 m2 _(1)暗器不减:
) u& v/ u; ]' ]4 o; W$ U/ b7 V2 M7 j- q$ N
首先打开VirtualNes Debugger并加载赤影战士日版ROM,如图1:' K" {$ C) A2 \/ ?& k

. B* {8 q1 n! I& M- j4 a8 V+ ]接下来游戏进行到获到暗器飞镖20个,如图2:
" A0 f. w* @' y1 e7 B+ _0 b, U" E
接下来开始跟踪飞镖数量,先打开RAM,再打开DEBUG,先打开DEBUG的话,不然RAM就用不来:如图3、图4:
! R  |1 i$ b' c+ y$ M3 H8 z) _  V/ y1 f7 i2 c
先点暂停,根据如下面作弊码提供的暗器数量地址,如暗器数量地址是662,就在注释内出现后面方框中输入[0662](注:可以用这东东当条件断点),再点右边确定让游戏继续运行,如图5:) l( |3 t. s' W+ L2 L+ r" c
5 F1 R, Y2 [0 R, w# E& c
[P1 暗器数量]
% z- W' @! i% l$ w: g8 ^) ?( bON=662,FF  F6 R8 L7 y1 V, Q3 _
% r, B1 f( Z& G% @( [
使用一次飞镖,程序会发生中断停在B840这一行,如图6:5 r; U# y  T7 {- w/ O1 G7 D; M5 n

3 M! H( y7 u3 s0 H: U, y: e' Q3 [B840 : DE 6206 DEC $0662,X;[0662]-- =0x13
/ t/ T) b1 y+ N3 H# W; N8 Y
7 `3 N/ B1 j0 r4 O& M8 K% K1 a查指令表得知B840这个地址DEC $0662,X指令作用是将0662+(X)=真正暗器地址的数值减1;既然这样,只要把这条DEC $0662,X指令改为LDA $0662,X就可以让暗器数量不减了。LDA $0662,X作用是把0662+(X)=真正暗器地址的数值读入寄存器A。(X)是寄存器X的数值。
$ a; t+ u4 i# N' {7 z8 {/ ]" A: o举个例子:假设X寄存器数值是6,指令是“LDA $1234,X” 这条指令看上是将$1234地址数值读入寄存器A,但实际上$1234不是真正数值存放地址,1234必须加上寄存器X的数值才是真正数值存放的地址。1234+(X=6)=123A,LDA $1234,X指令应该是这样解释:将1234+(X=6)=123A地址读入寄存器A。
* {- Q9 N3 V$ @' n, MLDA xxxx,Y和LDA xxxx,X一样,不过寄存器X变成寄存器Y。7 ~+ Z' ]- t: o1 Y

6 j; y6 p# d$ Q/ v- }1 {查指令机器码得知DE是DEC - Absolute,X,BD是LDA - Absolute,X,注意寻区方式要一样....把DE修改为BD就可以不减暗器数量了。
8 q: r. ~7 {9 d9 M' }, ^/ k9 k( L) M3 p1 ~1 k- Z, h
注意:别把BD修改成其他LDA指令,这样会死机的,因为指令寻区方式不一样。3 V. o- ~5 B; S
8 l* p  K1 H7 k" f: P
另外,有一些其他游戏是这样的:改为LDA $XXXX,X 那么就会破坏了寄存器A原来的数据了,后面的程序如果要直接用寄存器A的数值的话,那么就会造成游戏出错,如果后面的程序在用寄存器A的数值之前对寄存器A赋于新值就没事了。
0 l! O8 T2 W4 N" U5 x5 |2 V# M0 n3 ]  g# x
接下来在RAM中找到B840:DE 62 06,如图7:
, b" p% |, U  ~6 s& Z+ R0 V: V- }7 A7 N0 l9 p& u7 S
用笔纸抄下红框中数据,以便在查找,接得在RAM中把DE修改BD,如图8:2 n/ u: x& v- _; O, r) s* z
! L) h% x& o) }6 M5 g
关闭DEBUG和RAM,回到游戏中测试吓暗器数量是否不减,暗器不减了,说明指令修改成功。如图9:
/ X$ t" N" z: L" Q; B6 E" o0 ^" C' s. \; ?& H; h/ u6 }3 f+ N
关闭模拟器,接下来用十六进制修改工具(如UltraEdit32)修改ROM,还记得之前用纸笔抄下的数据么?$ g# S2 y% k; e! o4 y2 u8 `
) w0 c7 E4 Y9 ?" h, U) w; n$ b
打开UltraEdit32,载入赤影战士ROM,编辑之前按一下Insert把插入方式设为覆盖方式,如图10:3 i5 M, M; C! r  T' A1 m. E
- p4 _5 N! i- V9 I
点击UltraEdit32“搜索”>“查找”,在弹出查找框中查找内容(N)后面方框中输入你用纸笔抄下的数据,再点“查找下一个”就能找到这个数据,如图11:" l8 q, a) E% V
2 o$ F* C3 \( m8 ^
如图12,结果出来,UltraEdit32高亮度显示你就是要找的数据,把DE修改为BD,再点“文件”>“保存”保存你修改结果。如图13:) f3 C# P3 C3 f$ M0 D& n

; `3 E9 A! ^$ ]' W关闭UltraEdit32打开模拟器载入修改后的ROM测试暗器数量是否不减,不减的话说明修改成功了,如图14:
$ J4 J, t  C2 {" p) [2 T' k- z7 @" z2 e* T; z  k
暗器雷数量不减修改方法和暗器飞镖数量不减修改方法一样。就不再说了,留给大家练习一下。( o0 G* i* v* s2 {* O4 A4 ]9 B: q
+ z5 \8 G3 t4 j" x
[ 本帖最后由 疾风之狼 于 2009-10-14 15:08 编辑 ]

本帖子中包含更多资源

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

×

评分

2

查看全部评分

回复

使用道具 举报

签到天数: 1993 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-21 05:28:36 | 显示全部楼层
(2)放雷电必杀不扣体力4 Y: @7 k; i6 m+ v- t+ t
打开VirtualNes Debugger并加载赤影战士日版ROM,开始游戏,打开RAM和DEBUG,查询EC作弊码得知体力地址是6F0,* ~: s0 F* U" Q" m" `$ J8 ~

" s# O# ]% Y: Y+ M估计大家看暗器不减HACK教学后就知如何设置断点跟踪,我就不再说了,设置好断点后,回到游戏,按紧B键不放使出雷电必杀,
' J; A  E; J, N7 E7 Y' n8 q4 `4 A. i  N' p* l; h
当雷电必杀发出时,程序中断,程序停在B6FC:9D F006 STA$06F0,X这行,如图15:注意B6F6:E9 08 SBC#$08这条指令,这条指令作用是把
6 V( K0 I% u( w! z8 s
. K6 q9 R& E% G地址06F0减去8,大家都知道赤影战士放雷电必杀后会扣去8点体力,而这个08正好是放雷电必杀所需要扣的体力,只要把08修改成00的话就不会扣体力。(当然你也可以修改成01,发必杀只扣1格体力啦^_^), ?7 ?3 x2 e2 V+ k. T
( f9 J8 u9 X/ M8 e# f, ^5 O9 I
转到RAM,找到B6F6:E9 08,把图中红色方框数据抄下,以便查找。如图16:把08修改为00就不扣体力了,如图17:关闭RAM和DEBUG,再重启游戏,再发动必杀,不扣体力的话说明修改成功了。
3 _. X7 p! ]0 I$ A) Q7 y. Q. Y2 K! e+ ]; ]- A+ `+ l$ O# o
如图18:关闭模拟器,打开UltraEdit32,载入ROM,编辑之前按一下Insert把插入方式设为覆盖方式,点击“搜索”>“查找”,查找之前抄下的数据,找到如图19的数据:把08修改成00,再保存退出,如图20:
* v+ g$ Z$ m. V  X4 n$ d4 y& }0 \+ Z2 m( m
再进模拟器打开修改后的ROM测试发必杀是否不减体力,不减体力的话说明修改成功。9 S* K8 j9 T' k2 R* e. t, c

* Q" E+ W/ z! j* f" WPS:跌落损伤修改方法和发雷电必杀修改方法一样,我不再说了,留给大家练习,方法设置好断点,再找个地方跳楼自杀(-_-),就能跟踪找到地址了......
! {- q$ H( F7 s! A$ h
* I( v) T) Q# |" x# i偶找个时间再继续发如何HACK受攻击不减血和一开始拥有99个雷吧.......

本帖子中包含更多资源

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

×
回复

使用道具 举报

签到天数: 1993 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-21 06:27:29 | 显示全部楼层
(3)受攻击不减血
0 t+ T6 V$ V8 o) H3 K: k1 G打开VirtualNes Debugger并加载赤影战士日版ROM,开始游戏后,打开RAM和DEBUG,同样用体力EC作弊码6F0来设置断点,设置好断点后,. B1 ^) D4 g5 N, G1 g

3 d& ]' g# D" `. f( m5 `2 y回到游戏被敌人打一下,当敌人攻击主角时,程序中断,程序停在AC69:9D F006 STA $06F0,X这一行,如图21: ) M% t5 k$ n% ?  Z
+ r: I6 V0 r! C
注意AC69地址前面的AC63:E5 9D SBC$9D,这条指令作用将06F0,X地址数值减去009D地址数值。单单只将SBC指令修改LDA指令会有问题,偶考虑只有通过无条件转移指令(4C)再添加指令来达到不减血.....
& n+ m5 u2 o; Y! l$ ?) l% T; J/ c5 n" w: |3 g) K5 f
首先抄下如图22的数据,方便查找:之后在RAM中查找寻找连续储存的0xFF,可以在前面也可以在后面,也可以寻找连续储存的0x00,注意的是00是中断指令,有时候修改了游戏会出错。看情况吧。一般选择在连续储存的00中段开始加入修改数据。' v8 e. E/ b/ g& ^7 B2 p. U

4 s& y. i, d: h0 Y( h偶在RAM后面FFC3~FFDF找到一些连续储存的FF,如图23红框中连续储存的FF,把FF前面的数据抄下,方便查找,接着测试吓这些FF是否能使用.....
/ ^6 n9 R7 u- N7 [5 v) A  k* _  K: c8 q$ `. T4 e. V: G6 J* Y! V; _& e: C
方法如下:
* X+ |5 C- ]- i- u
2 [4 n1 t: X5 Y) M: ?# B6 F+ I# U) O2 S在RAM中把AC69的9D F0 06修改为4C C4 FF,指令说明:4C C4 FF作用是跳转到地址FFC4继续执行,4C是无条件跳转,如图24、25:  T& Q7 d' }( }9 X$ [, m

# k, C7 e( J# v' V# x为安全得想,偶跳过第一个的FF,而在第二个FF开始输入9D F0 06 4C 6C AC,指令说明:9D F0 06是以X为偏移量,把寄存器A内容送入06F0,X地址中,4C 6C AC是跳转到AC6C继续执行,如图26:9 C7 L/ q2 O# ]4 C
- O. {- F  ?: o6 e/ a% g: R
接下来关闭DEBUG和RAM,回到游戏看吓游戏是否正常游戏,能正常游戏说明地址能够跳转使用。如图27:: s# K) h4 v' F8 V# X0 B  \- P

0 H' c+ S4 H0 |! {2 ?接下来打开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:
; G3 J* y6 X3 _; s, C9 d: D! Y8 s7 {, W! ?0 `% u2 f. n' {
指令说明:A9 10是把数值10读入寄存器A中,9D F0 06是以X为偏移量,把寄存器A数值10送入06F0,X地址中,4C 6C AC是跳回AC6C继续执行5 v5 n9 U9 R& t- E6 ~, O
0 M8 z* A  D! a! B
关闭RAM,看看游戏是否减血了,不减血说明修改成功,如图29:' T0 R. P+ j1 H) p" r1 Y

; ~" n% t/ v' {* h接下来,打开UltraEdit32,载入ROM,查找上图22的数据,如图30:
* t/ L9 c1 Z7 u2 t8 u
3 w3 }5 |$ v& v* C9 u0 N7 r找到把图中的9D F0 06修改为4C C4 FF,如图31、32:6 I- W2 n" L0 C) @/ u
  f9 A- m' s0 n% Q6 t
接着,查找上图23连续储存的FF前面的数据,比如上图23的连续储存的FF前面是20 86 A0 4C 22 EC,找到后,在20 86 A0 4C 22 EC后面的就是你要添加指令的连续储存FF,如图33:
1 P/ ]: n6 m, q% |/ X$ d! [7 L/ w) @( L1 w
同样跳过第一个FF,而在第二个FF开始添加指令,如图34:
9 d" t0 C6 X/ _- t(如果你真要在第一个FF开始添加指令的话也不是不可以;假设你是在第一个FF开始添加指令的话,那图32的4C C4 FF应该修改为4C C3 FF)
; M" @; t" }7 m6 i
: _5 V5 F( f0 o, b1 X保存ROM,退出UltraEdit32,再进模拟器测试是否不减血,不减血说明成功了.....,如图35:. J6 t" z& C. |/ u9 i
! G3 z" g1 c; P; Z$ W; \
[ 本帖最后由 疾风之狼 于 2008-12-1 12:24 编辑 ]

本帖子中包含更多资源

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

×
回复

使用道具 举报

签到天数: 1993 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-21 06:29:31 | 显示全部楼层
(4)一开始拥有99个暗器雷5 M2 m8 S% m" o
首先要找到体力初始值,大家知道在赤影战士中体力初始值什么时候开始读取并放到06F0、06F4地址中?答案是在选择人物后。(注:06F0是对应1P体力值地址,06F4是对应2P体力值地址)7 T% G: h# [, o0 W3 y/ p/ z# S

! V- Q4 m  t1 l  ]# ~7 H7 ~5 k0 x, B要想在游戏开始后立即就有99暗器雷,必须在数据初始化后面加入暗器雷和暗器数量指令代码,如何添加指令代码?方法是上面的受攻击血不减方法一样,同样用无条件跳转指令4C再添加指令。
8 u1 t) C& }6 b3 C. N# X, T% a0 q/ W) s/ Z
偶决定来教大家如何双人游戏时两人一开始拥有99暗器雷,打开VirtualNes Debugger并加载赤影战士日版ROM,选择双人游戏进入到选择人物后,打开RAM和DEBUG,用2P体力值EC码06F4地址来作为断点...... g% D  j9 r+ j- c+ @- `1 m3 i
  J# W$ C; i8 p- p
设置好断点后,回到游戏中,按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体力值地址)( `; V$ J" Q& k+ A

3 r. p) f. L. y% k% _A2F7:A9 10   LDA#$10  :A=0x10          -->把数值10读入寄存器A9 J7 b9 O8 K+ O" R) ~
A2F9:8D F006 STA$06F0 :[06F0]=A=0x10   -->把寄存器A的数值送入06F0地址3 l+ b6 \3 H% h7 h* G: V8 B
A2FC:8D F406 STA$06F4 :[06F4]=A=0x10   -->把寄存器A的数值送入06F4地址
2 p/ ^4 ?- U, s8 `. {/ Z& P  O: W8 d0 F4 o1 Z2 y0 _7 t
在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来添加指令吧....$ P4 n6 i3 Z( y% x+ X( C

* ~+ Q7 b* O! x& d: \1 t接下来在RAM把A2FC的8D F4 06修改为4C C4 FF,如图38、39:
% U7 m$ S2 E: _! T8 r! ]9 G% T' G' m3 A5 _/ ]6 Y, K
接下来拉到滚动条来到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:) g% R9 M) O5 K& ?$ i) C

7 h0 }2 W/ z3 d1 a4 D: l指令说明: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地址继续执行2 U2 ?8 _( U" a$ A7 ~0 X! R

! k# `2 a0 V1 b接下来关闭RAM和DEBUG,重启游戏,进入游戏后暗器数是99,按一下攻击,如果放的是暗器雷说明修改成功!如图41:
2 `; c( o5 ~0 K1 d" |  b$ g% ~% l- V5 {# ]! q, I5 d
接下来关闭模拟器,打开UltraEdit32,载入ROM,查找你刚才用笔纸抄下的数据,找到后把8D F4 06修改为4C C4 FF,如图42、43:( b6 R( h5 o4 w# w5 e. [$ R# O5 ]

! y: S# u- d3 E2 m接下来在找到上图33的连续储存的FF地方,偶还是跳过第一个FF,而在第二个FF开始添加指令,如图44:
1 b1 e2 Z& O4 _+ W1 \
; m$ _: M/ H3 E( k/ G3 A保存ROM,关闭UltraEdit32,打开模拟器载入修改好的ROM测试,如图45:如没什么意外发生的话说明修改成功!7 a4 l4 A" D7 j7 U3 |; X# c4 [

' i8 t8 {6 k6 W) O) i0 \菜鸟HACK教程到此完成!以偶目前HACK水平来说还算是一只HACK菜鸟,没有和尚HACK技术那么厉害!:L

本帖子中包含更多资源

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

×
回复

使用道具 举报

签到天数: 5 天

[LV.2]偶尔看看I

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

使用道具 举报

该用户从未签到

发表于 2007-4-21 10:27:49 | 显示全部楼层
3 `/ Q+ I3 O3 ]2 c+ }
适合新手学习修改的教材
回复

使用道具 举报

该用户从未签到

发表于 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: 3 z. O) c. d- y# k1 O( R& `) j
不减血的教材
回复

使用道具 举报

签到天数: 1993 天

[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 | 显示全部楼层
呵呵 完成了,得好好学习. E' |* U% ~! k
xiaofa兄弟也在这啊
回复

使用道具 举报

签到天数: 7 天

[LV.3]偶尔看看II

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

使用道具 举报

签到天数: 26 天

[LV.4]偶尔看看III

发表于 2007-11-5 21:46:57 | 显示全部楼层
终于可以自己去HACK简单的游戏了:loveliness: 6 u% b& S/ A0 E8 m* M/ [
激动啊;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 | 显示全部楼层
好说的太好了 1 J' Q& M( o) V# G* N( b
我会了
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-6-26 03:38

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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