设为首页收藏本站

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

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

  [复制链接]

签到天数: 1913 天

[LV.Master]伴坛终老

发表于 2007-4-21 05:26:54 | 显示全部楼层 |阅读模式
注意:转载请注明本人名字和文章出处!) e; k8 W" h! X
( B3 `: E( ^" q3 r7 N, [
菜鸟NES HACK简单教程(偶应N多人要求才做这个教程,有错误请指正:L )
8 t  O2 L* Q4 b3 s& ?/ K0 g6 u$ Q1 o1 Q  {* j# U$ i. f+ c' s8 k8 n! M& t
NESHACK相关资料下载:http://bbs.emu618.com/forum/viewthread.php?tid=12675&extra=page%3D27 F! S" R  w  t- b
0 I# t! T) y/ `( ]& s6 {  i
6052汇编大奥秘(详细介绍FC的汇编语言,推荐下载):http://bbs.emu618.com/forum/viewthread.php?tid=20393&extra=page%3D1' {3 [9 C" A6 M; B, o8 Z+ w, F
, k) w, l( k: Z# A9 A: J6 ]
开始之前先说几句废话
- v5 n" M6 r, t1 U( G7 x3 g- j7 d! Y, c, ]* O" |2 O
第一,HACK之前先了解一下6502汇编指令,NES相关资料里有指令集说明文档,如果你看不懂英文的话就下载《6502汇编大奥秘》,里面有指令中文说明........^_^8 @8 m: Q% Z+ N

5 y$ N4 P; P3 Q3 `7 Y6 j0 m, C个人建议:没必要把6502全部汇编指令硬背下来再跟踪调试,那样会很累,你可以一边调试一边查询指令说明.......0 g$ a8 v1 \$ @5 o. h% j
# p0 u0 q% g* Y# r- v
第二,还需要准备一些工具:NES调试跟踪工具(VirtualNes Debugger版或者no$nes-w、FCEUXD SP等NES调试跟踪工具)、十六进制之类编辑工具(Winhex或者UltraEdit32)+ D1 {" R- N5 z2 y( J# [( O- s. G  a

) g8 P! d" f; g9 w$ P( i第三,了解修改步骤:. ^3 a  N6 I: ~
1、首先要确定你要修改什么。连要修改什么都不知道,那怎能谈上修改呢。5 H$ k" D9 F3 J/ L4 M! [" I3 `
2、获取作弊码,换句话说就是要获得要修改数据的地址。推荐使用EC,这个软件自带作弊码和跟踪修改功能。& z9 j& X: r1 L* a2 e  u- [1 y' ~
3、获得指令代码及其在Rom中的地址。一般通过VirtualNes Debugger版或者no$nes-w、FCEUXD SP等NES调试跟踪工具,再配合内存查看和十六进制之编辑工具确定指令以数据方式储存在Rom中的哪个地址。/ y& p2 r0 m5 _: k& s
4、修改相应指令或数据。一般来说要做尽量少的修改,而且不能让程序运行出错。, B" ]. P7 z- ~# {' A* b) }
5、测试游戏运行情况,看游戏能不能按照你修改目的正常运行。) {# l3 e/ h/ W1 r. ], ?

: v# s  j/ K) s0 c第四,偶以日版《赤影战士》和VirtualNes Debugger版来为例子教大家如何HACK:
3 a7 @0 f# @9 d+ x' R6 q& n1 r8 b6 _) f9 ]/ \- L* L: G
偶需要修改的数据:暗器数不减,放雷电必杀不减血,被敌人攻击不减血,一开始拥有99颗暗器雷4 O: A" a" ?! a- N, X

: F2 ?/ B( G  A5 [7 O( r1、获取作弊码,这个好容易得到,EC这个软件附带N多作弊码,省去自已手工查找作弊码了。^_^6 {" R6 U: p3 D1 _" I+ e
[P1 生命值]! Z5 X; Y( n, N8 A/ G9 J. ^
ON=6F0,10
" Q+ O: _8 e# F; b& z& S+ [- j- e1 G! c7 S5 a; W0 u' W
[P1 暗器数量]7 \; Y% n. X: d  T5 |7 s3 `/ a
ON=662,FF# q0 z' Z8 g7 C; {. j

+ Z/ u& k8 u( l, T+ o# F[P1 武器种类]
' h+ [0 E* Y( u/ V' I) K刀=6B2,0. Q  s# e( y; p0 l; u6 A
ON=6B2,3- Q0 L, ?2 R( F$ B/ {0 F

1 T0 ?' e. X% o4 n6 l9 `[P1 武器威力]% ~) V1 e' Y3 s( n* Q. E+ R, q
ON=680,FF
& `: z# k# s6 v) |% C. y8 S6 k! z3 j) F- }- o
[P1 暗器种类]6 w* {  L: }; r" l5 V" ~
标=671,0
) t* t3 E2 i6 L" R" N$ n; X雷=671,12 g. p% O# x2 {, [
9 N6 K. @) g6 k; a4 ]' k
[P1 隐身]
# C8 x' y# W: hOFF=0000,0" ~. ?3 z# {/ ?- H
ON=601,4C3 B7 R5 P( d- T4 m' L
8 r; Q. L6 ]1 ?# {
[P2 生命值]
% H# ~, z* }2 X/ ^. R0 \1 t& HON=6F4,107 C9 R( B1 H1 `
6 W( O0 _" r% M6 I
[P2 暗器数量]. N$ M/ e, Y4 F5 u9 w& _! U
ON=666,FF
' R- ~( |" N1 T+ M) q( R' |9 J0 n/ ^" _2 D4 Q
[P2 武器种类]
( ~. _& z7 M& Q7 C8 X0 o刀=6B6,01 K* n; ]; B! E
ON=6B6,3; M) w" Q+ v) N5 e. l# [. R$ W

# w- i+ u! a2 n. D/ @: [. r# \7 H[P2 武器威力]
* O  j: m% s- \; z- wON=684,FF
& }. Y3 x3 Z8 ]8 w1 U8 @$ j  |: D  M$ D/ ~, s
[P2 暗器种类]
9 S1 p) G; B* \- m0 g3 h7 o标=675,0
; V5 e; {1 e' G: J+ P$ |' I0 a雷=675,17 p6 F, L( u9 z; o6 h
5 g+ x% B7 n  c* ~
[P2 隐身]
$ n7 F9 g& c- g4 D  [& {OFF=0000,0
' M' z. U5 T6 ~ON=605,4C$ Z0 E% {8 u) J0 i2 y
* ~: R: ~+ `2 t9 }# l6 f5 X
[GameInfo]
2 N9 ]' \) n, s, R  N3 k7 J' L/ VName=Shadow of the Ninja (FC/NES)
' w7 l, }  ]* I- ]System=FC
" r7 a  M$ q5 N$ A% ^Text=赤影战士(水上魂斗罗),双人、动作游戏,由大胖子提供!
' ~' k" I+ Z4 h4 {, k* q3 A) J, V2 B4 E- W. B
[ 本帖最后由 疾风之狼 于 2009-10-14 15:09 编辑 ]

评分

1

查看全部评分

签到天数: 1913 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-21 05:27:43 | 显示全部楼层
2、通过调试跟踪获取指令代码及其在Rom中的地址,并用16进制编辑工具修改ROM其中数据
/ ~, c: W8 N  q4 `! _) _偶按照暗器数不减,放雷电必杀不减血,被敌人攻击不减血,一开始拥有99颗暗器雷顺序来教大家如何跟踪调试修改:7 b" `0 l  C- u- B& g/ _
" U6 C& }) Z" y; p$ F% N  m
(1)暗器不减:
* [) s; G5 k. P
8 Q# {8 R" J1 u& q: B首先打开VirtualNes Debugger并加载赤影战士日版ROM,如图1:
3 j6 X4 i' i: D2 n, E: p8 L$ q7 v' F" X$ \
接下来游戏进行到获到暗器飞镖20个,如图2:
, ^2 `- y0 M) C! }; ^  P# i. a" \6 C: }  o$ d% y4 f
接下来开始跟踪飞镖数量,先打开RAM,再打开DEBUG,先打开DEBUG的话,不然RAM就用不来:如图3、图4:% A' G- X2 u: N
1 l2 I! q& s' d' W
先点暂停,根据如下面作弊码提供的暗器数量地址,如暗器数量地址是662,就在注释内出现后面方框中输入[0662](注:可以用这东东当条件断点),再点右边确定让游戏继续运行,如图5:
4 P7 H( m1 U0 ~, `0 w7 {& L5 ]/ y' w; d* r5 t; Q
[P1 暗器数量]  e3 _6 s6 z5 n3 ?
ON=662,FF
, k/ g* o5 v, L( T% c
/ ^2 z  V$ I) z1 h使用一次飞镖,程序会发生中断停在B840这一行,如图6:0 E. F7 ]1 [* n4 m6 }

" P% ?# P# c0 sB840 : DE 6206 DEC $0662,X;[0662]-- =0x13  S( q! |  G" R# d' a) m

8 z" s( ?1 C# D$ o查指令表得知B840这个地址DEC $0662,X指令作用是将0662+(X)=真正暗器地址的数值减1;既然这样,只要把这条DEC $0662,X指令改为LDA $0662,X就可以让暗器数量不减了。LDA $0662,X作用是把0662+(X)=真正暗器地址的数值读入寄存器A。(X)是寄存器X的数值。
5 |3 b: g& s1 N7 x7 x! P2 ?) k举个例子:假设X寄存器数值是6,指令是“LDA $1234,X” 这条指令看上是将$1234地址数值读入寄存器A,但实际上$1234不是真正数值存放地址,1234必须加上寄存器X的数值才是真正数值存放的地址。1234+(X=6)=123A,LDA $1234,X指令应该是这样解释:将1234+(X=6)=123A地址读入寄存器A。- D  O' w. S/ @
LDA xxxx,Y和LDA xxxx,X一样,不过寄存器X变成寄存器Y。+ T( t; e: j& s) K0 Y7 E

2 A, {9 M& i3 V4 o+ S) z1 P1 F! _查指令机器码得知DE是DEC - Absolute,X,BD是LDA - Absolute,X,注意寻区方式要一样....把DE修改为BD就可以不减暗器数量了。. G1 [- A3 X) s7 e6 r! d1 k5 s
0 [% o$ W- y! m" j5 R
注意:别把BD修改成其他LDA指令,这样会死机的,因为指令寻区方式不一样。
( o/ J! F) b4 d) W) j; g3 O) f6 A/ ~' {9 S" V9 E( M# S9 |9 n7 U( E. k1 k
另外,有一些其他游戏是这样的:改为LDA $XXXX,X 那么就会破坏了寄存器A原来的数据了,后面的程序如果要直接用寄存器A的数值的话,那么就会造成游戏出错,如果后面的程序在用寄存器A的数值之前对寄存器A赋于新值就没事了。6 U! G) C' O' P5 {/ M/ U
# M, q) m% V, D- R: T$ z; k6 o
接下来在RAM中找到B840:DE 62 06,如图7:4 k  g1 {# s# i% j8 V& n
/ z- l& s4 a$ |, E
用笔纸抄下红框中数据,以便在查找,接得在RAM中把DE修改BD,如图8:8 d1 z1 f" D/ E- x8 M* J) D

  Y! e$ s: ?0 N/ W% a5 H, z关闭DEBUG和RAM,回到游戏中测试吓暗器数量是否不减,暗器不减了,说明指令修改成功。如图9:3 Z- F. n* r4 _: j! o8 @% g

* T! s# Q* P7 l2 p关闭模拟器,接下来用十六进制修改工具(如UltraEdit32)修改ROM,还记得之前用纸笔抄下的数据么?# w; v( {4 w7 F; O5 t) V2 z& c

( T7 B3 M# d" F5 z( v( i打开UltraEdit32,载入赤影战士ROM,编辑之前按一下Insert把插入方式设为覆盖方式,如图10:3 E% `( v# B6 W* E/ V- O

7 S: h: ]$ Y# J1 K! u点击UltraEdit32“搜索”>“查找”,在弹出查找框中查找内容(N)后面方框中输入你用纸笔抄下的数据,再点“查找下一个”就能找到这个数据,如图11:8 y7 Z, [$ g3 g* y0 c6 G6 r
  \& ?) }2 C2 i& c" v8 N- i; X
如图12,结果出来,UltraEdit32高亮度显示你就是要找的数据,把DE修改为BD,再点“文件”>“保存”保存你修改结果。如图13:
. R7 A$ G* U7 b6 E! G4 v! e5 z, a- Q
关闭UltraEdit32打开模拟器载入修改后的ROM测试暗器数量是否不减,不减的话说明修改成功了,如图14:
% }  K$ K8 K+ ?- H. @0 L  @  m2 G# i$ s8 z0 E/ x0 O
暗器雷数量不减修改方法和暗器飞镖数量不减修改方法一样。就不再说了,留给大家练习一下。' g2 i; N: [) `) s) }0 h
% J; u' q5 K' |# {; A
[ 本帖最后由 疾风之狼 于 2009-10-14 15:08 编辑 ]

本帖子中包含更多资源

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

×

评分

2

查看全部评分

回复

使用道具 举报

签到天数: 1913 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-21 05:28:36 | 显示全部楼层
(2)放雷电必杀不扣体力8 w& w+ V) n9 \* z
打开VirtualNes Debugger并加载赤影战士日版ROM,开始游戏,打开RAM和DEBUG,查询EC作弊码得知体力地址是6F0,- B# N4 f7 G% B8 N
4 Y' ~6 F( a6 p
估计大家看暗器不减HACK教学后就知如何设置断点跟踪,我就不再说了,设置好断点后,回到游戏,按紧B键不放使出雷电必杀,
; z0 \& Y  f* g3 B6 A% h' G& R* D8 x) s& V, s& v' u
当雷电必杀发出时,程序中断,程序停在B6FC:9D F006 STA$06F0,X这行,如图15:注意B6F6:E9 08 SBC#$08这条指令,这条指令作用是把
. K  r) x6 Y% @( u7 b* z! P) b  f; O4 j( R5 k) g
地址06F0减去8,大家都知道赤影战士放雷电必杀后会扣去8点体力,而这个08正好是放雷电必杀所需要扣的体力,只要把08修改成00的话就不会扣体力。(当然你也可以修改成01,发必杀只扣1格体力啦^_^)6 k* D; p* J4 g# q' l; U
* {+ |" S, R& I
转到RAM,找到B6F6:E9 08,把图中红色方框数据抄下,以便查找。如图16:把08修改为00就不扣体力了,如图17:关闭RAM和DEBUG,再重启游戏,再发动必杀,不扣体力的话说明修改成功了。
; x* `  a5 p; S* G! z8 Q
& R$ a) h. t7 h+ s6 I, ^# i如图18:关闭模拟器,打开UltraEdit32,载入ROM,编辑之前按一下Insert把插入方式设为覆盖方式,点击“搜索”>“查找”,查找之前抄下的数据,找到如图19的数据:把08修改成00,再保存退出,如图20:5 c  }9 U" x+ q# h9 y/ h; S' c
* J, G; r( B6 X1 P5 `# @
再进模拟器打开修改后的ROM测试发必杀是否不减体力,不减体力的话说明修改成功。2 _1 c9 g$ u' ^9 M& D, f6 b# p" `% z
0 Q5 ~  r4 I1 }' O# I' n1 x4 z. [# T
PS:跌落损伤修改方法和发雷电必杀修改方法一样,我不再说了,留给大家练习,方法设置好断点,再找个地方跳楼自杀(-_-),就能跟踪找到地址了......( H3 r, ~. E/ ]& c& m$ ?

/ d" J) {( v0 ^/ X. ?2 @+ J$ b偶找个时间再继续发如何HACK受攻击不减血和一开始拥有99个雷吧.......

本帖子中包含更多资源

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

×
回复

使用道具 举报

签到天数: 1913 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-21 06:27:29 | 显示全部楼层
(3)受攻击不减血: T- l, ~9 l! l' o9 `
打开VirtualNes Debugger并加载赤影战士日版ROM,开始游戏后,打开RAM和DEBUG,同样用体力EC作弊码6F0来设置断点,设置好断点后,# N+ R$ _% g$ ]7 E
* k4 |2 |2 o& L& k
回到游戏被敌人打一下,当敌人攻击主角时,程序中断,程序停在AC69:9D F006 STA $06F0,X这一行,如图21:
6 g. E1 I; u8 V5 a
9 O$ P* m  o* H" X3 A注意AC69地址前面的AC63:E5 9D SBC$9D,这条指令作用将06F0,X地址数值减去009D地址数值。单单只将SBC指令修改LDA指令会有问题,偶考虑只有通过无条件转移指令(4C)再添加指令来达到不减血.....
0 E! a, _( H6 c' r+ z1 t9 k. v" w& t+ {8 T4 i
首先抄下如图22的数据,方便查找:之后在RAM中查找寻找连续储存的0xFF,可以在前面也可以在后面,也可以寻找连续储存的0x00,注意的是00是中断指令,有时候修改了游戏会出错。看情况吧。一般选择在连续储存的00中段开始加入修改数据。0 d( Y/ G! u: h/ H0 j% p6 G: C
$ q- ]4 X- }% |# B, W8 Q
偶在RAM后面FFC3~FFDF找到一些连续储存的FF,如图23红框中连续储存的FF,把FF前面的数据抄下,方便查找,接着测试吓这些FF是否能使用.....
) O* d+ d7 h8 [3 e5 b9 ]9 I4 {% W0 P( C
方法如下:
! f& {) K- k+ ^& f" }
6 m; z, Y8 w6 f3 D在RAM中把AC69的9D F0 06修改为4C C4 FF,指令说明:4C C4 FF作用是跳转到地址FFC4继续执行,4C是无条件跳转,如图24、25:+ |# }  b: |" ^/ E4 z' a; T

8 d7 R! Y/ s+ m( T& {3 y0 ~3 I. j2 }; @为安全得想,偶跳过第一个的FF,而在第二个FF开始输入9D F0 06 4C 6C AC,指令说明:9D F0 06是以X为偏移量,把寄存器A内容送入06F0,X地址中,4C 6C AC是跳转到AC6C继续执行,如图26:# l/ p0 a7 F1 [8 a- V) r

, Y5 V# C  G( K' n接下来关闭DEBUG和RAM,回到游戏看吓游戏是否正常游戏,能正常游戏说明地址能够跳转使用。如图27:
) w1 F3 W; z" Q* s8 `: F$ l
6 z% }$ _4 T! k: E* D接下来打开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:- l& u2 }6 Q  i+ S& M
0 `1 \5 _4 \+ E  R, V1 z7 Y
指令说明:A9 10是把数值10读入寄存器A中,9D F0 06是以X为偏移量,把寄存器A数值10送入06F0,X地址中,4C 6C AC是跳回AC6C继续执行, h8 r% a3 C" u$ y" C6 Q0 n: v
! S( a0 A; D! p; j; F# a: H
关闭RAM,看看游戏是否减血了,不减血说明修改成功,如图29:( t4 b+ u4 W( y) Y+ o* e! o; J8 B1 m1 I
( _2 M1 C+ f! q% c% m  E2 G3 L7 R! f
接下来,打开UltraEdit32,载入ROM,查找上图22的数据,如图30:
) w& X" {* J6 u) ~: R4 X# Y& y" y$ D; m5 A/ d8 z" g( Z& u
找到把图中的9D F0 06修改为4C C4 FF,如图31、32:
. Q9 ]0 G4 o, z( c  @7 ]: U: y  `* h4 |, P* L. w. D2 E2 [
接着,查找上图23连续储存的FF前面的数据,比如上图23的连续储存的FF前面是20 86 A0 4C 22 EC,找到后,在20 86 A0 4C 22 EC后面的就是你要添加指令的连续储存FF,如图33:) u" b5 Y3 `6 _

