EMU618社区

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

[原创HACK教程] SS HACK教学

[复制链接]

签到天数: 2100 天

[LV.Master]伴坛终老

发表于 2025-6-29 17:13:19 | 显示全部楼层 |阅读模式
游戏:SS怒首领蜂1 q: _) R4 C& a' }8 ]2 O0 A

% k) R) h4 A0 z- g, z+ @使用调试器:mednafen6 F5 K  G8 e: y5 b) [/ e$ T* ~
& I& \# E) F1 }$ P3 r
反汇编工具:IDA2 L/ _( f5 ?; ?1 H

  R9 b- M5 M' `3 x) V16进制编辑器:winhex或其他16进制编辑器
0 [. I! K% V1 k
7 j' c" L1 z, V6 cmednafen是多机种模拟器,模拟器是通过命令行方式加载游戏,当然你也可以通过前端方式加载游戏,关于mednafen的前端太多,请自行寻找。
$ O/ _2 v& Z* W5 f- L/ ]
( ]7 [7 ?7 ~4 k8 K  N+ `( y关于SS CPU:
& {% o5 Z0 F' t# N9 aSS是使用日立SH2作为CPU,关于SH2指令集请自行百度或bing查找。
) m8 ~# E, A, Q* @+ ?) e1 j2 F. p7 {( u. j
关于SS内存区域:
" q2 G6 s1 c3 |/ I. \7 V: _LWRAM 0x00200000~0x002FFFFF: S( B4 h1 @6 Z8 @

# E' `  f+ i, [! j. `0 vHWRAM 0x06000000~0x060FFFFF" Y. z9 B0 Y& U/ P. m- |

9 ?8 G' R# b) f* o& d6 ?68K RAM 0x05A00000~0x05AFFFFF2 G5 ?( D' G# e) g* A  r! ~4 K

" |0 F6 N; d. e. r+ b: D. R1.下载mednafen解压后,运行一次mednafen.exe,生成mednafen.cfg文件,用记事本之类文本编辑工具打开mednafen.cfg,查找全部debugger.disfontsize 5x7,全部替换为debugger.disfontsize 9x18并保存,不这样改调试器显示字体太小。6 ]3 M2 U$ {" A/ s

4 L0 X- ~. A8 L# b+ ^) z关于mednafen调试器用法请参考mednafen模拟器目录下Documentation目录里debugger.html文档。4 _, W8 m  N4 B% ~1 P- p+ Q
" S' `5 y# D" v  L+ g  Z
2.用mednafen加载SS怒首领蜂,进入游戏后第一步是查找1P飞机数,查找过程略过,我找到1P飞机数地址:0x060c0061
4 U2 H# }8 _; N" r. @; S- E& M+ b" j  }. ^- T" E  ]! d
3.进入游戏后,按ALT+D调出调试器,按SHIFT+W打开写断点框,输入060c0061后按Enter完成写断点设置;
# {" M) O/ ?8 C
' o! q& D: q: l1 s, l8 F! a+ ?& m5 T2 [' J

, c2 j' C+ G7 e$ H& J* M4.按ALT+D退出调试器,回到游戏中死一命后调试器发生中断,程序停在0603A8CA: mov.b r1, @r2
7 ]8 P/ t4 ~8 r; E3 h- X# Z+ W
- w# g  F! H% G, A" p% P$ g
) ^4 J2 N: g- ^2 S
, z/ V  p& x. _2 e5.接下来分析一下:( V0 J  I) r; D
0603A8C6: mov.b @r2, r1        把r2寄存器地址的数据传递到r1
  ?" r' v- Q" V. K( o* Z0603A8C8: add #-1, r1                把-1数值和寄存器r1相加,结果存入r1寄存器, S1 U2 E4 O* P, ?7 D8 V1 D0 z
0603A8CA: mov.b r1, @r2        把r1寄存器的数据传递到r2寄存器的地址里- H+ p% D$ ?0 F0 e; i% g% i

% M) w& y& t* B4 d7 D' e+ p9 L6.只要把0603A8C8: add #-1, r1指令nop掉就飞机数就不减,SH2汇编nop指令机械码是00 09;4 g; H* A* W- k+ ]6 k- \/ v- ?, _
4 e$ `+ T: F: V' W/ T- V3 C
7.按ALT+3切换内存窗口,还记得前面说的关于SS内存区域吧,0603A8C8地址是HWRAM区域,按CTRL+→切换到High Work RAM区域,按D调出Dump Memory框,输入3A8C6 3A8E0 SS_dump.bin后按Enter,之后会在mednafen模拟器目录下生成SS_dump.bin二进制文件;
) c+ N6 P1 }7 O) o$ o( O  Q3 Y
$ q, C# d/ `5 b* J0 v& g) i# f, g4 E/ @! B( q

4 w. _) W: J% |! B; }8.用IDA反汇编SS_dump.bin结果:
7 o. k) o" ?# c# S2 ]
' f* L9 i6 R# }9 x) ^ROM:0603A8C6 61 20                 mov.b   @r2, r1& ?6 K/ d- i0 F, V9 F9 Q1 F3 G( ~
ROM:0603A8C8 71 FF                 add     #-1, r1
8 B- y. Y. Z$ o; C+ W7 wROM:0603A8CA 22 10                 mov.b   r1, @r2
5 @2 F. L# _: _3 \2 N; qROM:0603A8CC 61 1E                 exts.b  r1, r1
0 v0 U% s; a3 ]0 UROM:0603A8CE 41 11                 cmp/pz  r1; ^( @! z) E% x7 X8 _, w
ROM:0603A8D0 8F 07                 bf/s    h'603A8E2
. h: z- ^2 b" m) I9 d$ I- kROM:0603A8D2 E9 00                 mov     #0, r9; e8 c/ u  Q. }$ V
ROM:0603A8D4 61 32                 mov.l   @r3, r1+ Y6 W# a8 V$ H+ W- A$ l9 X& p
ROM:0603A8D6 D2 3E                 mov.l   #h'FFFFFFFF, r2
9 E( e) I+ ^; H0 Q) L+ x; EROM:0603A8D8 21 2B                 or      r2, r1* u/ T: `, j+ i! q8 u2 J
ROM:0603A8DA D2 3E                 mov.l   #h'FFFFFFFF, r2
* Y4 O$ L# g7 z
8 M% ?. B$ ?" n5 j0 m9 M+ Y反汇编结果得知add     #-1, r1指令机械码是71 FF
, O# ~% @, ]$ q2 B: G! R
$ h# E! W8 ]1 j- K9.用winhex打开怒首领蜂镜像,查找 16进制数据“612071FF2210611E41118F07E9006132D23E212BD23E2129A06523”;+ ~. U' ?9 U3 t. d" Z

1 M9 [% u/ J* g2 y' _( x3 w$ P- Q$ }7 a1 r0 _/ H! D
" u7 ?7 A7 ]3 c* U  X4 x
10.把71 FF修改为00 09,另存为镜像,我不建议覆盖镜像,而是另存为镜像,怕万一改错了引致镜像损坏。/ v7 `# P7 ?/ C+ L/ T) L

