EMU618社区

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

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

 关闭 [复制链接]

签到天数: 1909 天

[LV.Master]伴坛终老

发表于 2007-4-21 05:26:54 | 显示全部楼层 |阅读模式
注意:转载请注明本人名字和文章出处!3 e. Q( `* H" E; y, ]  F

, Y  y( I. e5 R4 x3 l菜鸟NES HACK简单教程(偶应N多人要求才做这个教程,有错误请指正:L )( C) }4 ]8 G: G. G. o

3 ]  P" n' I/ {NESHACK相关资料下载:http://bbs.emu618.com/forum/viewthread.php?tid=12675&extra=page%3D2! u7 Z0 G" p" D, ^- I* q+ M& C

  g" k6 F$ ?% ~4 J) y/ j6 \1 |6052汇编大奥秘(详细介绍FC的汇编语言,推荐下载):http://bbs.emu618.com/forum/viewthread.php?tid=20393&extra=page%3D1$ G( ~* `- s5 n' O8 ~  Y( ?
; u( T8 |- U3 \# R( Q
开始之前先说几句废话
! _0 O% y5 _1 f9 }8 B  C# [  a9 A; G; Z" w0 G  ]
第一,HACK之前先了解一下6502汇编指令,NES相关资料里有指令集说明文档,如果你看不懂英文的话就下载《6502汇编大奥秘》,里面有指令中文说明........^_^5 x0 I( H& R" o
0 U. |* _: p% N0 {- a
个人建议:没必要把6502全部汇编指令硬背下来再跟踪调试,那样会很累,你可以一边调试一边查询指令说明.......
- K7 G5 M" u: f* R  Q# z/ j; e$ W4 q: M5 W! S: _- U. D5 |
第二,还需要准备一些工具:NES调试跟踪工具(VirtualNes Debugger版或者no$nes-w、FCEUXD SP等NES调试跟踪工具)、十六进制之类编辑工具(Winhex或者UltraEdit32)
, h, |) H1 T; m
8 G$ R5 O2 {  u第三,了解修改步骤:8 `1 m! I8 p. O$ I
1、首先要确定你要修改什么。连要修改什么都不知道,那怎能谈上修改呢。
( X* o$ L8 t7 S" f) l% `2、获取作弊码,换句话说就是要获得要修改数据的地址。推荐使用EC,这个软件自带作弊码和跟踪修改功能。
5 b" {" n! j9 ?3、获得指令代码及其在Rom中的地址。一般通过VirtualNes Debugger版或者no$nes-w、FCEUXD SP等NES调试跟踪工具,再配合内存查看和十六进制之编辑工具确定指令以数据方式储存在Rom中的哪个地址。* Z* j  v# Q# L
4、修改相应指令或数据。一般来说要做尽量少的修改,而且不能让程序运行出错。
1 o6 i7 j  N! r7 y1 c8 y5、测试游戏运行情况,看游戏能不能按照你修改目的正常运行。: v; |, Y% `. O: g: Q4 p
9 J$ o% M/ F/ m' }: q, j
第四,偶以日版《赤影战士》和VirtualNes Debugger版来为例子教大家如何HACK:& y) Z5 x: ~& j  \: f3 f
% ~3 ], V3 }' t) ~! C
偶需要修改的数据:暗器数不减,放雷电必杀不减血,被敌人攻击不减血,一开始拥有99颗暗器雷8 K$ G, C) m# B: ]2 G
! x0 W) o2 G% c5 e# R! Q
1、获取作弊码,这个好容易得到,EC这个软件附带N多作弊码,省去自已手工查找作弊码了。^_^
% m* n9 `6 n6 j) d* A2 F[P1 生命值]& I$ P" c# P$ q4 A# V
ON=6F0,10/ b+ F/ Y0 b/ f3 V; R
- w3 B8 a, r' q
[P1 暗器数量]
- F  T! Q  e- h5 v1 {ON=662,FF2 _6 ?* t; L  R9 R0 d7 ^9 c2 x
! n2 x; t$ u5 S4 w9 d
[P1 武器种类]
* F0 h/ {' t4 O' o, q刀=6B2,03 z8 f2 N1 l6 y* R( v
ON=6B2,3
3 I& t) M1 b+ s* j6 s7 r" y* V& J/ w5 q* s
[P1 武器威力]
* O' t! D2 ?4 m2 K0 `ON=680,FF5 ?% M0 I5 l2 E4 H" d+ s$ b
5 v7 r6 O% n& h- Y% Q' H) h& |: ^
[P1 暗器种类]
0 w3 p8 T  h, |+ z! H标=671,0! w5 }- O- |8 }: b! e3 ?" o; h) Z
雷=671,1$ t% n3 m$ ?/ S

7 w% {5 ]8 h2 k2 V) \[P1 隐身]
, `6 }+ b$ ^$ p- C: C  ^# }5 `OFF=0000,0; T7 Z% t( L, v. ?; K7 d9 Q" V; P
ON=601,4C
5 B, n5 f( a: \$ Q" H
# \, Z2 _9 C4 f- V7 R0 f( N( K2 ][P2 生命值]+ O1 D2 A' V4 u& q: y3 z6 f3 \
ON=6F4,10
5 s2 z% `7 }, j, Y8 `6 e% s2 r9 M# p7 y7 O4 s) I0 _; F# U
[P2 暗器数量]
  d$ y+ O* |: G0 g$ J  y4 j7 D4 fON=666,FF
6 g- e8 ?0 N+ [. F/ o3 E: h, H3 ~  b: f$ |+ U/ ?
[P2 武器种类]
, Y3 a2 V; @# N% A$ B4 R6 W刀=6B6,0
8 N* k4 d' A3 d9 aON=6B6,3, B. d! A/ t4 ]  c* @
/ J" ^- G  D( y# o" T; }
[P2 武器威力]
0 q# p; \* w& M" z2 t6 x/ GON=684,FF) S) R' S, r' A# S* e, Z5 p

& u0 }/ w2 Z, E8 t7 x" ]* [( k[P2 暗器种类]9 `7 ^0 _0 d, i3 A0 ?! O: \
标=675,0
3 e  J0 W' y, V3 d8 Q# I; H雷=675,1" c' L( c  p2 G7 ]. E

1 t3 C* o1 }! X3 }[P2 隐身]
/ O+ j: n5 N+ }# `OFF=0000,0( N' A4 K7 y1 K: T2 H5 ?. c6 c
ON=605,4C
. G/ c2 D' x: i1 T/ H
8 J) ^! s8 l- ~- @" m. W8 X/ G- P[GameInfo]
  ~3 w+ r" ~$ z8 }: }' fName=Shadow of the Ninja (FC/NES)
