EMU618社区

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

[原创HACK教程] SS HACK教学

[复制链接]

签到天数: 2121 天

[LV.Master]伴坛终老

发表于 2025-6-29 17:13:19 | 显示全部楼层 |阅读模式
游戏:SS怒首领蜂& ]4 Y) l  @/ J# G/ u0 ^
7 ^6 M2 w( A5 A0 C8 \2 ~0 t
使用调试器:mednafen
9 P6 i+ C% R9 f2 b& n9 M* L8 I, O' _7 w
6 A4 r$ I1 y) E反汇编工具:IDA
; G" U3 g# m% \7 W. L8 C
, `6 a, e; t6 Y9 A# q$ g: R2 N4 f9 R; y$ S16进制编辑器:winhex或其他16进制编辑器
: E! d' x4 J" G& x+ X+ I; E- p' m) R9 ?' I
mednafen是多机种模拟器,模拟器是通过命令行方式加载游戏,当然你也可以通过前端方式加载游戏,关于mednafen的前端太多,请自行寻找。
  m2 ^6 t1 u1 C+ k5 @4 s& I" q4 E0 h, J$ v( N) m
关于SS CPU:
1 O9 L' Z% m2 D& L- e4 J3 N; @9 Q4 NSS是使用日立SH2作为CPU,关于SH2指令集请自行百度或bing查找。 ) G% _0 k! Z, W& t5 |* L
* T8 o( V4 U% b0 m* C1 h# x
关于SS内存区域:
- L/ U2 v0 ^6 g* b' iLWRAM 0x00200000~0x002FFFFF8 F! v( p) O9 O7 E- D

* s- V. K- O; |4 y5 ^! BHWRAM 0x06000000~0x060FFFFF- o! W* }6 d; d0 z; l! d) o
( `/ N) m* b8 }$ u
68K RAM 0x05A00000~0x05AFFFFF
& t5 X, @0 Y% m) c3 @! Y3 V
! F+ p2 y& z0 w. p& K+ s+ f3 e1.下载mednafen解压后,运行一次mednafen.exe,生成mednafen.cfg文件,用记事本之类文本编辑工具打开mednafen.cfg,查找全部debugger.disfontsize 5x7,全部替换为debugger.disfontsize 9x18并保存,不这样改调试器显示字体太小。
8 ^- ^. s# x6 I0 n5 Y2 }0 t$ x: T/ f# T" j6 G. q
关于mednafen调试器用法请参考mednafen模拟器目录下Documentation目录里debugger.html文档。/ b) w# G2 A# l) y# b2 i) _

