设为首页收藏本站

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

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

  [复制链接]

签到天数: 1897 天

[LV.Master]伴坛终老

发表于 2007-4-21 05:26:54 | 显示全部楼层 |阅读模式
注意:转载请注明本人名字和文章出处!
5 l( b4 C+ O9 c% C4 A1 ~' w7 s$ {4 ^0 ~
菜鸟NES HACK简单教程(偶应N多人要求才做这个教程,有错误请指正:L )" @" A5 V% M/ e( U7 D5 j
6 p. J2 ]; [5 O* d
NESHACK相关资料下载:http://bbs.emu618.com/forum/viewthread.php?tid=12675&extra=page%3D2
, J5 [; q" P. C$ {
, E. u- Y$ c' L6052汇编大奥秘(详细介绍FC的汇编语言,推荐下载):http://bbs.emu618.com/forum/viewthread.php?tid=20393&extra=page%3D1' V3 J1 H: E. Y! Y6 ]* W/ @
' e/ m. S) L9 T- B. Q! k3 |( J
开始之前先说几句废话
+ s6 E* E6 t' @7 z3 o* @2 A; p$ J% `, ]- V
第一,HACK之前先了解一下6502汇编指令,NES相关资料里有指令集说明文档,如果你看不懂英文的话就下载《6502汇编大奥秘》,里面有指令中文说明........^_^
& H( Y# c4 e) b4 w- X" d. L
6 `& @2 M" g$ Z3 O6 t$ n- w9 ~' C个人建议:没必要把6502全部汇编指令硬背下来再跟踪调试,那样会很累,你可以一边调试一边查询指令说明.......0 @) d. I' {" q; z5 |5 o1 W$ `4 n/ K
4 T% |* F+ S2 ]0 I, S2 I
第二,还需要准备一些工具:NES调试跟踪工具(VirtualNes Debugger版或者no$nes-w、FCEUXD SP等NES调试跟踪工具)、十六进制之类编辑工具(Winhex或者UltraEdit32)) s6 W3 D5 l% h6 y# y
% `9 z% c* q- _% x/ I- r: I1 {
第三,了解修改步骤:0 x. n: Y# w7 v& T2 \7 C
1、首先要确定你要修改什么。连要修改什么都不知道,那怎能谈上修改呢。
0 ?8 s6 p1 ~7 I% U4 A' y2、获取作弊码,换句话说就是要获得要修改数据的地址。推荐使用EC,这个软件自带作弊码和跟踪修改功能。9 h" |6 D) D& u2 a* B
3、获得指令代码及其在Rom中的地址。一般通过VirtualNes Debugger版或者no$nes-w、FCEUXD SP等NES调试跟踪工具,再配合内存查看和十六进制之编辑工具确定指令以数据方式储存在Rom中的哪个地址。7 K2 O3 E. Q1 N
4、修改相应指令或数据。一般来说要做尽量少的修改,而且不能让程序运行出错。
% c# y% K% z8 E7 \+ K: ]5、测试游戏运行情况,看游戏能不能按照你修改目的正常运行。
- }& D- ^; Z, f* ]" E) u9 p
5 J- @1 Q$ B! O+ @; g4 I7 K+ ?第四,偶以日版《赤影战士》和VirtualNes Debugger版来为例子教大家如何HACK:  a* v7 O1 ^5 X, Z

5 ~* A' J, J- E( O. P6 d偶需要修改的数据:暗器数不减,放雷电必杀不减血,被敌人攻击不减血,一开始拥有99颗暗器雷7 M" I4 }7 i, `' a0 h; o- W
! H* ~! c* A4 x% A( x
1、获取作弊码,这个好容易得到,EC这个软件附带N多作弊码,省去自已手工查找作弊码了。^_^
+ C+ t! u# q6 G% Z! ]1 y4 S[P1 生命值]3 D7 `6 a& N1 t. E5 G
ON=6F0,10
/ O; u  S+ v4 u6 I* D7 a+ D' Z5 M$ R" F
[P1 暗器数量]6 A/ l! z  W. Z' ^/ v
ON=662,FF
& T1 M* Y, {2 U2 s4 T3 |3 `$ e" R* d4 z
[P1 武器种类]: J, o6 w" Q- O; l( \/ K- o* f
刀=6B2,0
1 r* F( k+ y7 `' `ON=6B2,3- d, n1 ]% r. _# @

# N* g  U* c( k5 Q- @[P1 武器威力]6 Z( o2 H  S9 z
ON=680,FF1 ~" m: I* V3 e# a( M0 W
! d5 v: ]; Y7 [! J  t
[P1 暗器种类]
7 \" L6 h- H2 O, z& I, X标=671,0% s8 r0 j4 T, K6 P, |% n" r
雷=671,1  x* l. `% F/ t- U

3 O( v+ D' A  j  Y8 Z4 `8 e[P1 隐身]
8 l9 l9 _1 U# U) w% zOFF=0000,04 i9 U# U" `3 s& L
ON=601,4C8 \4 }: j5 E1 i# Z$ o- ?

+ |, g5 Z/ P$ Q. ~4 m9 P[P2 生命值]( R. s7 ]! n5 d- k. a( P: k% q
ON=6F4,10* x! v! N( _! D# x9 S, t4 d
5 Y5 f7 O4 c7 c: F  Q  i9 w6 [5 @% _
[P2 暗器数量]7 h0 _  \& N8 A# {
ON=666,FF
6 G; T+ ^0 I( e& E+ _8 D1 B: K4 [4 {0 O
[P2 武器种类]' W: d' a  h$ R
刀=6B6,0
; Q7 M; b0 t  n' YON=6B6,3) S4 N" I0 F. V  k/ E+ D
! `+ n/ O: S* J9 b2 z
[P2 武器威力]
- j1 l1 e* k6 J, \7 J% UON=684,FF
  ^  x- w$ I$ q9 O! O7 ^8 T
! `% g  Y. I, u2 H# Y[P2 暗器种类]3 o6 j5 a' b# _0 y9 H6 D
标=675,04 t  ^7 C9 S3 k  s! j$ Y: R( {, i0 Y
雷=675,1. [5 S4 b) Q  e! D
( N6 u7 G% e+ B# t1 C: A
[P2 隐身]& M5 ]) |9 T' F8 j$ F- s
OFF=0000,0
/ l- \9 z, N0 U; |/ h7 O) H2 FON=605,4C5 J3 @4 O& [* k. k% k& B

* x  Q- |( z, M3 C$ e# u; ~[GameInfo]8 L' b" B/ f" u  L& N- b
Name=Shadow of the Ninja (FC/NES)
% ^2 I. D# n7 n0 X* Q3 w+ eSystem=FC9 k( ?2 ]8 j7 i5 _9 @
Text=赤影战士(水上魂斗罗),双人、动作游戏,由大胖子提供!4 a8 S- a& ?/ p) j* O) _

* D$ I, a4 L* _4 @" V[ 本帖最后由 疾风之狼 于 2009-10-14 15:09 编辑 ]

评分

1

查看全部评分

签到天数: 1897 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-21 05:27:43 | 显示全部楼层
2、通过调试跟踪获取指令代码及其在Rom中的地址,并用16进制编辑工具修改ROM其中数据: v& c" Z) O: ]' [1 @6 F
偶按照暗器数不减,放雷电必杀不减血,被敌人攻击不减血,一开始拥有99颗暗器雷顺序来教大家如何跟踪调试修改:. I/ O& ]* q8 t& K, t; N. \

1 G9 b" c2 W4 B" D(1)暗器不减:
0 Y* }8 T" z) B. P% m) k) T* A( c6 [( `# O' K. [
首先打开VirtualNes Debugger并加载赤影战士日版ROM,如图1:! ?2 N% _& |" r9 W" |

+ j! N% b! [8 g% X1 ?& P9 C+ e1 {接下来游戏进行到获到暗器飞镖20个,如图2:; b- l4 }2 B' J# B# n0 t8 }
, S6 I! G; H/ D2 t. x4 O) y" m
接下来开始跟踪飞镖数量,先打开RAM,再打开DEBUG,先打开DEBUG的话,不然RAM就用不来:如图3、图4:- p, F8 F( V- q# j5 K) t
2 j  f2 l6 `4 P
先点暂停,根据如下面作弊码提供的暗器数量地址,如暗器数量地址是662,就在注释内出现后面方框中输入[0662](注:可以用这东东当条件断点),再点右边确定让游戏继续运行,如图5:
# e4 {& S; Y% t$ {  q2 \5 a7 d& d( R! m  i  G
[P1 暗器数量]
4 g  Z8 g4 P# S- R% DON=662,FF: M0 q& I: i0 S* f

" N3 {% o4 l( ?* G( G使用一次飞镖,程序会发生中断停在B840这一行,如图6:
, }' }( p* K4 {; X) Y' y& x1 A2 T" S# [' v% d
B840 : DE 6206 DEC $0662,X;[0662]-- =0x133 F" }+ R: x: E) j

* y% t: `- q. f. U$ V7 n! S" J  l查指令表得知B840这个地址DEC $0662,X指令作用是将0662+(X)=真正暗器地址的数值减1;既然这样,只要把这条DEC $0662,X指令改为LDA $0662,X就可以让暗器数量不减了。LDA $0662,X作用是把0662+(X)=真正暗器地址的数值读入寄存器A。(X)是寄存器X的数值。
2 I2 S1 {5 A  ]举个例子:假设X寄存器数值是6,指令是“LDA $1234,X” 这条指令看上是将$1234地址数值读入寄存器A,但实际上$1234不是真正数值存放地址,1234必须加上寄存器X的数值才是真正数值存放的地址。1234+(X=6)=123A,LDA $1234,X指令应该是这样解释:将1234+(X=6)=123A地址读入寄存器A。6 O% J4 ], {- O( e3 t
LDA xxxx,Y和LDA xxxx,X一样,不过寄存器X变成寄存器Y。; l3 F( X2 d' W- O: H# }

; w* a, n6 I! g- T+ P* I6 A% W查指令机器码得知DE是DEC - Absolute,X,BD是LDA - Absolute,X,注意寻区方式要一样....把DE修改为BD就可以不减暗器数量了。; G4 p/ g) z8 [4 }

6 L" y, b. T- c9 E3 {4 ~% F' W注意:别把BD修改成其他LDA指令,这样会死机的,因为指令寻区方式不一样。
& K: h7 z$ Q9 d
' w6 W0 \  f4 H3 A$ F# E另外,有一些其他游戏是这样的:改为LDA $XXXX,X 那么就会破坏了寄存器A原来的数据了,后面的程序如果要直接用寄存器A的数值的话,那么就会造成游戏出错,如果后面的程序在用寄存器A的数值之前对寄存器A赋于新值就没事了。; Y: T* `; E4 B$ c+ C
( r$ J$ b4 u) |. W$ I9 _# q) B
接下来在RAM中找到B840:DE 62 06,如图7:! B1 l5 n8 u0 e6 o4 u5 H; j

0 v$ o9 `7 v/ R& }$ N  C用笔纸抄下红框中数据,以便在查找,接得在RAM中把DE修改BD,如图8:
' d0 _( D9 c; N0 P0 f. X# H( H3 R' |! O, R
关闭DEBUG和RAM,回到游戏中测试吓暗器数量是否不减,暗器不减了,说明指令修改成功。如图9:, v* t/ G( |5 W7 N6 H$ X+ D

+ a1 P; |* }1 O6 r$ b# Z" D关闭模拟器,接下来用十六进制修改工具(如UltraEdit32)修改ROM,还记得之前用纸笔抄下的数据么?' o; F# y3 R5 |$ K
. M6 E. r' j( ?7 a1 u9 L( W5 F" E
打开UltraEdit32,载入赤影战士ROM,编辑之前按一下Insert把插入方式设为覆盖方式,如图10:$ G6 W4 y( ]+ @' t' h' F" i: E$ P

) V$ D+ {, \5 k) X0 O1 l& V点击UltraEdit32“搜索”>“查找”,在弹出查找框中查找内容(N)后面方框中输入你用纸笔抄下的数据,再点“查找下一个”就能找到这个数据,如图11:3 x& w7 w( V3 b% h- d  k

+ w+ i" S. d& ]6 I9 \6 H! f如图12,结果出来,UltraEdit32高亮度显示你就是要找的数据,把DE修改为BD,再点“文件”>“保存”保存你修改结果。如图13:
0 @5 a* X3 K0 |* x8 N
- F0 ~8 J$ L4 K! T! [- h/ m2 V关闭UltraEdit32打开模拟器载入修改后的ROM测试暗器数量是否不减,不减的话说明修改成功了,如图14:8 q3 _6 i1 B8 n0 \  d1 P

6 }/ K+ s8 q/ I& u暗器雷数量不减修改方法和暗器飞镖数量不减修改方法一样。就不再说了,留给大家练习一下。
5 j+ S; Z1 J! U5 o9 l5 h- j4 E0 ?% c$ \7 t
[ 本帖最后由 疾风之狼 于 2009-10-14 15:08 编辑 ]

本帖子中包含更多资源

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

×

评分

2

查看全部评分

回复

使用道具 举报

签到天数: 1897 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-21 05:28:36 | 显示全部楼层
(2)放雷电必杀不扣体力) b: v2 L& s3 e
打开VirtualNes Debugger并加载赤影战士日版ROM,开始游戏,打开RAM和DEBUG,查询EC作弊码得知体力地址是6F0,
8 o0 n7 b$ E( \7 v) |
! \3 ^2 m9 A' d1 r+ Q4 @4 ?估计大家看暗器不减HACK教学后就知如何设置断点跟踪,我就不再说了,设置好断点后,回到游戏,按紧B键不放使出雷电必杀,
  V( T# X9 w) F- n3 c* p% B2 l/ M0 @" C% \  c$ u5 J( |
当雷电必杀发出时,程序中断,程序停在B6FC:9D F006 STA$06F0,X这行,如图15:注意B6F6:E9 08 SBC#$08这条指令,这条指令作用是把
. s* @( T9 w1 g4 l" p+ q
7 ^! c9 N% K# L$ A  a( ^1 }地址06F0减去8,大家都知道赤影战士放雷电必杀后会扣去8点体力,而这个08正好是放雷电必杀所需要扣的体力,只要把08修改成00的话就不会扣体力。(当然你也可以修改成01,发必杀只扣1格体力啦^_^)6 ?( ?: f2 h/ g+ N$ `
; R+ K2 a5 S# O2 g9 Y8 t# U
转到RAM,找到B6F6:E9 08,把图中红色方框数据抄下,以便查找。如图16:把08修改为00就不扣体力了,如图17:关闭RAM和DEBUG,再重启游戏,再发动必杀,不扣体力的话说明修改成功了。
8 Z2 a8 b6 m. a% U& u4 K
) c& M0 }9 A/ r' Z' f如图18:关闭模拟器,打开UltraEdit32,载入ROM,编辑之前按一下Insert把插入方式设为覆盖方式,点击“搜索”>“查找”,查找之前抄下的数据,找到如图19的数据:把08修改成00,再保存退出,如图20:+ W: s& {- P! Y" Z

( f4 J+ `/ ^$ I: |& r$ y再进模拟器打开修改后的ROM测试发必杀是否不减体力,不减体力的话说明修改成功。9 B6 k% E0 r/ O+ }) M; R$ _

! t5 B  q% p+ [2 n' @- n' UPS:跌落损伤修改方法和发雷电必杀修改方法一样,我不再说了,留给大家练习,方法设置好断点,再找个地方跳楼自杀(-_-),就能跟踪找到地址了......
& M2 }" K: E+ o0 Y, u3 P4 T
3 h1 q2 M2 ?0 X0 {1 [; x0 u偶找个时间再继续发如何HACK受攻击不减血和一开始拥有99个雷吧.......

本帖子中包含更多资源

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

×
回复

使用道具 举报

签到天数: 1897 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-21 06:27:29 | 显示全部楼层
(3)受攻击不减血
8 ~( X: k  ~4 L4 q( x; ?打开VirtualNes Debugger并加载赤影战士日版ROM,开始游戏后,打开RAM和DEBUG,同样用体力EC作弊码6F0来设置断点,设置好断点后,& p( e6 M* D6 {0 a' e1 V$ R5 ]

3 E2 Y+ W' \6 S- o6 G回到游戏被敌人打一下,当敌人攻击主角时,程序中断,程序停在AC69:9D F006 STA $06F0,X这一行,如图21: # n1 {% {# g; Q  U/ B7 \0 u
4 y( p' ~" P& y
注意AC69地址前面的AC63:E5 9D SBC$9D,这条指令作用将06F0,X地址数值减去009D地址数值。单单只将SBC指令修改LDA指令会有问题,偶考虑只有通过无条件转移指令(4C)再添加指令来达到不减血.....& i* L2 B) w0 I- h  ^

9 s0 b7 m$ k* ^首先抄下如图22的数据,方便查找:之后在RAM中查找寻找连续储存的0xFF,可以在前面也可以在后面,也可以寻找连续储存的0x00,注意的是00是中断指令,有时候修改了游戏会出错。看情况吧。一般选择在连续储存的00中段开始加入修改数据。
; I7 v5 E- q/ l* Y; J/ M! ~5 T# }0 x2 j# P  n7 n
偶在RAM后面FFC3~FFDF找到一些连续储存的FF,如图23红框中连续储存的FF,把FF前面的数据抄下,方便查找,接着测试吓这些FF是否能使用.....
8 [) W3 a. k% E, t6 J
0 H2 D9 r0 @( G7 O方法如下:: }9 c& r8 @9 u7 K! o
$ s. {+ @+ U: b# `7 l4 ~
在RAM中把AC69的9D F0 06修改为4C C4 FF,指令说明:4C C4 FF作用是跳转到地址FFC4继续执行,4C是无条件跳转,如图24、25:% X) K5 x) o2 F8 O3 j
' L. X$ @- x4 N; {* O# @! ~5 [
为安全得想,偶跳过第一个的FF,而在第二个FF开始输入9D F0 06 4C 6C AC,指令说明:9D F0 06是以X为偏移量,把寄存器A内容送入06F0,X地址中,4C 6C AC是跳转到AC6C继续执行,如图26:
- J0 K1 F4 ~; K$ e3 C% y: W5 C3 c' n0 P; G7 U) }. Y8 S
接下来关闭DEBUG和RAM,回到游戏看吓游戏是否正常游戏,能正常游戏说明地址能够跳转使用。如图27:
+ Z& |7 k; B% y3 A% U+ N0 b" n- z- Z: O4 U0 `9 T# Q
接下来打开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:
& R2 G3 R9 o8 H1 d5 e
  J  n* N6 M. g: V/ |1 E$ ^指令说明:A9 10是把数值10读入寄存器A中,9D F0 06是以X为偏移量,把寄存器A数值10送入06F0,X地址中,4C 6C AC是跳回AC6C继续执行6 W/ [' ?+ Y3 {/ I) M, Q  R
( G$ t8 w0 A# G1 G; Z# F4 h: c' P
关闭RAM,看看游戏是否减血了,不减血说明修改成功,如图29:. C$ W1 \% s) s1 O

  D" j# }, K+ D接下来,打开UltraEdit32,载入ROM,查找上图22的数据,如图30:
, B- z+ Z% b6 A6 p6 _3 ^1 K* N7 C2 c7 L- `, |( D: g
找到把图中的9D F0 06修改为4C C4 FF,如图31、32:, J0 ?# a% T7 U6 S

$ d" t, i& s8 d: T/ f接着,查找上图23连续储存的FF前面的数据,比如上图23的连续储存的FF前面是20 86 A0 4C 22 EC,找到后,在20 86 A0 4C 22 EC后面的就是你要添加指令的连续储存FF,如图33:- {1 x8 i4 d/ W; H2 [. \

; }& b2 j( t4 _! y' [- E% b) _+ O同样跳过第一个FF,而在第二个FF开始添加指令,如图34:
! Q: l5 p. G* W, s1 L, g8 c(如果你真要在第一个FF开始添加指令的话也不是不可以;假设你是在第一个FF开始添加指令的话,那图32的4C C4 FF应该修改为4C C3 FF)
8 e: R% {- ?( S8 r
: k! P/ Q9 M; T0 Q( x0 w$ R保存ROM,退出UltraEdit32,再进模拟器测试是否不减血,不减血说明成功了.....,如图35:
$ S+ u1 e% F5 J& j" {7 ]; Z+ j  _7 a
[ 本帖最后由 疾风之狼 于 2008-12-1 12:24 编辑 ]

本帖子中包含更多资源

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

×
回复

使用道具 举报

签到天数: 1897 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-21 06:29:31 | 显示全部楼层
(4)一开始拥有99个暗器雷, q$ |4 E' @  f0 O; k  q
首先要找到体力初始值,大家知道在赤影战士中体力初始值什么时候开始读取并放到06F0、06F4地址中?答案是在选择人物后。(注:06F0是对应1P体力值地址,06F4是对应2P体力值地址)) {' u8 d; Q' s/ I. U# k

3 p% \  z  k: o0 Z4 ]要想在游戏开始后立即就有99暗器雷,必须在数据初始化后面加入暗器雷和暗器数量指令代码,如何添加指令代码?方法是上面的受攻击血不减方法一样,同样用无条件跳转指令4C再添加指令。. Z  H0 p$ s4 T

2 s9 A3 X+ A9 X- ^* i偶决定来教大家如何双人游戏时两人一开始拥有99暗器雷,打开VirtualNes Debugger并加载赤影战士日版ROM,选择双人游戏进入到选择人物后,打开RAM和DEBUG,用2P体力值EC码06F4地址来作为断点.....
& I8 r/ a, u  L+ C+ e
- n: R0 L8 @% f) o! T- Y2 O; [/ Y设置好断点后,回到游戏中,按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体力值地址)9 |' K# P* D+ g/ K! g- Z7 H" k

; M: o. U0 R( ~% i8 {A2F7:A9 10   LDA#$10  :A=0x10          -->把数值10读入寄存器A) L- f$ a7 T" Y( K% ^& x8 T
A2F9:8D F006 STA$06F0 :[06F0]=A=0x10   -->把寄存器A的数值送入06F0地址0 g. Y1 H+ A( R. o/ N
A2FC:8D F406 STA$06F4 :[06F4]=A=0x10   -->把寄存器A的数值送入06F4地址' @' N9 t0 D/ F
  w2 ?1 s8 E* R* K$ `) y. Z6 W% `
在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来添加指令吧....
& K; y8 M: b# \9 a* [5 U" v+ x9 x
+ ~7 c- R  Z; [$ r& x' L6 _接下来在RAM把A2FC的8D F4 06修改为4C C4 FF,如图38、39:
1 o# I6 F! i; B% i4 B2 Q! V7 w* {: j; E2 ], K  D1 [3 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:1 @, y. ~% J  @( Y; c$ A
+ _5 o: f. q, W$ N8 |+ f& b6 K' t8 v
指令说明: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地址继续执行
0 V( a8 K  L: k# O
* D' q" F* ^9 g接下来关闭RAM和DEBUG,重启游戏,进入游戏后暗器数是99,按一下攻击,如果放的是暗器雷说明修改成功!如图41:7 T4 U# r7 g6 F9 h8 w- z' x
% z, ?* s1 H* h0 n) J
接下来关闭模拟器,打开UltraEdit32,载入ROM,查找你刚才用笔纸抄下的数据,找到后把8D F4 06修改为4C C4 FF,如图42、43:) R6 u& |1 G8 l/ p$ p) e# ~

2 d1 f; q* }& T. e2 w) Z接下来在找到上图33的连续储存的FF地方,偶还是跳过第一个FF,而在第二个FF开始添加指令,如图44:0 W# {$ U* g) ^) g

  P8 _, \5 E- d' O. `+ U保存ROM,关闭UltraEdit32,打开模拟器载入修改好的ROM测试,如图45:如没什么意外发生的话说明修改成功!# M- J2 p% F, |+ l* T& Q: B: B% f

, |' O9 F3 q% s+ ^菜鸟HACK教程到此完成!以偶目前HACK水平来说还算是一只HACK菜鸟,没有和尚HACK技术那么厉害!:L

本帖子中包含更多资源

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

×
回复

使用道具 举报

签到天数: 5 天

[LV.2]偶尔看看I

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

使用道具 举报

该用户从未签到

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

0 N; c0 x  c! @; W# F5 b# H( S适合新手学习修改的教材
回复

使用道具 举报

该用户从未签到

发表于 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: ( V) o6 S7 o$ Z2 {3 `& \$ [( z
不减血的教材
回复

使用道具 举报

签到天数: 1897 天

[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 | 显示全部楼层
呵呵 完成了,得好好学习. f6 T/ a5 o0 r- k1 ^, D  i
xiaofa兄弟也在这啊
回复

使用道具 举报

签到天数: 7 天

[LV.3]偶尔看看II

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

使用道具 举报

签到天数: 26 天

[LV.4]偶尔看看III

发表于 2007-11-5 21:46:57 | 显示全部楼层
终于可以自己去HACK简单的游戏了:loveliness:
: {+ R0 a$ ~9 G4 ]9 R激动啊;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 | 显示全部楼层
好说的太好了 / Z" T9 x- C! b; N3 q' I
我会了
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-3-16 23:40

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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