# I+ u! W' C% W2 }9 e$ d3 M同样跳过第一个FF,而在第二个FF开始添加指令,如图34:6 q5 ~! s6 W" x4 A+ I  n
(如果你真要在第一个FF开始添加指令的话也不是不可以;假设你是在第一个FF开始添加指令的话,那图32的4C C4 FF应该修改为4C C3 FF)
$ ]1 M; E5 E3 m; f0 A
0 M3 W' n8 I; N% r保存ROM,退出UltraEdit32,再进模拟器测试是否不减血,不减血说明成功了.....,如图35:
& Q3 n7 @2 r. L! l* m- y% R
! }7 \% Y0 E" U* r0 U7 y7 k8 l[ 本帖最后由 疾风之狼 于 2008-12-1 12:24 编辑 ]

本帖子中包含更多资源

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

×
回复

使用道具 举报

签到天数: 1913 天

[LV.Master]伴坛终老

 楼主| 发表于 2007-4-21 06:29:31 | 显示全部楼层
(4)一开始拥有99个暗器雷
: @0 w/ g: f$ B: }4 q6 t- l: l首先要找到体力初始值,大家知道在赤影战士中体力初始值什么时候开始读取并放到06F0、06F4地址中?答案是在选择人物后。(注:06F0是对应1P体力值地址,06F4是对应2P体力值地址)
: H# k/ D7 x$ O' y5 q' ~) c7 ^( x
1 D7 F5 M& W6 Z% A0 _3 v" Y要想在游戏开始后立即就有99暗器雷,必须在数据初始化后面加入暗器雷和暗器数量指令代码,如何添加指令代码?方法是上面的受攻击血不减方法一样,同样用无条件跳转指令4C再添加指令。
! L  Z/ N; b; D, h; G) @" }5 B& E; c$ y* w
偶决定来教大家如何双人游戏时两人一开始拥有99暗器雷,打开VirtualNes Debugger并加载赤影战士日版ROM,选择双人游戏进入到选择人物后,打开RAM和DEBUG,用2P体力值EC码06F4地址来作为断点.....4 c0 V4 T0 l/ N4 E& S; v3 i
4 B+ o% o3 ~9 l, r7 p- s2 N- O& 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体力值地址)/ ?0 T; Z1 b* D9 l
* x7 D, p* y1 Q* B; [" R
A2F7:A9 10   LDA#$10  :A=0x10          -->把数值10读入寄存器A
# ?$ |3 A! m% [A2F9:8D F006 STA$06F0 :[06F0]=A=0x10   -->把寄存器A的数值送入06F0地址. U" R$ i5 r3 [$ i' O
A2FC:8D F406 STA$06F4 :[06F4]=A=0x10   -->把寄存器A的数值送入06F4地址/ @' w$ V; U. k% o/ m8 N2 b
+ b* `7 l/ C7 H( E( E( L! _8 Q
在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来添加指令吧....( l, B! B9 w* B5 c% t# h' d- D

+ s# w# A! Z0 B  U: C2 F0 S接下来在RAM把A2FC的8D F4 06修改为4C C4 FF,如图38、39:; x$ @# }# d1 i% T& h1 u6 A0 [
8 N$ S" 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:
9 U/ F, w, P; ^- H, p! e0 F
/ A* n& \9 N) R: s指令说明: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地址继续执行/ J3 `! v" ^0 c2 B# U

4 e, _" }& ?5 ?3 p接下来关闭RAM和DEBUG,重启游戏,进入游戏后暗器数是99,按一下攻击,如果放的是暗器雷说明修改成功!如图41:
6 T! X9 ]& m& B# i: K: c0 l
* m5 M: u- j7 H2 Y接下来关闭模拟器,打开UltraEdit32,载入ROM,查找你刚才用笔纸抄下的数据,找到后把8D F4 06修改为4C C4 FF,如图42、43:  s5 S8 C9 a7 R" w
  R0 F. U5 M3 @3 ^