+ _7 J9 |5 d. R8 s: `System=FC5 H3 e' u& G( Z% b1 w# x
Text=赤影战士(水上魂斗罗),双人、动作游戏,由大胖子提供!
% \- L# N& w) x8 p
0 h% o1 a" U( R' Y; A; G( q& J5 |[ 本帖最后由 疾风之狼 于 2009-10-14 15:09 编辑 ]

评分

1

查看全部评分

签到天数: 1909 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-21 05:27:43 | 显示全部楼层
2、通过调试跟踪获取指令代码及其在Rom中的地址,并用16进制编辑工具修改ROM其中数据
9 m  v1 N( d; _! \) ^. r/ a& k9 k偶按照暗器数不减,放雷电必杀不减血,被敌人攻击不减血,一开始拥有99颗暗器雷顺序来教大家如何跟踪调试修改:/ A* H: ]% y/ C( ]/ `+ }- i
7 U7 `! g2 g8 c& Y! q4 {
(1)暗器不减:7 {7 ?4 A$ e' ^3 ~# ?9 J
' T, n- @2 _5 J) [/ e
首先打开VirtualNes Debugger并加载赤影战士日版ROM,如图1:, t/ {* u" r) d% A5 ^3 Q
& a* H& f( }  Y4 u/ ?
接下来游戏进行到获到暗器飞镖20个,如图2:
( ]3 R) i1 T0 }) A  j/ ^6 C+ d' u$ K+ v( m2 |
接下来开始跟踪飞镖数量,先打开RAM,再打开DEBUG,先打开DEBUG的话,不然RAM就用不来:如图3、图4:
8 |. @/ h& r; x# ]2 T
% X: W6 p* j* h$ ]# |5 |7 K' D1 Q先点暂停,根据如下面作弊码提供的暗器数量地址,如暗器数量地址是662,就在注释内出现后面方框中输入[0662](注:可以用这东东当条件断点),再点右边确定让游戏继续运行,如图5:
  u# M+ V3 Y2 ^  \3 Q/ E
  ?; e) K, j! L/ m" }[P1 暗器数量]
! K( W- [0 L. d8 A( b3 }0 KON=662,FF
5 o1 M6 M2 ~/ s9 h; Z( M) f0 \5 ~; ^! \0 I. {7 T  b2 @# V
使用一次飞镖,程序会发生中断停在B840这一行,如图6:
  m$ R, ?* L  m) C" Z
2 Q, ?: l: J& P  lB840 : DE 6206 DEC $0662,X;[0662]-- =0x13. E* }) a+ x2 C5 V0 ]9 F
( `* \( c7 ?8 E/ q# o. I
查指令表得知B840这个地址DEC $0662,X指令作用是将0662+(X)=真正暗器地址的数值减1;既然这样,只要把这条DEC $0662,X指令改为LDA $0662,X就可以让暗器数量不减了。LDA $0662,X作用是把0662+(X)=真正暗器地址的数值读入寄存器A。(X)是寄存器X的数值。
; R9 R$ |# A/ f% X: `6 m举个例子:假设X寄存器数值是6,指令是“LDA $1234,X” 这条指令看上是将$1234地址数值读入寄存器A,但实际上$1234不是真正数值存放地址,1234必须加上寄存器X的数值才是真正数值存放的地址。1234+(X=6)=123A,LDA $1234,X指令应该是这样解释:将1234+(X=6)=123A地址读入寄存器A。
$ o- }1 ~1 g6 S1 k1 r" H, j% T! LLDA xxxx,Y和LDA xxxx,X一样,不过寄存器X变成寄存器Y。
8 w3 s: d' a  F# Y9 o. x, p2 s
' g8 j2 \/ c4 b' r- V查指令机器码得知DE是DEC - Absolute,X,BD是LDA - Absolute,X,注意寻区方式要一样....把DE修改为BD就可以不减暗器数量了。4 K2 N( |3 y) ?

