EMU618社区

 找回密码
 立即注册
搜索
查看: 475|回复: 9

[原创HACK教程] SS HACK教学

[复制链接]

签到天数: 2120 天

[LV.Master]伴坛终老

发表于 2025-6-29 17:13:19 | 显示全部楼层 |阅读模式
游戏:SS怒首领蜂
- G( M( H; c# p1 B! u8 W
& j8 {+ ^$ d, b* I7 Z使用调试器:mednafen
. W1 X9 Q# j9 o) F3 `. T  u3 v8 i, t0 g
反汇编工具:IDA
2 r+ W5 O; j8 ?& o
, I: ^6 V" o6 o: k4 L2 ?: H) f* h16进制编辑器:winhex或其他16进制编辑器5 u! A+ m% i) D2 h
! r/ f$ H' R2 E9 v( `
mednafen是多机种模拟器,模拟器是通过命令行方式加载游戏,当然你也可以通过前端方式加载游戏,关于mednafen的前端太多,请自行寻找。0 B1 I. ?- y0 c  p6 @

0 k1 t% k9 V5 Q, |% g关于SS CPU:
* ~+ S; {; x* b0 a  |5 X1 KSS是使用日立SH2作为CPU,关于SH2指令集请自行百度或bing查找。
6 D4 j! ]: j& E# ~
4 ^4 c3 t0 d  N6 ?3 @2 @关于SS内存区域:
5 D# o, N/ B9 r) kLWRAM 0x00200000~0x002FFFFF
! a4 W: O6 G0 l/ |8 t- c2 m9 D' B0 l& J2 Y3 m9 q
HWRAM 0x06000000~0x060FFFFF
, x, |: ?3 I. x; n) u, N: R3 _* {! p$ ~0 k, d' e; t
68K RAM 0x05A00000~0x05AFFFFF  i( P: E" r" t$ w( U

1 _1 Y) {: ?& g. o0 D; P9 B) b1.下载mednafen解压后,运行一次mednafen.exe,生成mednafen.cfg文件,用记事本之类文本编辑工具打开mednafen.cfg,查找全部debugger.disfontsize 5x7,全部替换为debugger.disfontsize 9x18并保存,不这样改调试器显示字体太小。
6 b# {4 C; q- Q: K7 [( C9 q1 t7 g/ K
关于mednafen调试器用法请参考mednafen模拟器目录下Documentation目录里debugger.html文档。
% I' J  ^, L8 G6 K
9 \2 r/ W; C% c6 o; a2 H* F2.用mednafen加载SS怒首领蜂,进入游戏后第一步是查找1P飞机数,查找过程略过,我找到1P飞机数地址:0x060c0061
1 c0 P- L9 O0 O  W; y# H; d0 P' N5 S' H$ `* b9 v$ c
3.进入游戏后,按ALT+D调出调试器,按SHIFT+W打开写断点框,输入060c0061后按Enter完成写断点设置;0 T$ @+ G* ]) t& d3 S7 d9 M" q/ [

; V/ E: B0 }/ M# I1 G  P6 g1 R5 J8 \( E& R* @( G* j9 [  @
1 t  {; |* P  G2 B
4.按ALT+D退出调试器,回到游戏中死一命后调试器发生中断,程序停在0603A8CA: mov.b r1, @r2
; H+ X2 ^+ \9 f$ N6 t4 C  }
/ u7 u# \( r6 l1 S& H2 I. s$ u
4 H+ c+ X, q$ @/ z/ ]' x; b7 w7 O/ [2 ?& @7 S* g- d
5.接下来分析一下:
) j/ C; a+ _" g, c+ p$ x0603A8C6: mov.b @r2, r1        把r2寄存器地址的数据传递到r1
& l3 f3 b  o( Q* [0603A8C8: add #-1, r1                把-1数值和寄存器r1相加,结果存入r1寄存器& q7 F+ a; M& H5 a
0603A8CA: mov.b r1, @r2        把r1寄存器的数据传递到r2寄存器的地址里: E3 |1 T8 u% L
& x: {, D6 ?* _' R7 P( t
6.只要把0603A8C8: add #-1, r1指令nop掉就飞机数就不减,SH2汇编nop指令机械码是00 09;
4 V& ^- s: x' u" f9 C: O% B4 J& W8 ]! ]# I: h/ ~( U2 k
7.按ALT+3切换内存窗口,还记得前面说的关于SS内存区域吧,0603A8C8地址是HWRAM区域,按CTRL+→切换到High Work RAM区域,按D调出Dump Memory框,输入3A8C6 3A8E0 SS_dump.bin后按Enter,之后会在mednafen模拟器目录下生成SS_dump.bin二进制文件;
1 E4 ?# N% n. h1 _- h; j! n* e# y  h" F; `+ q

/ n) q8 ]. d5 R6 b6 [+ K
: M) P" O/ C1 b1 @7 v8.用IDA反汇编SS_dump.bin结果:5 v% @3 y5 s( H, a& ?- d
% F8 v) k4 x  L$ `  K& X: `3 K! R0 v
ROM:0603A8C6 61 20                 mov.b   @r2, r1
" {6 p4 F  x2 o$ s& F% M2 _ROM:0603A8C8 71 FF                 add     #-1, r13 L0 @/ ]3 {, X( p  N* |
ROM:0603A8CA 22 10                 mov.b   r1, @r2
& F' ?1 H! @- T! v) j1 UROM:0603A8CC 61 1E                 exts.b  r1, r1
0 ~' q  f' W6 ]% mROM:0603A8CE 41 11                 cmp/pz  r1
8 j  G1 O" }: b" AROM:0603A8D0 8F 07                 bf/s    h'603A8E2, O8 Y: Q* \! ~. Q8 U0 s
ROM:0603A8D2 E9 00                 mov     #0, r9/ ]" `' v2 l$ }% q( S- N" R
ROM:0603A8D4 61 32                 mov.l   @r3, r1
# h9 ^2 |" r  E0 |ROM:0603A8D6 D2 3E                 mov.l   #h'FFFFFFFF, r2
7 z* L$ m$ R. P: RROM:0603A8D8 21 2B                 or      r2, r1& g- K9 U/ E# ^7 `8 d2 j8 A
ROM:0603A8DA D2 3E                 mov.l   #h'FFFFFFFF, r2
  G7 M' C. W1 M  y5 r  [4 u8 j0 g% J4 e
