EMU618社区

 找回密码
 立即注册
搜索
查看: 3292|回复: 6

[原创HACK教程] NEOGEO CD HACK初级教程

 关闭 [复制链接]

签到天数: 2189 天

[LV.Master]伴坛终老

发表于 2010-3-23 22:04:27 | 显示全部楼层 |阅读模式
1。准备工具和资料1 P' M4 `  t7 R7 \: E  h( G  z
(1)NEORAINE 1.2.1.0+MK68KDIS.EXE(注:官方NEORAINE模拟器是不附带MK68KDIS.EXE,你要在官方网站另外下载MK68KDIS.EXE,并放在NEORAINE模拟器目录里,下载页面:http://rainemu.swishparty.co.uk/html/download/dev.html)& }7 y0 ~# u! q1 e) @2 G6 y
(2)十六进制编辑器WINHEX或ULTRAEDIT
& B/ M' ^* H- B' C: f  H(3)68K指令集资料0 l, f- `3 z  S/ R; V0 m2 w
(4)笔、纸( S' i/ n, D+ u0 {5 X, a! J6 W0 w

: ?4 K; [1 \; b本人以NEOGEOCD《合金弹头2》为例,目标命不减。0 q) E( j9 N- w- \) a4 p
+ u0 ]1 T' t  O8 r# ^
2。下载NEOGEOCD版《合金弹头2》,将ISO里面全部文件解压到任意目录下再重新打包压缩成ZIP,因NEORAINE不能提取ISO镜像里面文件出来反汇编,所以要先将ISO里文件解压出来再重新打包压缩成ZIP。) B# {# f7 B7 d  I" H. L" C
, s. k9 |" u1 P. ~: V7 ?( {
3。首先要找到游戏命数存放地址,我已经找到,命数存放地址是:1012763 j* S) L) i8 r: d& @" M" b

) t0 S( `5 y$ d8 N/ \4。运行NEORAINE模拟器,读取《合金弹头2》ZIP文件,进入游戏后,现在你看到生命数是2,如图1:. i' Z: y" m0 R! w6 r- J5 j, s

# t( T6 k# R3 n; P0 W& v* T; Y
* A4 f% ]5 I& P! {. D* R2 z% `4 g6 a5。按ESC键进入NEORAINE菜单选择界面,选择Console,输入watch $101276 1 1回车,这样当有1字节数值1写入生命存放地址时就发生中断,说明一下watch指令格式,watch [read] [adr] [size] [value]3 _: ^& H* [/ {+ s: Q4 o' R% Q3 d
1 `. d$ g; `# j% B5 I$ E
read不加的话,就是写,adr是地址,size是字节长度,value是数值,数值必须用十进制表示,监视读取101276地址2个字节数据,可以这样打:watch read $101276 2
' k: x! L* w- s  v# D4 p* L. ~, B# r" Z& ^: ]
要删除断点就输入watch del [n],n是断点编号/ B7 m: ~( j& o2 i

7 T6 \7 ~# g9 N2 x: E& t; K' H: r5 q再输入watch查看一下断点是否设置好,提示"watch #0 adr:101276 size:1 read:0",说明一下,#0是断点编号,adr是地址,size是字节数,read是1的读,是0的不读。如图2:9 r7 J* }) p" c5 A% p4 K

  ]6 c% `5 Z1 Y/ X, Q5 ]$ Q6 V( X
" v  s  Y4 K3 C6 v8 O提示:关于其他NEORAINE的控制台指令用法请输入help查看。
5 n  O7 F- P, L/ s# w/ h8 p/ {/ S: `3 M7 s! t. O
6。回到游戏故意死一命后,模拟器发生中断,程式停在000cc086 6400000e BCC $cc096一行,用笔纸记下。如图3:
0 R7 E5 G5 p, C7 H8 }& L$ N  B" @; j