接下来在找到上图33的连续储存的FF地方,偶还是跳过第一个FF,而在第二个FF开始添加指令,如图44:
; n: @+ f& A& n3 \0 A) W
9 v2 d5 z) ^- l6 ?保存ROM,关闭UltraEdit32,打开模拟器载入修改好的ROM测试,如图45:如没什么意外发生的话说明修改成功!
# G' E& j& n- u$ {9 J) |9 v( r  ^- U6 Q5 s' b
菜鸟HACK教程到此完成!以偶目前HACK水平来说还算是一只HACK菜鸟,没有和尚HACK技术那么厉害!:L

本帖子中包含更多资源

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

×
回复

使用道具 举报

签到天数: 5 天

[LV.2]偶尔看看I

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

使用道具 举报

该用户从未签到

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

$ O* ^5 L6 Q5 m适合新手学习修改的教材
回复

使用道具 举报

该用户从未签到

发表于 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:
" F6 l9 X$ F- N" r# G) Y不减血的教材
回复

使用道具 举报

签到天数: 1913 天

[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 | 显示全部楼层
呵呵 完成了,得好好学习7 Z0 l& W/ h( \% a
xiaofa兄弟也在这啊
回复

使用道具 举报

签到天数: 7 天

[LV.3]偶尔看看II

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

使用道具 举报

签到天数: 26 天

[LV.4]偶尔看看III

发表于 2007-11-5 21:46:57 | 显示全部楼层
终于可以自己去HACK简单的游戏了:loveliness: " p+ r! F3 K1 |/ J  B( G3 r  m. k& |7 z
激动啊;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 | 显示全部楼层
好说的太好了 2 l3 t4 T, m! t$ f# ~
我会了
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-4-6 03:05

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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