EMU618社区

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

[原创HACK教程] SS HACK教学

[复制链接]

签到天数: 2121 天

[LV.Master]伴坛终老

发表于 2025-6-29 17:13:19 | 显示全部楼层 |阅读模式
游戏:SS怒首领蜂
( v( W- `4 P( U& l% ?# o* z# ?6 k7 R  @) N2 d
使用调试器:mednafen
; }0 x! T* ]5 l8 A( t# i, t/ C3 {7 ?# H
反汇编工具:IDA0 U: z* P2 ^+ i5 Y( x
+ a6 k+ y' R' J/ o+ _
16进制编辑器:winhex或其他16进制编辑器% ?$ P: t- |4 D/ [. q# `+ V
: y# ~& s5 l. V+ u+ d: X7 I# u
mednafen是多机种模拟器,模拟器是通过命令行方式加载游戏,当然你也可以通过前端方式加载游戏,关于mednafen的前端太多,请自行寻找。
5 O& _7 \* @3 p& t( A+ \$ n5 F$ o, s3 V
关于SS CPU:
! n5 _9 X; `7 B' @SS是使用日立SH2作为CPU,关于SH2指令集请自行百度或bing查找。
) s* X, F4 K. |6 l! H! N4 `% L: e5 M8 d4 P
关于SS内存区域:
. w2 g" @$ B3 \7 ]! k; f" ?+ QLWRAM 0x00200000~0x002FFFFF* j3 q! C6 B. L

. z/ ~/ i& T, b" L$ E5 }9 P7 AHWRAM 0x06000000~0x060FFFFF" g3 g( R  d8 `
8 b5 J7 C" N2 G  b9 e/ D
68K RAM 0x05A00000~0x05AFFFFF: S/ D1 q; b+ H1 {2 f
1 H6 _) X$ w8 @; N9 P+ g
1.下载mednafen解压后,运行一次mednafen.exe,生成mednafen.cfg文件,用记事本之类文本编辑工具打开mednafen.cfg,查找全部debugger.disfontsize 5x7,全部替换为debugger.disfontsize 9x18并保存,不这样改调试器显示字体太小。
' W# d, q9 q2 h4 Q: S. B; R8 n8 I+ K
关于mednafen调试器用法请参考mednafen模拟器目录下Documentation目录里debugger.html文档。
1 n1 o& i  o8 G1 x7 G; U. J8 r2 e: d; I5 Q; I) I* w5 y7 I
2.用mednafen加载SS怒首领蜂,进入游戏后第一步是查找1P飞机数,查找过程略过,我找到1P飞机数地址:0x060c00618 ~8 @  |" ]& M: n0 ], C7 o/ j

- b+ J5 D3 F0 j. l2 O3.进入游戏后,按ALT+D调出调试器,按SHIFT+W打开写断点框,输入060c0061后按Enter完成写断点设置;
: z& z0 i. g: K* H
% A1 C+ b' T# Q$ Z7 k: q! o( U' @, O% i) m) {( A1 ^; y0 W: C

" v, x* L0 F' I2 K# ?$ B4.按ALT+D退出调试器,回到游戏中死一命后调试器发生中断,程序停在0603A8CA: mov.b r1, @r2
' @; l$ P" h: {) E! [9 z8 f
% d2 f9 Z4 T; F' P* k* g) H) d% h( E% b3 D3 A6 `

# o: V  ]7 h# ?4 e, }! _5.接下来分析一下:2 d/ d$ D( d$ J& s
0603A8C6: mov.b @r2, r1        把r2寄存器地址的数据传递到r1
# N* R6 P: J% }4 g& M  _/ @0603A8C8: add #-1, r1                把-1数值和寄存器r1相加,结果存入r1寄存器$ h: H: C* Y- g* ~
0603A8CA: mov.b r1, @r2        把r1寄存器的数据传递到r2寄存器的地址里
+ W+ Q6 ^6 D# \6 p( T7 {
( f, q$ \0 o$ f0 o1 ]" @7 J- p" D+ Y6.只要把0603A8C8: add #-1, r1指令nop掉就飞机数就不减,SH2汇编nop指令机械码是00 09;
+ d2 g+ N+ F9 F* L6 M0 s
$ @8 X) O2 R6 R! ]5 ]& \7.按ALT+3切换内存窗口,还记得前面说的关于SS内存区域吧,0603A8C8地址是HWRAM区域,按CTRL+→切换到High Work RAM区域,按D调出Dump Memory框,输入3A8C6 3A8E0 SS_dump.bin后按Enter,之后会在mednafen模拟器目录下生成SS_dump.bin二进制文件;
8 y2 y2 _  a( |7 {$ y/ Z) i: ]5 E& T" J7 V

' s1 X3 U. R6 L1 ], O
. z9 q- y+ k. p8.用IDA反汇编SS_dump.bin结果:/ B, C' o' p9 I( s3 N5 d' V

: Z3 B0 N' {+ H$ LROM:0603A8C6 61 20                 mov.b   @r2, r1
" Y# X% y& L! ?4 x* zROM:0603A8C8 71 FF                 add     #-1, r1
+ e; V  a! B3 U( p- a  g4 q$ EROM:0603A8CA 22 10                 mov.b   r1, @r2
, h% M; u! O' ~0 M( b# u! ?ROM:0603A8CC 61 1E                 exts.b  r1, r1# x  S* `+ h' a+ d5 U; y  [! g
ROM:0603A8CE 41 11                 cmp/pz  r1
0 u* `* \/ E$ X8 _6 D- yROM:0603A8D0 8F 07                 bf/s    h'603A8E2
& B# o0 h6 `7 x0 l0 PROM:0603A8D2 E9 00                 mov     #0, r9
0 U0 N5 v9 B1 F9 w3 C+ U0 ?ROM:0603A8D4 61 32                 mov.l   @r3, r1
3 m, q6 w3 o7 A; J2 rROM:0603A8D6 D2 3E                 mov.l   #h'FFFFFFFF, r2
+ U( ?. [5 f% i# X% R; |ROM:0603A8D8 21 2B                 or      r2, r1
$ ^3 w, F  x( E& p4 |2 TROM:0603A8DA D2 3E                 mov.l   #h'FFFFFFFF, r2; F+ Y: D: m, V8 C$ ?8 @( i

5 m2 G+ j( Z% c! A& K" I反汇编结果得知add     #-1, r1指令机械码是71 FF% {; t% t( H, P: ]

$ q% v- @) `5 Y% z' ]7 o9.用winhex打开怒首领蜂镜像,查找 16进制数据“612071FF2210611E41118F07E9006132D23E212BD23E2129A06523”;
- `8 R' K8 b# b( K6 ?: g9 e# Y5 y/ v2 z' D6 P6 U  |; F! E& R

% {+ S7 z$ E7 c3 d; |- h& {/ {. I. _: f# u& _$ ?: U0 g: {
10.把71 FF修改为00 09,另存为镜像,我不建议覆盖镜像,而是另存为镜像,怕万一改错了引致镜像损坏。6 Z" C- w! x  `$ Y& q) }& v$ i
$ R" W/ s; M- b. k/ s7 A
- }6 J) s. o& K% B0 l

/ U' y# ]7 l4 |& F; U% }' E; {: O11.用mednafen载入修改过的SS怒首领蜂镜像,如飞机数不减说明修改成功。. z( S. k* G9 b9 ]' _

. J( Y1 y, H& Q, L$ D3 h1 u! a, U1 t  g9 }) ~

0 U) i; ~+ h+ i4 F. V12.要刻盘在主机玩请先用ECCREGEN 1.41修复修改过的镜像EDC\ECC。
2 o% i+ J( M! p& Q: y2 Y9 a7 j
- b+ z$ q1 B9 A5 D& x
疾风之狼7 g; O7 ?( T; u" G  u$ p) J
2025.06.29

本帖子中包含更多资源

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

x

评分

4

查看全部评分

签到天数: 762 天

[LV.10]以坛为家III

发表于 2025-6-29 18:07:07 | 显示全部楼层
修改这些CD游戏- U4 W; @& J2 y( z
还是用金手指简单点
回复 支持 反对

使用道具 举报

签到天数: 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 | 显示全部楼层
大佬威武,學會了一點' y# D& m# D3 o3 b
, o' I: z! C6 _) c* o; a+ K

本帖子中包含更多资源

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

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 | 显示全部楼层
0 U, [9 v9 q$ H, L: E( u/ r
谢谢分享
& ~0 G  ?9 u8 j" O
回复 支持 反对

使用道具 举报

签到天数: 69 天

[LV.6]常住居民II

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

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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