& R8 h6 ]0 A& Y! U7。进入NEORAINE目录下debug目录,你会看到模拟器在发生中断同时在debug目录下生成2个文件。如图4:
! Q5 A* l& K: x9 k1 d
0 g6 A8 Z- p- [) u3 l2 d1 {2 E  b% h+ x
8。用记事本之类软件有S后缀文件,查找000cc086,光标停在000cc086 6400000e BCC $cc096一行,现在来分析一下:  V& J. f2 Z. F$ u; g

% h2 f! p$ B* a8 t- c& d000cc082   532e0082                        SUBQ.B        #1,130(A6)% B% I7 B: @* r4 ^- s' v' i* u+ E
000cc086   6400000e                        BCC        $cc096+ B: a+ t- n" q7 v0 I" ^# o

1 y7 J/ W& S2 J% |, |  p' p) E留意000cc086的前面一行000cc082 532e0082 SUBQ.B #1,130(A6),查了一下68K指令集资料,这一条指令作用是将130(A6)地址数据减1,结果存入130(A6)地址。
( @* n2 ^+ a) Q. l7 L3 G* U) M1 _7 J/ o) @3 \2 B- U# P% ^
9。回到模拟器用regs指令查一下寄存器,A6寄存器数据是001011f4,将130换算成16进制是82,再将82和A6寄存器数据相加,82+001011f4=00101276,00101276正好是1P命数存放地址。如图5:
0 k4 `" F' J' C: s" h
. @1 E( Y" T4 {2 h+ o0 w; }# _
1 {, u! O" [- J10。只要将000cc082 532e0082 SUBQ.B #1,130(A6)这一行指令NOP掉就命不减,关闭模拟器,打开ZIP压缩包将MS2CD.PRG解压出来用WINHEX打开,来到cc082地址,将532e0082修改为4e714e71,保存。如图6、图7(注:4e71是NOP汇编指令机械码):
9 G8 g: d5 @" e" Z! I8 n' T, Z
) Y$ p* m2 b' |/ T2 ]+ E( J7 x- |* p
' p; A6 u/ f3 N. K
# j, P; }- \) |# q+ K( s" M# M11。将修改好MS2CD.PRG添加进ZIP压缩包里替换,再用NEORAINE打开加载合金弹头2 ZIP文件,测试一下是否命不减了,命不减说明修改成功。如图8:! I& a& x7 _7 g7 ]5 H

0 [7 K) C% d$ O6 G+ N; x2 ?! d! [4 b. p
教程到此结束。( B; e( E: |- \; H

5 M. _* E1 t; }# Z疾风之狼
) Z: G0 Y$ R' X- }! k5 k' u8 t% a
5 p" L5 e+ g: ^4 ]/ B2010.3.23

本帖子中包含更多资源

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

x

评分

2

查看全部评分

签到天数: 343 天

[LV.8]以坛为家I

发表于 2010-3-24 09:45:34 | 显示全部楼层
感谢,学习一下.

该用户从未签到

发表于 2010-4-20 12:47:42 | 显示全部楼层
感谢,感谢,学习一下.学习一下.

签到天数: 1 天

[LV.1]初来乍到

发表于 2010-4-20 14:53:25 | 显示全部楼层
好耶,楼主的教程还真多啊,支持一下

签到天数: 35 天

[LV.5]常住居民I

发表于 2010-9-3 19:49:06 | 显示全部楼层
能把工具放出来下载吗

签到天数: 2189 天

[LV.Master]伴坛终老

 楼主| 发表于 2010-9-3 20:18:54 | 显示全部楼层
能把工具放出来下载吗
+ T9 q6 A9 w: @3 B. N& b孙爱孙 发表于 2010/9/3 19:49

* [/ E" F2 R/ g# W/ F$ B6 q) q: J( ?5 }( W- Y8 h$ B9 L% o% h
NEORAINE模拟器:http://rainemu.swishparty.co.uk/html/download/neoraine.html
1 r% z0 R) E2 d* h. b* m; V9 v8 X) w0 T4 Z. D5 l. j
MK68KDIS.EXE:http://rainemu.swishparty.co.uk/html/download/dev.html$ ], g/ \) E3 x, c

& g6 {' ]  T/ V; d' [3 I! m剩下十六进制编辑器WINHEX或ULTRAEDIT在网上很多网站有提供下载,用搜索引擎搜索一下就能找到。

签到天数: 145 天

[LV.7]常住居民III

发表于 2010-9-3 20:29:38 | 显示全部楼层
又是英文看不懂{:4_121:}
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-12 09:47 , Processed in 1.093750 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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