9 L3 Y- a. C6 ]9 U' F  y2.用mednafen加载SS怒首领蜂,进入游戏后第一步是查找1P飞机数,查找过程略过,我找到1P飞机数地址:0x060c0061
3 w/ e& [: C$ V: Y# v+ f4 J9 C; @2 n1 s% D. {9 P1 G+ {+ {
3.进入游戏后,按ALT+D调出调试器,按SHIFT+W打开写断点框,输入060c0061后按Enter完成写断点设置;
3 Z6 w& q1 q) Q; Q1 I: m/ q' E; s( L, s4 q2 I3 G
0 Z. B/ g' U/ b6 S+ b, c8 i5 s
: ^) b0 h( s/ m/ S! k0 X" h
4.按ALT+D退出调试器,回到游戏中死一命后调试器发生中断,程序停在0603A8CA: mov.b r1, @r2+ I5 u) y: n6 M- c0 z" ?6 c6 x
/ n" T6 m8 V& t9 s2 j
0 U0 U( H1 \9 i: _! v, X2 `* ?
9 }7 Q' z1 h% b2 u- r- g  F
5.接下来分析一下:
2 }4 b- d" N3 }! c4 [0603A8C6: mov.b @r2, r1        把r2寄存器地址的数据传递到r1
' A* k0 q- r3 }: J8 U, |$ e8 z0603A8C8: add #-1, r1                把-1数值和寄存器r1相加,结果存入r1寄存器
2 n1 G3 U3 }/ d/ ^+ U0 r4 z  X4 l0603A8CA: mov.b r1, @r2        把r1寄存器的数据传递到r2寄存器的地址里: A- i4 K- S( x6 ^
% `2 A2 Y; O; |; L9 E8 I
6.只要把0603A8C8: add #-1, r1指令nop掉就飞机数就不减,SH2汇编nop指令机械码是00 09;) |& \7 R; _0 p. r, ?  r! u7 d2 Z# M  q/ o& T
- t9 t% A6 C& E$ K
7.按ALT+3切换内存窗口,还记得前面说的关于SS内存区域吧,0603A8C8地址是HWRAM区域,按CTRL+→切换到High Work RAM区域,按D调出Dump Memory框,输入3A8C6 3A8E0 SS_dump.bin后按Enter,之后会在mednafen模拟器目录下生成SS_dump.bin二进制文件;
! X4 x5 f/ b2 |5 q3 H" M$ p" q8 h2 I& g2 ^) A  h
( b$ m5 w0 `, s& B' \" f
; B6 [+ a/ _7 ]* Q' X- s
8.用IDA反汇编SS_dump.bin结果:
7 I! t' @  c: n: }9 W3 G
& A  s$ _- T. P6 a) v4 i3 i4 Q& ZROM:0603A8C6 61 20                 mov.b   @r2, r19 d( n- W8 A$ g9 N
ROM:0603A8C8 71 FF                 add     #-1, r1
- z* e  K+ c9 h8 R9 }% N) k4 M& NROM:0603A8CA 22 10                 mov.b   r1, @r2- b1 |. B( m. `" L
ROM:0603A8CC 61 1E                 exts.b  r1, r1( }5 \5 ~  ^- N* K
ROM:0603A8CE 41 11                 cmp/pz  r17 {, h5 j. x4 J8 L* N  T. K" r, C7 e
ROM:0603A8D0 8F 07                 bf/s    h'603A8E2! t/ v7 S' O$ Q- C$ Q" b
ROM:0603A8D2 E9 00                 mov     #0, r9' ~& d* U% u& H
ROM:0603A8D4 61 32                 mov.l   @r3, r1, C5 w( W- G: j4 b8 E
ROM:0603A8D6 D2 3E                 mov.l   #h'FFFFFFFF, r2
0 H% e! f* }  {' i6 nROM:0603A8D8 21 2B                 or      r2, r1
* Q4 }2 A6 v3 BROM:0603A8DA D2 3E                 mov.l   #h'FFFFFFFF, r2
. Y* i& @9 i* [- ]$ R. X5 J' o9 p
9 b$ X' f; @9 ?$ U, T. W& D反汇编结果得知add     #-1, r1指令机械码是71 FF: l2 D, w$ ~: @6 S) v( e- C1 i. L
% a/ [8 e2 D8 Z
9.用winhex打开怒首领蜂镜像,查找 16进制数据“612071FF2210611E41118F07E9006132D23E212BD23E2129A06523”;2 H  z9 {( ^- |
3 F& X, O6 g1 {0 a3 e( Y
9 y" c4 Y# k4 [9 [

4 |) h" h3 o+ E4 O3 V& B$ y10.把71 FF修改为00 09,另存为镜像,我不建议覆盖镜像,而是另存为镜像,怕万一改错了引致镜像损坏。
' |; q( e, D8 j! W( q# v2 o( o: d/ y9 n2 y" @' `. a
2 i. M' b+ Y5 Q6 @* Q1 g/ a3 c

( A: [" _3 s4 n/ S8 }4 O11.用mednafen载入修改过的SS怒首领蜂镜像,如飞机数不减说明修改成功。) @5 e; b! W3 A  h& w

3 ~! e6 H/ K! ?# m6 ?
' [) V9 F6 S1 `5 X, `6 ]/ Z. Y
, t0 P) T) ?0 |# g1 B6 F0 c/ ^; D12.要刻盘在主机玩请先用ECCREGEN 1.41修复修改过的镜像EDC\ECC。
8 ]9 s* \) ~/ N  l! O6 J% t- X# `. z! i$ B4 d7 b0 v/ q" Q* m6 V! F
疾风之狼# M# _! v" n* ]8 {
2025.06.29

本帖子中包含更多资源

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

x

评分

4

查看全部评分

签到天数: 762 天

[LV.10]以坛为家III

发表于 2025-6-29 18:07:07 | 显示全部楼层
修改这些CD游戏
- V4 g8 K/ I6 w6 W( B/ N' J1 _还是用金手指简单点
回复 支持 反对

使用道具 举报

签到天数: 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 | 显示全部楼层
大佬威武,學會了一點/ j9 t. Y- z" q4 v7 K+ _

' F$ x8 }# ~' S$ V

本帖子中包含更多资源

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

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 | 显示全部楼层

& N" l* f9 V+ j谢谢分享
2 P/ g$ w! a+ \3 t% Y, X% P! F1 ]
回复 支持 反对

使用道具 举报

签到天数: 69 天

[LV.6]常住居民II

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-4 02:30 , Processed in 1.070313 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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