EMU618社区

 找回密码
 立即注册
搜索
查看: 99|回复: 4

[原创HACK教程] SS HACK教学

[复制链接]

签到天数: 1995 天

[LV.Master]伴坛终老

发表于 前天 17:13 | 显示全部楼层 |阅读模式
游戏:SS怒首领蜂
4 {# j1 L" ~  @- H& q
9 M+ Z, S7 d) t! H$ D# T. N( Y' A使用调试器:mednafen
+ j# ]% h# Y  `$ W; t+ E7 x
# G* B7 p& o/ n( {8 g反汇编工具:IDA% y6 z& D8 O( `; E
# ?7 ?' [5 }" w+ C
16进制编辑器:winhex或其他16进制编辑器& x& K+ Y+ a) f
' W# l+ z: L4 y) d
mednafen是多机种模拟器,模拟器是通过命令行方式加载游戏,当然你也可以通过前端方式加载游戏,关于mednafen的前端太多,请自行寻找。
& h) S5 u6 s; C
7 R+ B4 M9 _3 V! a关于SS CPU:
! c- Y$ ~& i1 ~; ~, ]SS是使用日立SH2作为CPU,关于SH2指令集请自行百度或bing查找。
; c, }0 r4 ^" K$ |- M' |' r6 F. c6 a7 [/ D5 X. ?0 Y1 O, ^
关于SS内存区域:/ h; |; a' R; N
LWRAM 0x00200000~0x002FFFFF
& \$ }& v- A* J7 [; n) M( N/ p
8 j! R/ @3 Z/ \HWRAM 0x06000000~0x060FFFFF% _  A6 i7 w& J

1 n7 M, _9 F) {9 J9 M' D0 l) ^68K RAM 0x05A00000~0x05AFFFFF) K' X- n; g" Q: S3 N' F

. }% e" k! m3 d1 t: r* ^. ~1.下载mednafen解压后,运行一次mednafen.exe,生成mednafen.cfg文件,用记事本之类文本编辑工具打开mednafen.cfg,查找全部debugger.disfontsize 5x7,全部替换为debugger.disfontsize 9x18并保存,不这样改调试器显示字体太小。* w+ X0 }/ U: D: u