, d+ U; |. L6 g- W" b8 Y" U# D0 B5 l3 B7 P% E5 D
- C0 p# T3 }1 v
11.用mednafen载入修改过的SS怒首领蜂镜像,如飞机数不减说明修改成功。6 r: ~& J' U" h, Q/ \$ f- ?3 z  b

" L9 c4 [+ O" P& {$ Z. ]% m/ v9 G* v: L9 k& L; r  ]0 e/ R

5 T8 p; b) k) }: v! R8 J) V1 n12.要刻盘在主机玩请先用ECCREGEN 1.41修复修改过的镜像EDC\ECC。
' ]9 @- i5 q5 L- Z2 C  D9 G; b# K. F2 l  v( K/ k) g  e& A$ j0 [( P4 b
疾风之狼
! O/ r3 ?/ q" V  v6 Q2025.06.29

本帖子中包含更多资源

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

x

评分

4

查看全部评分

签到天数: 742 天

[LV.9]以坛为家II

发表于 2025-6-29 18:07:07 | 显示全部楼层
修改这些CD游戏
7 O! W5 ]& l0 _" X  ]9 j; m还是用金手指简单点
回复 支持 反对

使用道具 举报

签到天数: 644 天

[LV.9]以坛为家II

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

使用道具 举报

签到天数: 1637 天

[LV.Master]伴坛终老

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

使用道具 举报

签到天数: 823 天

[LV.10]以坛为家III

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

使用道具 举报

签到天数: 843 天

[LV.10]以坛为家III

发表于 2025-8-8 16:07:54 | 显示全部楼层
大佬威武,學會了一點
: ?% t, S) w$ a: g
3 d; E( Z" V: E2 ^  k1 f

本帖子中包含更多资源

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

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

使用道具 举报

头像被屏蔽

签到天数: 7 天

[LV.3]偶尔看看II

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

使用道具 举报

签到天数: 1227 天

[LV.10]以坛为家III

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

使用道具 举报

签到天数: 9 天

[LV.3]偶尔看看II

发表于 2025-8-12 12:59:07 | 显示全部楼层
7 U, E7 S' w  z+ C
谢谢分享# G, I1 o3 f+ {) p- Z. j
回复 支持 反对

使用道具 举报

签到天数: 69 天

[LV.6]常住居民II

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-14 17:53 , Processed in 1.054687 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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