反汇编结果得知add     #-1, r1指令机械码是71 FF  `8 c" [2 O  U( D8 @
4 c. }9 z6 X* s) k
9.用winhex打开怒首领蜂镜像,查找 16进制数据“612071FF2210611E41118F07E9006132D23E212BD23E2129A06523”;  Q% G0 r6 `2 f+ \
' W3 W9 _' p- \7 ^+ F) c. ~1 e
- Z+ O4 P+ P' _2 O0 s4 R( N! f5 c

; I% X* ^" }0 R+ C10.把71 FF修改为00 09,另存为镜像,我不建议覆盖镜像,而是另存为镜像,怕万一改错了引致镜像损坏。& y7 r4 j+ [& I+ v! k5 I
( |! ]' w' }8 z9 h& ~

. X- P! j- p: l$ h  `
$ I/ P5 q; s* ?2 A# E11.用mednafen载入修改过的SS怒首领蜂镜像,如飞机数不减说明修改成功。
$ `% d1 b! Z( a' W4 i- }9 Y" x1 ^5 W/ L/ X

. W: P2 g% b% V9 T3 T- J0 h# O& {5 V( T3 n1 P" Q- y
12.要刻盘在主机玩请先用ECCREGEN 1.41修复修改过的镜像EDC\ECC。2 G+ T7 E* V" ~  ?+ K4 y
" F. g; W4 F# M/ P; a
疾风之狼
: b( @& }* R9 g8 E' X2025.06.29

本帖子中包含更多资源

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

x

评分

4

查看全部评分

签到天数: 762 天

[LV.10]以坛为家III

发表于 2025-6-29 18:07:07 | 显示全部楼层
修改这些CD游戏
2 O6 o- @, d" C4 x! ?, K, \) e还是用金手指简单点
回复 支持 反对

使用道具 举报

签到天数: 644 天

[LV.9]以坛为家II

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

使用道具 举报

签到天数: 1657 天

[LV.Master]伴坛终老

发表于 2025-6-29 22:36:28 | 显示全部楼层
感谢老大分享
回复 支持 反对

使用道具 举报

签到天数: 839 天

[LV.10]以坛为家III

发表于 2025-6-30 10:49:56 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

签到天数: 861 天

[LV.10]以坛为家III

发表于 2025-8-8 16:07:54 | 显示全部楼层
大佬威武,學會了一點
. |# Z+ O7 ]) M+ ]0 y" c' c
" n) C' c; r  c: L3 o" S& y

本帖子中包含更多资源

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

x
[发帖际遇]: foxshen摆地摊卖菜,占道经营被城管罚款 2 个 柠檬. 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

头像被屏蔽

签到天数: 7 天

[LV.3]偶尔看看II

发表于 2025-8-10 00:15:25 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
[发帖际遇]: xy4444 乐于助人,奖励 4 个 柠檬. 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

签到天数: 1242 天

[LV.10]以坛为家III

发表于 2025-8-10 22:52:26 | 显示全部楼层
哈!很棒很不錯的教學,我也要來看看
[发帖际遇]: lucifer666整理箱子竟然翻出了 8 个 柠檬. 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

签到天数: 9 天

[LV.3]偶尔看看II

发表于 2025-8-12 12:59:07 | 显示全部楼层
; L3 Q. d; S. e9 j) x$ U
谢谢分享: D9 \' L: c3 y  [( r
回复 支持 反对

使用道具 举报

签到天数: 69 天

[LV.6]常住居民II

发表于 2025-8-12 22:45:51 | 显示全部楼层
虽然看不懂还是支持一下
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-3 22:52 , Processed in 1.085937 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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