+ W1 h, Q4 P  n! F7 U8 l  O" u! _关于mednafen调试器用法请参考mednafen模拟器目录下Documentation目录里debugger.html文档。
; r; b! o: f( D& s, k* I8 C& \
3 @$ T. G( G( l* n2.用mednafen加载SS怒首领蜂,进入游戏后第一步是查找1P飞机数,查找过程略过,我找到1P飞机数地址:0x060c0061
( o! m9 H5 ?" a9 V
! ^5 \6 z& K1 K. u" b3.进入游戏后,按ALT+D调出调试器,按SHIFT+W打开写断点框,输入060c0061后按Enter完成写断点设置;: e- p! F( u* ^0 @; o

4 |6 h+ w3 C9 z  v5 X6 G$ }( D5 v! K9 n' n* }% c" ]! o( z
7 S( b( \- ]! p* A7 c4 D
4.按ALT+D退出调试器,回到游戏中死一命后调试器发生中断,程序停在0603A8CA: mov.b r1, @r2, D0 d  x  h$ a1 ?. u% i
# h, C/ W; n$ ?% Z5 n
" X( K( j5 u& Z2 u. C& z

: \" e% F4 M+ Y7 D0 o! j5.接下来分析一下:6 j* e* |4 X; N) V9 ~9 m
0603A8C6: mov.b @r2, r1        把r2寄存器地址的数据传递到r1
% P" n# q. s) Z! w9 O8 V9 g0603A8C8: add #-1, r1                把-1数值和寄存器r1相加,结果存入r1寄存器4 f# w) m1 D" g0 {; {
0603A8CA: mov.b r1, @r2        把r1寄存器的数据传递到r2寄存器的地址里
' t2 W) r3 Q1 D& z5 q* @8 }) K  _: q. T4 U' D) V' Q
6.只要把0603A8C8: add #-1, r1指令nop掉就飞机数就不减,SH2汇编nop指令机械码是00 09;! j9 _: A( }( d( _
7 i& {' Q" M: }' l, S' t% i
7.按ALT+3切换内存窗口,还记得前面说的关于SS内存区域吧,0603A8C8地址是HWRAM区域,按CTRL+→切换到High Work RAM区域,按D调出Dump Memory框,输入3A8C6 3A8E0 SS_dump.bin后按Enter,之后会在mednafen模拟器目录下生成SS_dump.bin二进制文件;
4 Q1 H/ |) s, t, Y; p( C9 K# V0 ?1 S8 m6 p  K  n, b0 j
8 Z5 E! a) x4 p' w
& o# M. I+ n: Y  U1 z4 |. i( |
8.用IDA反汇编SS_dump.bin结果:
6 ?. {8 X! b  b" l) e2 U4 @6 l% _* B0 ?
ROM:0603A8C6 61 20                 mov.b   @r2, r10 Y: w7 R8 {. u
ROM:0603A8C8 71 FF                 add     #-1, r1( v8 m. `! Q1 V: x" A) C
ROM:0603A8CA 22 10                 mov.b   r1, @r26 U& L6 d: m- Z3 O! Y. y
ROM:0603A8CC 61 1E                 exts.b  r1, r1
+ D" v% i  P* C$ _7 HROM:0603A8CE 41 11                 cmp/pz  r1
# H' C% u; Z* Y% I$ V! S- UROM:0603A8D0 8F 07                 bf/s    h'603A8E2
0 R1 k# T( t2 P% {. c. R* B; {ROM:0603A8D2 E9 00                 mov     #0, r98 B& [# T( z) x2 |0 U9 Q) c
ROM:0603A8D4 61 32                 mov.l   @r3, r1! x: R+ a) s' p4 ^" f) O% }
ROM:0603A8D6 D2 3E                 mov.l   #h'FFFFFFFF, r2
  _: t# _+ ]0 G3 ]" x( G' n" W1 T- {ROM:0603A8D8 21 2B                 or      r2, r15 N. i. Z* @- i5 S9 D
ROM:0603A8DA D2 3E                 mov.l   #h'FFFFFFFF, r2
+ g% n: d1 Y) t4 x$ p4 R& M' X) u8 h! J* u/ @
反汇编结果得知add     #-1, r1指令机械码是71 FF
0 g+ D" J! u' x
' u, q  F* a2 P8 C9.用winhex打开怒首领蜂镜像,查找 16进制数据“612071FF2210611E41118F07E9006132D23E212BD23E2129A06523”;
" E% F& n: T( z. x: X% |1 E8 B- k/ i$ c3 s5 W; M' r8 x8 A1 A' w7 X
9 N5 B6 [& b( G! u9 o4 B+ j

2 j6 a: v9 Y8 X3 X# P10.把71 FF修改为00 09,另存为镜像,我不建议覆盖镜像,而是另存为镜像,怕万一改错了引致镜像损坏。
/ r7 X: K3 C7 ~2 x: E3 o" E+ n7 L
0 L/ \# ~3 B, Y1 T7 |" h( [" m

- w1 \* |, E) F) m11.用mednafen载入修改过的SS怒首领蜂镜像,如飞机数不减说明修改成功。9 P3 i8 Q3 ~! K; E
$ v5 \" B" {( D1 X: |
" K/ d6 x9 j* P

( g8 h6 m5 e3 o6 R3 {  a12.要刻盘在主机玩请先用ECCREGEN 1.41修复修改过的镜像EDC\ECC。
. e7 j7 ^( K% w" [: o& U
7 Y' R7 m) M" U# h* v9 }  }
疾风之狼
& T% w1 f7 O5 B$ s7 L# C' o( F1 p2025.06.29

本帖子中包含更多资源

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

x

评分

3

查看全部评分

签到天数: 637 天

[LV.9]以坛为家II

发表于 前天 18:07 | 显示全部楼层
修改这些CD游戏
, [  j2 O) i9 S还是用金手指简单点
回复 支持 反对

使用道具 举报

签到天数: 595 天

[LV.9]以坛为家II

发表于 前天 21:21 | 显示全部楼层
很厉害的教程,本人愚钝,看起来好难
[发帖际遇]: liuqi459120528花12 个 柠檬买彩票,血本无归T_T. 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

签到天数: 1532 天

[LV.Master]伴坛终老

发表于 前天 22:36 | 显示全部楼层
感谢老大分享
回复 支持 反对

使用道具 举报

签到天数: 742 天

[LV.9]以坛为家II

发表于 昨天 10:49 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-1 11:46 , Processed in 1.094726 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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