; g5 ?0 x* F1 o- e注意:别把BD修改成其他LDA指令,这样会死机的,因为指令寻区方式不一样。! ?; T: \/ G# }# @- c! n
. v, {$ T* x) R
另外,有一些其他游戏是这样的:改为LDA $XXXX,X 那么就会破坏了寄存器A原来的数据了,后面的程序如果要直接用寄存器A的数值的话,那么就会造成游戏出错,如果后面的程序在用寄存器A的数值之前对寄存器A赋于新值就没事了。
! h0 V2 \4 ^! K: Z; t
! N7 m& Q" Z+ d! @0 o4 H接下来在RAM中找到B840:DE 62 06,如图7:: N4 W4 N& T; p% {5 t& C- `% ]7 B

. T4 n! `. I. a, q% s用笔纸抄下红框中数据,以便在查找,接得在RAM中把DE修改BD,如图8:
) a& X( s) E( Z& u: X) `. J1 O/ L; i; x& j4 m
关闭DEBUG和RAM,回到游戏中测试吓暗器数量是否不减,暗器不减了,说明指令修改成功。如图9:1 R* y  S4 r% W# a2 s6 |+ u

$ P7 i  }/ i+ t3 i关闭模拟器,接下来用十六进制修改工具(如UltraEdit32)修改ROM,还记得之前用纸笔抄下的数据么?- m3 V1 X/ m% x- ]7 J2 L: f- M
/ D& W6 z, H9 }
打开UltraEdit32,载入赤影战士ROM,编辑之前按一下Insert把插入方式设为覆盖方式,如图10:
% v! P: {6 T+ ]0 M+ c, a
) |# w# I- D% n$ {点击UltraEdit32“搜索”>“查找”,在弹出查找框中查找内容(N)后面方框中输入你用纸笔抄下的数据,再点“查找下一个”就能找到这个数据,如图11:
! B& ]3 F( a' _2 L/ Y) i3 W3 U5 `% u$ E8 d) ^, q
如图12,结果出来,UltraEdit32高亮度显示你就是要找的数据,把DE修改为BD,再点“文件”>“保存”保存你修改结果。如图13:" {- C" x5 D& M  C( k

* j4 u" b) Q" `6 l1 @关闭UltraEdit32打开模拟器载入修改后的ROM测试暗器数量是否不减,不减的话说明修改成功了,如图14:
2 r/ M8 V+ ?: V* g0 g
( r0 c! {  D$ m; i& O暗器雷数量不减修改方法和暗器飞镖数量不减修改方法一样。就不再说了,留给大家练习一下。
; r( o* o, W+ D  H0 n( R9 S4 a; t( j" D& w
[ 本帖最后由 疾风之狼 于 2009-10-14 15:08 编辑 ]

本帖子中包含更多资源

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

x

评分

2

查看全部评分

签到天数: 1909 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-21 05:28:36 | 显示全部楼层
(2)放雷电必杀不扣体力- B) ^, o' [# W! U
打开VirtualNes Debugger并加载赤影战士日版ROM,开始游戏,打开RAM和DEBUG,查询EC作弊码得知体力地址是6F0,
- q) r% w& _* Z: l9 e1 ^6 d( D7 ]) S9 A, c, E1 ~
估计大家看暗器不减HACK教学后就知如何设置断点跟踪,我就不再说了,设置好断点后,回到游戏,按紧B键不放使出雷电必杀," n. a$ t- M# `* r, s
: A* X! K1 t$ L3 N
当雷电必杀发出时,程序中断,程序停在B6FC:9D F006 STA$06F0,X这行,如图15:注意B6F6:E9 08 SBC#$08这条指令,这条指令作用是把
9 y: W! b% D. v  K9 K8 W# W" ]/ V% {0 H* u
地址06F0减去8,大家都知道赤影战士放雷电必杀后会扣去8点体力,而这个08正好是放雷电必杀所需要扣的体力,只要把08修改成00的话就不会扣体力。(当然你也可以修改成01,发必杀只扣1格体力啦^_^)' E% ?9 K% j  i: c+ o2 x

  D  Q  c. s; y" o8 [! h5 ~转到RAM,找到B6F6:E9 08,把图中红色方框数据抄下,以便查找。如图16:把08修改为00就不扣体力了,如图17:关闭RAM和DEBUG,再重启游戏,再发动必杀,不扣体力的话说明修改成功了。% C: O! g# O  B' r( \
: c% l2 o+ E9 g
如图18:关闭模拟器,打开UltraEdit32,载入ROM,编辑之前按一下Insert把插入方式设为覆盖方式,点击“搜索”>“查找”,查找之前抄下的数据,找到如图19的数据:把08修改成00,再保存退出,如图20:! b0 `. x) g" _
! v9 A, S; W+ x( Y- T3 i
再进模拟器打开修改后的ROM测试发必杀是否不减体力,不减体力的话说明修改成功。( h  h0 L! u: E+ c  x1 P

, M/ L6 [% ?( h3 F* \0 hPS:跌落损伤修改方法和发雷电必杀修改方法一样,我不再说了,留给大家练习,方法设置好断点,再找个地方跳楼自杀(-_-),就能跟踪找到地址了......
) V0 S  {) U  u9 F8 v1 y0 @0 r9 @3 L- t9 J9 Z
偶找个时间再继续发如何HACK受攻击不减血和一开始拥有99个雷吧.......

本帖子中包含更多资源

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

x

签到天数: 1909 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-21 06:27:29 | 显示全部楼层
(3)受攻击不减血
) u, v. l% n' C4 u) m打开VirtualNes Debugger并加载赤影战士日版ROM,开始游戏后,打开RAM和DEBUG,同样用体力EC作弊码6F0来设置断点,设置好断点后,
: U) y7 `: C' j& g
# x: r( d( p# V3 ?8 F; r+ b/ W回到游戏被敌人打一下,当敌人攻击主角时,程序中断,程序停在AC69:9D F006 STA $06F0,X这一行,如图21: ( S( r+ ?8 p4 i/ U1 @& v( Z

( c; @+ A5 X3 V6 v注意AC69地址前面的AC63:E5 9D SBC$9D,这条指令作用将06F0,X地址数值减去009D地址数值。单单只将SBC指令修改LDA指令会有问题,偶考虑只有通过无条件转移指令(4C)再添加指令来达到不减血.....8 h6 w, f7 d5 N! X' B4 @
$ Q3 }5 P8 y/ H2 K& ?1 k; O6 Q5 t# l4 {
首先抄下如图22的数据,方便查找:之后在RAM中查找寻找连续储存的0xFF,可以在前面也可以在后面,也可以寻找连续储存的0x00,注意的是00是中断指令,有时候修改了游戏会出错。看情况吧。一般选择在连续储存的00中段开始加入修改数据。
9 F) X8 Z& Y3 J2 N1 |3 Z8 _0 v7 W  j; B9 d1 T
偶在RAM后面FFC3~FFDF找到一些连续储存的FF,如图23红框中连续储存的FF,把FF前面的数据抄下,方便查找,接着测试吓这些FF是否能使用.....6 y* p( n, S5 \# }7 r
8 {7 r6 ?. R& N, _- H  [2 _  }5 _& h
方法如下:
: [+ Z& v0 b4 ~
: y8 p7 t' x; e2 h0 i  h在RAM中把AC69的9D F0 06修改为4C C4 FF,指令说明:4C C4 FF作用是跳转到地址FFC4继续执行,4C是无条件跳转,如图24、25:
( C5 X$ T4 G- c# _' K3 b% N  O2 w5 @3 k" [
为安全得想,偶跳过第一个的FF,而在第二个FF开始输入9D F0 06 4C 6C AC,指令说明:9D F0 06是以X为偏移量,把寄存器A内容送入06F0,X地址中,4C 6C AC是跳转到AC6C继续执行,如图26:
; a3 c% A, T! R+ v1 P- K$ ]7 T* D3 h8 l6 s& g, o
接下来关闭DEBUG和RAM,回到游戏看吓游戏是否正常游戏,能正常游戏说明地址能够跳转使用。如图27:
) @9 o/ p8 @+ i) p. W' k7 s& i, P6 d! T. W. \
接下来打开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 g6 x* C. m# X3 R/ M# `
: c" y/ A" U4 _+ Y4 M  G2 x
指令说明:A9 10是把数值10读入寄存器A中,9D F0 06是以X为偏移量,把寄存器A数值10送入06F0,X地址中,4C 6C AC是跳回AC6C继续执行) _- D/ \7 z' h+ `+ f- F9 P
( w9 s  ~6 D  j1 n/ q. n" L
关闭RAM,看看游戏是否减血了,不减血说明修改成功,如图29:7 l$ Z* U. j, T5 U
# }+ r2 c2 a/ C
接下来,打开UltraEdit32,载入ROM,查找上图22的数据,如图30:& l6 z0 R* z9 ^) ]1 K& @
2 `4 n- t' q9 W# W0 X. G: }' I
找到把图中的9D F0 06修改为4C C4 FF,如图31、32:- g, T# P+ q# b& G( |4 L7 G2 `
. u! B" w0 j' u
接着,查找上图23连续储存的FF前面的数据,比如上图23的连续储存的FF前面是20 86 A0 4C 22 EC,找到后,在20 86 A0 4C 22 EC后面的就是你要添加指令的连续储存FF,如图33:
0 O; @( L) N9 q! H* |' \: h$ t4 z( S7 ]" ?% T5 ~
同样跳过第一个FF,而在第二个FF开始添加指令,如图34:$ F1 Y" }8 e; E+ e5 m* d
(如果你真要在第一个FF开始添加指令的话也不是不可以;假设你是在第一个FF开始添加指令的话,那图32的4C C4 FF应该修改为4C C3 FF): p/ H" t, f' `0 s
9 p' h" n, G! b  ^% u' k% F
保存ROM,退出UltraEdit32,再进模拟器测试是否不减血,不减血说明成功了.....,如图35:6 b/ ]6 H1 j) Y
4 w. O7 S: s: ~/ |1 |
[ 本帖最后由 疾风之狼 于 2008-12-1 12:24 编辑 ]

