EMU618社区

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

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

 关闭 [复制链接]

签到天数: 2072 天

[LV.Master]伴坛终老

发表于 2007-4-21 05:26:54 | 显示全部楼层 |阅读模式
注意:转载请注明本人名字和文章出处!* O+ {; S+ D5 K  k. M1 T
; l) o4 {& I* V+ _( h
菜鸟NES HACK简单教程(偶应N多人要求才做这个教程,有错误请指正:L )
6 E" ~3 f# W0 s: U  J' {: S8 f
. F" [  b3 g8 X' G: ~NESHACK相关资料下载:http://bbs.emu618.com/forum/viewthread.php?tid=12675&extra=page%3D23 F: m, d% n5 T; A# `8 `6 e

# }1 ^8 E* K. u4 h3 ?. L; h0 |6052汇编大奥秘(详细介绍FC的汇编语言,推荐下载):http://bbs.emu618.com/forum/viewthread.php?tid=20393&extra=page%3D1# V: l$ [! a4 ~9 B/ B( D

  u$ E) U2 B# _; \) j+ q; F, G( Y( K2 v开始之前先说几句废话
  y0 D$ I, }( V/ L/ [  B  N  g
9 P9 P5 q* C) Z' }$ o9 `第一,HACK之前先了解一下6502汇编指令,NES相关资料里有指令集说明文档,如果你看不懂英文的话就下载《6502汇编大奥秘》,里面有指令中文说明........^_^1 x- C) r- [; v" l

( d# z  X. V7 F' |4 _9 |6 q个人建议:没必要把6502全部汇编指令硬背下来再跟踪调试,那样会很累,你可以一边调试一边查询指令说明.......5 x# t/ H0 V! u/ l% z

3 m: _: R/ I8 o& b; j第二,还需要准备一些工具:NES调试跟踪工具(VirtualNes Debugger版或者no$nes-w、FCEUXD SP等NES调试跟踪工具)、十六进制之类编辑工具(Winhex或者UltraEdit32)6 Q- m9 z! \9 w, k

$ u* I9 Z5 p  X  G第三,了解修改步骤:3 \0 Z, x9 o. D
1、首先要确定你要修改什么。连要修改什么都不知道,那怎能谈上修改呢。
& Y, }. B/ S( k2 Q# Y/ i2、获取作弊码,换句话说就是要获得要修改数据的地址。推荐使用EC,这个软件自带作弊码和跟踪修改功能。) E; U) D* q) Y, t! p  s- q
3、获得指令代码及其在Rom中的地址。一般通过VirtualNes Debugger版或者no$nes-w、FCEUXD SP等NES调试跟踪工具,再配合内存查看和十六进制之编辑工具确定指令以数据方式储存在Rom中的哪个地址。8 K# F+ k( z& t) k
4、修改相应指令或数据。一般来说要做尽量少的修改,而且不能让程序运行出错。  L. L, z0 o4 X4 j! O* l4 J
5、测试游戏运行情况,看游戏能不能按照你修改目的正常运行。
. W$ v3 f( Y7 q2 Q& _; s' i/ k3 B
第四,偶以日版《赤影战士》和VirtualNes Debugger版来为例子教大家如何HACK:
( A9 @- y, G' o( T1 U; D* W; ^/ |: E$ v+ h' T& n& p( |
偶需要修改的数据:暗器数不减,放雷电必杀不减血,被敌人攻击不减血,一开始拥有99颗暗器雷
: |: S" g  R. l) Z2 J' i, r2 Z7 {* r7 e, a" H4 N
1、获取作弊码,这个好容易得到,EC这个软件附带N多作弊码,省去自已手工查找作弊码了。^_^
$ {7 W9 y7 p2 j[P1 生命值]
& |; g" F  |: c: I( `/ ~2 mON=6F0,10
1 F' B( w7 u8 p  W  P6 p7 p5 B$ n
[P1 暗器数量]
* l2 J7 f7 m. ]+ E! uON=662,FF
4 A& d) v1 z! c  Y  m. j( T3 G* T; u8 `3 i( F7 w, F$ C# q; F, f
[P1 武器种类]+ _) @3 v5 H) M0 ~5 o) J
刀=6B2,0- ^: g* @+ A2 y1 z5 D- H0 n
ON=6B2,3
  ~$ E" R# \/ I) Z. v4 `3 d$ j
3 |  _* h7 E% `; ?  b- K! J* t[P1 武器威力]6 d5 E. s9 y/ @& ?
ON=680,FF
! _0 M& W1 C* ]/ k3 s5 P- C2 Y3 Y8 j; ]6 _- I
[P1 暗器种类]5 I3 C+ R# W" c4 z5 @
标=671,0
5 R. ?2 R. e9 S, [+ ~' @雷=671,1
" R. P3 r3 x2 Y% F$ M  q5 p6 Y6 n
' Y! ?; p; U7 r[P1 隐身]; G0 l7 A$ Z. j. J$ Y- Y6 h
OFF=0000,0
3 c! x( F4 ~  s8 j3 U/ P1 u4 j9 gON=601,4C5 s2 [. a) e: G. ~. w4 g7 z
% T" K" N. H5 b# j
[P2 生命值]" p" X6 R1 Z5 d* x/ I6 H( _
ON=6F4,106 [9 F8 @8 Y1 B9 ], i% F
9 W2 Y$ ]# q+ @# K
[P2 暗器数量]# _3 J, ]! Y( `8 d4 l8 A( v5 `, J
ON=666,FF
# J+ W' o, Y: i, P8 _- v5 X6 ^1 r$ j3 |( a  [6 n
[P2 武器种类]
8 s) \2 D# ?- W0 P% z刀=6B6,04 l. G- `5 [- g
ON=6B6,3! G' ~: Q+ X5 c+ j: _1 n
' j- m+ \/ P# r, Q
[P2 武器威力]
5 k" [# G2 ?" i: l9 O: pON=684,FF$ b/ g/ y& s1 S/ d" k0 d6 _

0 O( x* F2 F$ j[P2 暗器种类]8 @, b( S. ?1 t- s& H
标=675,0! A1 ?! ]0 h, l9 K6 H
雷=675,1
0 s- H5 K% q+ Z- x0 b+ O. p, j
9 X4 [% y. b5 u; ^( C[P2 隐身]6 M6 U$ a1 m  o9 `, `
OFF=0000,0$ L& J- K0 d! ?1 y  n1 C( a
ON=605,4C: y( u( h7 z: o  t, p

* ]4 ^6 I# b" {( j/ i5 H[GameInfo]; }% n8 T0 x2 C6 C
Name=Shadow of the Ninja (FC/NES)
6 B3 b+ B4 F3 s+ Y0 K+ v! `3 YSystem=FC2 R2 w' U( n3 g
Text=赤影战士(水上魂斗罗),双人、动作游戏,由大胖子提供!' {7 Z' _. ?  j$ r  o- m

- y' A) f; P4 Z/ }' ~+ p1 D3 g[ 本帖最后由 疾风之狼 于 2009-10-14 15:09 编辑 ]

评分

1

查看全部评分

签到天数: 2072 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-21 05:27:43 | 显示全部楼层
2、通过调试跟踪获取指令代码及其在Rom中的地址,并用16进制编辑工具修改ROM其中数据
& B# ?1 `2 X( |2 E: m偶按照暗器数不减,放雷电必杀不减血,被敌人攻击不减血,一开始拥有99颗暗器雷顺序来教大家如何跟踪调试修改:- X- p# c: t7 U. e# B( B

9 k! T2 D5 ^* Z; Q% g6 O(1)暗器不减:
1 j- s# t: w& m. t7 h$ r4 C$ c* D6 v
首先打开VirtualNes Debugger并加载赤影战士日版ROM,如图1:
  R5 \9 T! R2 ]2 Y4 f6 I# y6 E! n' n% C  F0 v  V& S$ b
接下来游戏进行到获到暗器飞镖20个,如图2:
9 }" `" s8 q2 U3 n
) h$ F1 B+ L( z- c8 P接下来开始跟踪飞镖数量,先打开RAM,再打开DEBUG,先打开DEBUG的话,不然RAM就用不来:如图3、图4:
: u  W% R+ G9 d! @1 S, t8 E2 o7 e" F0 l6 N+ g5 t. }4 r4 H1 t* u9 \
先点暂停,根据如下面作弊码提供的暗器数量地址,如暗器数量地址是662,就在注释内出现后面方框中输入[0662](注:可以用这东东当条件断点),再点右边确定让游戏继续运行,如图5:
0 K5 C  y" O2 O- B, g9 w: w$ s
3 _/ e& k9 ?5 M1 S/ ^- b/ @+ q[P1 暗器数量]9 l$ Z/ @. {! w$ u
ON=662,FF( V  R/ ]6 t' a5 i1 R
# |3 P- |& q( b4 m/ V
使用一次飞镖,程序会发生中断停在B840这一行,如图6:
6 Y5 c5 U  q& O: ?, v3 J; d2 _3 C( v8 H
B840 : DE 6206 DEC $0662,X;[0662]-- =0x13
! E$ C" \4 r( N+ }/ ~! H; p
2 D/ y8 ^5 C( m  h' R" W; j查指令表得知B840这个地址DEC $0662,X指令作用是将0662+(X)=真正暗器地址的数值减1;既然这样,只要把这条DEC $0662,X指令改为LDA $0662,X就可以让暗器数量不减了。LDA $0662,X作用是把0662+(X)=真正暗器地址的数值读入寄存器A。(X)是寄存器X的数值。7 s- O8 q% h# u/ C9 t& t
举个例子:假设X寄存器数值是6,指令是“LDA $1234,X” 这条指令看上是将$1234地址数值读入寄存器A,但实际上$1234不是真正数值存放地址,1234必须加上寄存器X的数值才是真正数值存放的地址。1234+(X=6)=123A,LDA $1234,X指令应该是这样解释:将1234+(X=6)=123A地址读入寄存器A。5 {  ^8 }: N& r, I8 b# R  q' g/ }
LDA xxxx,Y和LDA xxxx,X一样,不过寄存器X变成寄存器Y。, A7 ?5 z, p' G2 S- p" {, N9 y

4 c0 y# ]3 n2 Q" O" E0 K1 o5 ?查指令机器码得知DE是DEC - Absolute,X,BD是LDA - Absolute,X,注意寻区方式要一样....把DE修改为BD就可以不减暗器数量了。: i5 E% |/ G1 ^. E4 g* t

# y/ y; P" y" v" \, a注意:别把BD修改成其他LDA指令,这样会死机的,因为指令寻区方式不一样。5 O$ R( J, \& F7 E/ _; k; H1 D5 o* `

9 a/ X- ~0 U. @, @另外,有一些其他游戏是这样的:改为LDA $XXXX,X 那么就会破坏了寄存器A原来的数据了,后面的程序如果要直接用寄存器A的数值的话,那么就会造成游戏出错,如果后面的程序在用寄存器A的数值之前对寄存器A赋于新值就没事了。& j' d& T$ _" Q6 J: R' F  B' b

( K& J0 n8 `* g  A9 }3 C* h6 ], \( k接下来在RAM中找到B840:DE 62 06,如图7:, I! I9 |8 M0 R% V; r1 S

* M6 ^. ~$ o: J; o) H+ }$ L0 z用笔纸抄下红框中数据,以便在查找,接得在RAM中把DE修改BD,如图8:! M( ?1 z# K9 x2 w
0 r' {: }9 s, R* L) J
关闭DEBUG和RAM,回到游戏中测试吓暗器数量是否不减,暗器不减了,说明指令修改成功。如图9:. j. B/ j* I8 Z

* i5 r6 r1 U$ C+ \关闭模拟器,接下来用十六进制修改工具(如UltraEdit32)修改ROM,还记得之前用纸笔抄下的数据么?
# }& V  S+ J# p7 `& v, _/ G  g& J. O1 _. H2 Z' ^
打开UltraEdit32,载入赤影战士ROM,编辑之前按一下Insert把插入方式设为覆盖方式,如图10:+ `/ j0 W5 x; x) z3 r3 n! N% d/ ]
7 m0 X; Z( o. w  m
点击UltraEdit32“搜索”>“查找”,在弹出查找框中查找内容(N)后面方框中输入你用纸笔抄下的数据,再点“查找下一个”就能找到这个数据,如图11:/ _# d5 m% H8 x# J2 t9 g

2 R' ^; C& T/ `: _- B+ ]$ a如图12,结果出来,UltraEdit32高亮度显示你就是要找的数据,把DE修改为BD,再点“文件”>“保存”保存你修改结果。如图13:( z- W0 [6 ^$ h4 m2 q

, ?  f1 A1 q* l6 [2 R- `关闭UltraEdit32打开模拟器载入修改后的ROM测试暗器数量是否不减,不减的话说明修改成功了,如图14:
+ Y9 ~% g( D+ U) b# \) \/ |0 \
+ C+ G/ f0 ]8 ~5 {+ V1 V1 a暗器雷数量不减修改方法和暗器飞镖数量不减修改方法一样。就不再说了,留给大家练习一下。; b: z" z1 D, X
6 E0 f( y& \3 \3 H- j
[ 本帖最后由 疾风之狼 于 2009-10-14 15:08 编辑 ]

本帖子中包含更多资源

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

x

评分

2

查看全部评分

签到天数: 2072 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-21 05:28:36 | 显示全部楼层
(2)放雷电必杀不扣体力5 u$ W. J# B7 ?. g
打开VirtualNes Debugger并加载赤影战士日版ROM,开始游戏,打开RAM和DEBUG,查询EC作弊码得知体力地址是6F0,3 [6 e) M: ~( m' u. d/ ^0 P2 e
+ G; \8 L* S+ I+ ^) a( C
估计大家看暗器不减HACK教学后就知如何设置断点跟踪,我就不再说了,设置好断点后,回到游戏,按紧B键不放使出雷电必杀,
+ ]( ~+ y. k* }& C0 I, D/ D$ q3 p. `
当雷电必杀发出时,程序中断,程序停在B6FC:9D F006 STA$06F0,X这行,如图15:注意B6F6:E9 08 SBC#$08这条指令,这条指令作用是把' n% P7 D& t4 k) M, G4 P

) _, F, u4 }& m8 A地址06F0减去8,大家都知道赤影战士放雷电必杀后会扣去8点体力,而这个08正好是放雷电必杀所需要扣的体力,只要把08修改成00的话就不会扣体力。(当然你也可以修改成01,发必杀只扣1格体力啦^_^)7 }: S  ~. ~) ]! i6 d
+ {" r2 R9 k1 x( o: ?/ e
转到RAM,找到B6F6:E9 08,把图中红色方框数据抄下,以便查找。如图16:把08修改为00就不扣体力了,如图17:关闭RAM和DEBUG,再重启游戏,再发动必杀,不扣体力的话说明修改成功了。
8 H  U# f  ^1 I8 V, z
+ P# [! I! A# ^* T如图18:关闭模拟器,打开UltraEdit32,载入ROM,编辑之前按一下Insert把插入方式设为覆盖方式,点击“搜索”>“查找”,查找之前抄下的数据,找到如图19的数据:把08修改成00,再保存退出,如图20:  c; K# N7 k3 a1 _4 a/ E8 }
8 S+ Q) `) Z0 i! s/ {; _
再进模拟器打开修改后的ROM测试发必杀是否不减体力,不减体力的话说明修改成功。, \! m6 w3 I( K- l2 n- r

5 N9 i! x' l' o; P6 y2 M1 J4 BPS:跌落损伤修改方法和发雷电必杀修改方法一样,我不再说了,留给大家练习,方法设置好断点,再找个地方跳楼自杀(-_-),就能跟踪找到地址了......
4 {5 t; H  B, H# ^: _4 a: F# X% A/ H7 c) B* ]
偶找个时间再继续发如何HACK受攻击不减血和一开始拥有99个雷吧.......

本帖子中包含更多资源

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

x

签到天数: 2072 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-21 06:27:29 | 显示全部楼层
(3)受攻击不减血
! i( ]& S& c6 p  p( X( d打开VirtualNes Debugger并加载赤影战士日版ROM,开始游戏后,打开RAM和DEBUG,同样用体力EC作弊码6F0来设置断点,设置好断点后,
/ t! e3 S  y3 Z
' S$ `4 L6 M' Z  F回到游戏被敌人打一下,当敌人攻击主角时,程序中断,程序停在AC69:9D F006 STA $06F0,X这一行,如图21: 8 A# u& N9 Z# e4 p
* H6 z* p0 k. y( x! M
注意AC69地址前面的AC63:E5 9D SBC$9D,这条指令作用将06F0,X地址数值减去009D地址数值。单单只将SBC指令修改LDA指令会有问题,偶考虑只有通过无条件转移指令(4C)再添加指令来达到不减血.....7 n2 n; [  L: Q) l

8 A' ]# g8 a8 c) X8 \7 Z首先抄下如图22的数据,方便查找:之后在RAM中查找寻找连续储存的0xFF,可以在前面也可以在后面,也可以寻找连续储存的0x00,注意的是00是中断指令,有时候修改了游戏会出错。看情况吧。一般选择在连续储存的00中段开始加入修改数据。
+ [4 q' N! r& O% s7 \
* V0 L# \4 W0 N8 [& j偶在RAM后面FFC3~FFDF找到一些连续储存的FF,如图23红框中连续储存的FF,把FF前面的数据抄下,方便查找,接着测试吓这些FF是否能使用.....9 B4 ]: x- p; l1 O) }2 U3 v
3 k' m7 r5 |* f- d* ^# R' q
方法如下:
6 P. z9 e* h% E. A5 u; ?0 ?
3 A6 n  v& z+ b: o  a在RAM中把AC69的9D F0 06修改为4C C4 FF,指令说明:4C C4 FF作用是跳转到地址FFC4继续执行,4C是无条件跳转,如图24、25:: H# z! R  A$ O0 d! n
. A9 y4 J. |! {5 N% Y0 W( i
为安全得想,偶跳过第一个的FF,而在第二个FF开始输入9D F0 06 4C 6C AC,指令说明:9D F0 06是以X为偏移量,把寄存器A内容送入06F0,X地址中,4C 6C AC是跳转到AC6C继续执行,如图26:
0 g: M5 ?: d6 g( r- h2 Y8 H0 P/ i5 b) l. i: @* ^2 i
接下来关闭DEBUG和RAM,回到游戏看吓游戏是否正常游戏,能正常游戏说明地址能够跳转使用。如图27:
0 D4 f8 S; a/ p' P. d# W/ h1 y. t# j! Z# U2 ~- z5 W' 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:( i# ~' }2 y( @; s- {
4 B9 S$ ]7 l( m
指令说明:A9 10是把数值10读入寄存器A中,9D F0 06是以X为偏移量,把寄存器A数值10送入06F0,X地址中,4C 6C AC是跳回AC6C继续执行0 C; v+ S, g: `( ^

6 d- K, u3 \( X6 o9 G  {关闭RAM,看看游戏是否减血了,不减血说明修改成功,如图29:+ ^8 @4 X3 A; R
$ `) ?# e4 N4 d# \
接下来,打开UltraEdit32,载入ROM,查找上图22的数据,如图30:: W. r7 n/ G% \4 f) X/ R# U1 z- c+ C
& p5 i8 e. j% C0 i2 l
找到把图中的9D F0 06修改为4C C4 FF,如图31、32:2 Y8 O3 E! O! C- V
4 s& B2 t, J) M5 v& \
接着,查找上图23连续储存的FF前面的数据,比如上图23的连续储存的FF前面是20 86 A0 4C 22 EC,找到后,在20 86 A0 4C 22 EC后面的就是你要添加指令的连续储存FF,如图33:# _' N+ E, [% [) P

' \& ^! ~5 ~2 f/ l$ }同样跳过第一个FF,而在第二个FF开始添加指令,如图34:
" x8 ^& Z* A$ l7 H" v(如果你真要在第一个FF开始添加指令的话也不是不可以;假设你是在第一个FF开始添加指令的话,那图32的4C C4 FF应该修改为4C C3 FF)2 j9 r" ~' g+ v" v

. f3 _  x- c6 x保存ROM,退出UltraEdit32,再进模拟器测试是否不减血,不减血说明成功了.....,如图35:/ W( ~) L8 q( e0 P8 }' u

, Y) l% I4 x8 e% \$ T$ P[ 本帖最后由 疾风之狼 于 2008-12-1 12:24 编辑 ]

本帖子中包含更多资源

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

x

签到天数: 2072 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-21 06:29:31 | 显示全部楼层
(4)一开始拥有99个暗器雷
  X. r6 o. U7 [0 Q) ]! k/ b/ G; ?首先要找到体力初始值,大家知道在赤影战士中体力初始值什么时候开始读取并放到06F0、06F4地址中?答案是在选择人物后。(注:06F0是对应1P体力值地址,06F4是对应2P体力值地址)
% k; H4 X; W+ F# ]4 `
) @3 `" m- Q2 z; S+ W- ^8 c. I- K要想在游戏开始后立即就有99暗器雷,必须在数据初始化后面加入暗器雷和暗器数量指令代码,如何添加指令代码?方法是上面的受攻击血不减方法一样,同样用无条件跳转指令4C再添加指令。
& j% H8 B. g; x$ _5 a8 L
5 q* ~9 _+ R( k- a# I/ ~/ R' ?: c偶决定来教大家如何双人游戏时两人一开始拥有99暗器雷,打开VirtualNes Debugger并加载赤影战士日版ROM,选择双人游戏进入到选择人物后,打开RAM和DEBUG,用2P体力值EC码06F4地址来作为断点.....
& x$ Y/ z1 \! ^0 {# i: d# X
& I2 B- P, |* S: _, [% {设置好断点后,回到游戏中,按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体力值地址): N  m8 f* u& G0 G  u! k# C' R

* B) d& S9 r% A; C% Q! IA2F7:A9 10   LDA#$10  :A=0x10          -->把数值10读入寄存器A/ a" Z8 B% l$ @6 h  F  T
A2F9:8D F006 STA$06F0 :[06F0]=A=0x10   -->把寄存器A的数值送入06F0地址
3 q) S) n" j( a0 P8 j# YA2FC:8D F406 STA$06F4 :[06F4]=A=0x10   -->把寄存器A的数值送入06F4地址
: H' x  h  h5 C: Q
# t; b& _) _* i4 z  S/ q9 p在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来添加指令吧....% d2 Y+ {2 h8 j! X- S

" a& A# l* Z5 b2 j接下来在RAM把A2FC的8D F4 06修改为4C C4 FF,如图38、39:
- x7 t& Q) E+ O) n$ J$ |% H, E$ v2 j+ {& h0 T& _
接下来拉到滚动条来到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:
: D4 m$ y" j  x
6 m" _- A5 {3 z. n5 `7 R指令说明: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地址继续执行- w3 Z) O+ K4 V( `$ V* i

2 Y& p% _: _$ }接下来关闭RAM和DEBUG,重启游戏,进入游戏后暗器数是99,按一下攻击,如果放的是暗器雷说明修改成功!如图41:
0 H' I  R5 r1 Z& U- v3 m
8 {: z+ v: d5 H, @- r9 R接下来关闭模拟器,打开UltraEdit32,载入ROM,查找你刚才用笔纸抄下的数据,找到后把8D F4 06修改为4C C4 FF,如图42、43:
6 v6 C# H6 F8 i4 O
, q" V7 F+ a6 U5 u( O! \. C接下来在找到上图33的连续储存的FF地方,偶还是跳过第一个FF,而在第二个FF开始添加指令,如图44:- ]. a7 m) d! }' s8 R2 G+ W7 E
0 e! R. W. h8 V' K/ T' w
保存ROM,关闭UltraEdit32,打开模拟器载入修改好的ROM测试,如图45:如没什么意外发生的话说明修改成功!
0 A" [$ M8 R1 l! B4 ]5 R% R% c# a; w/ a+ E+ T! a% _$ \
菜鸟HACK教程到此完成!以偶目前HACK水平来说还算是一只HACK菜鸟,没有和尚HACK技术那么厉害!:L

本帖子中包含更多资源

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

x
头像被屏蔽

签到天数: 5 天

[LV.2]偶尔看看I

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

该用户从未签到

发表于 2007-4-21 10:27:49 | 显示全部楼层
2 _% T) b( j8 `4 q- _$ {9 o
适合新手学习修改的教材

该用户从未签到

发表于 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: 1 n3 t* v1 u% r" R8 @
不减血的教材

签到天数: 2072 天

[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 | 显示全部楼层
呵呵 完成了,得好好学习0 v6 a/ d5 u' k4 v* h5 s7 S
xiaofa兄弟也在这啊

签到天数: 7 天

[LV.3]偶尔看看II

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

签到天数: 26 天

[LV.4]偶尔看看III

发表于 2007-11-5 21:46:57 | 显示全部楼层
终于可以自己去HACK简单的游戏了:loveliness:
. d4 O7 o4 d- f& X. s* ?6 g1 _4 ?3 [激动啊;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 | 显示全部楼层
好说的太好了
" G* j( Q) _0 ?我会了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-9-16 23:36 , Processed in 1.097656 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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