本帖子中包含更多资源

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

x

签到天数: 1909 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-21 06:29:31 | 显示全部楼层
(4)一开始拥有99个暗器雷
) z$ c& D+ T* z! ^, k首先要找到体力初始值,大家知道在赤影战士中体力初始值什么时候开始读取并放到06F0、06F4地址中?答案是在选择人物后。(注:06F0是对应1P体力值地址,06F4是对应2P体力值地址)
5 u, |# m1 B5 L- ^: Z. ?0 e& f4 g2 m1 S7 ]  I' c
要想在游戏开始后立即就有99暗器雷,必须在数据初始化后面加入暗器雷和暗器数量指令代码,如何添加指令代码?方法是上面的受攻击血不减方法一样,同样用无条件跳转指令4C再添加指令。0 h; ^% L& n9 i" E

3 `. S2 m2 Y  e) C偶决定来教大家如何双人游戏时两人一开始拥有99暗器雷,打开VirtualNes Debugger并加载赤影战士日版ROM,选择双人游戏进入到选择人物后,打开RAM和DEBUG,用2P体力值EC码06F4地址来作为断点.....( N2 P) _% z1 P$ T3 A% L
6 i0 l3 y5 E: Y9 q/ l
设置好断点后,回到游戏中,按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体力值地址)# D  G0 R' M# M" T8 _0 N

9 m8 d1 a6 x5 L2 _1 qA2F7:A9 10   LDA#$10  :A=0x10          -->把数值10读入寄存器A
0 t# B* ]6 Q9 n8 N, N  k) v& PA2F9:8D F006 STA$06F0 :[06F0]=A=0x10   -->把寄存器A的数值送入06F0地址
8 s7 A; ]% S1 n0 N( m3 UA2FC:8D F406 STA$06F4 :[06F4]=A=0x10   -->把寄存器A的数值送入06F4地址8 o; N& z/ v- n2 D' U4 z
- ]5 s% x' @$ ]; D
在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来添加指令吧..... B3 d1 L& c$ R4 c# Q: j5 P
) j7 V, M+ n  y3 D7 k) X+ L4 b4 v7 n
接下来在RAM把A2FC的8D F4 06修改为4C C4 FF,如图38、39:
  A! j; \7 A9 j, B9 [& {% R2 A
( |) R" ]1 E  s" d$ I$ B5 ]$ \接下来拉到滚动条来到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:
( u  @$ {/ B3 ~  B7 E: q
& M+ T; W% l# Y; w; d指令说明: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地址继续执行9 J& s4 Y4 @. X; |% u5 `
0 Y1 q5 [! @" e; N! t9 d/ r
接下来关闭RAM和DEBUG,重启游戏,进入游戏后暗器数是99,按一下攻击,如果放的是暗器雷说明修改成功!如图41:% a* l0 I2 P7 v0 q5 V. H

: G& i- M8 B. q9 U3 ^+ h接下来关闭模拟器,打开UltraEdit32,载入ROM,查找你刚才用笔纸抄下的数据,找到后把8D F4 06修改为4C C4 FF,如图42、43:+ u* k3 q# F  S3 R
# _, @0 s! n# a1 C& t* O5 k
接下来在找到上图33的连续储存的FF地方,偶还是跳过第一个FF,而在第二个FF开始添加指令,如图44:! ~5 C8 d# q  C  m& P8 W" z

* R  ]3 `  w9 s) O. Z  Y保存ROM,关闭UltraEdit32,打开模拟器载入修改好的ROM测试,如图45:如没什么意外发生的话说明修改成功!
; u5 w# K# g& z% J) W0 }8 \% _- J, F$ \
菜鸟HACK教程到此完成!以偶目前HACK水平来说还算是一只HACK菜鸟,没有和尚HACK技术那么厉害!:L

本帖子中包含更多资源

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

x
头像被屏蔽

签到天数: 5 天

[LV.2]偶尔看看I

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

该用户从未签到

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

+ ?% E: f- \$ n9 r适合新手学习修改的教材

该用户从未签到

发表于 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:
: S" `3 Y! S3 S不减血的教材

签到天数: 1909 天

[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 | 显示全部楼层
呵呵 完成了,得好好学习
9 T+ U3 D( Z8 @6 N8 i4 x+ n0 Lxiaofa兄弟也在这啊

签到天数: 7 天

[LV.3]偶尔看看II

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

签到天数: 26 天

[LV.4]偶尔看看III

发表于 2007-11-5 21:46:57 | 显示全部楼层
终于可以自己去HACK简单的游戏了:loveliness: 7 B% j1 J8 R0 o, F/ I
激动啊;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 | 显示全部楼层
好说的太好了 9 P; t- ?/ z( ?$ ]
我会了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-4-4 18:41 , Processed in 1.572265 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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