EMU618社区

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

[原创HACK教程] SS HACK教学

[复制链接]

签到天数: 2049 天

[LV.Master]伴坛终老

发表于 2025-6-29 17:13:19 | 显示全部楼层 |阅读模式
游戏:SS怒首领蜂. \7 `* Q# Z$ ?2 H6 W& p  ^  G

2 f- {" S( a- c1 S) \  R( _( Z& G! e使用调试器:mednafen% p2 U0 q& O$ Z7 A, Z  G1 t

6 G& u" f5 X, B$ m1 h反汇编工具:IDA
6 H! o& G( e! A- X- b% {/ D8 h' d9 q2 J& F8 m  E
16进制编辑器:winhex或其他16进制编辑器- g1 U/ c! `0 f6 o/ g) ~  S

2 C/ V6 n1 n% k+ M5 vmednafen是多机种模拟器,模拟器是通过命令行方式加载游戏,当然你也可以通过前端方式加载游戏,关于mednafen的前端太多,请自行寻找。
* }. E$ k1 D  r1 ]- c9 I' r% j+ y
关于SS CPU:
, j% G+ p: o: z' Y: iSS是使用日立SH2作为CPU,关于SH2指令集请自行百度或bing查找。
/ d0 Z6 }* _# {
7 G6 x% |) E# C* @1 a5 [7 I5 v关于SS内存区域:
1 p1 }( _. c5 t4 `7 r7 c5 WLWRAM 0x00200000~0x002FFFFF
0 x! p& G) X* _- }/ g) R
9 E1 I# k; L' yHWRAM 0x06000000~0x060FFFFF
: ~2 B0 Q" U$ R1 f- I8 C
, _" y7 ?& Q- z: V9 r68K RAM 0x05A00000~0x05AFFFFF
  P  U% T- ^. E/ C3 J( w7 s: q/ }6 ^: m; }5 p2 Y% F4 b# Z/ y! x9 N5 f
1.下载mednafen解压后,运行一次mednafen.exe,生成mednafen.cfg文件,用记事本之类文本编辑工具打开mednafen.cfg,查找全部debugger.disfontsize 5x7,全部替换为debugger.disfontsize 9x18并保存,不这样改调试器显示字体太小。
: s& w$ ~  n. E% Q  w$ |5 H7 I, i9 \; E% l# g
关于mednafen调试器用法请参考mednafen模拟器目录下Documentation目录里debugger.html文档。9 K" X2 Q' e7 E) q

2 J; W, M, D: G6 j/ U7 P2.用mednafen加载SS怒首领蜂,进入游戏后第一步是查找1P飞机数,查找过程略过,我找到1P飞机数地址:0x060c0061: l1 d0 O* e' _9 ~6 Y( W

) _* b3 p1 t) w6 t+ x# b3.进入游戏后,按ALT+D调出调试器,按SHIFT+W打开写断点框,输入060c0061后按Enter完成写断点设置;! u7 Y' a8 U) m) X3 ?# {

2 \& R( ?$ p5 Z* t+ M. m2 [
' `+ K9 Y. p3 P* a0 W+ U. k" A5 n( M5 ^) M
4.按ALT+D退出调试器,回到游戏中死一命后调试器发生中断,程序停在0603A8CA: mov.b r1, @r2  W4 ]; z( O0 W0 y: x: I7 J% C
; J8 g1 p/ q. I% M7 h6 V* Z$ B

1 W* V$ T4 l1 O/ r% j* `( m" Z  R) {) M$ k
5.接下来分析一下:7 _" {) [6 D  `; j5 i6 E" |) h6 K8 C
0603A8C6: mov.b @r2, r1        把r2寄存器地址的数据传递到r1
3 U9 ]. w1 t. p: k( y0603A8C8: add #-1, r1                把-1数值和寄存器r1相加,结果存入r1寄存器
/ O5 ^* Z; S, V9 X0603A8CA: mov.b r1, @r2        把r1寄存器的数据传递到r2寄存器的地址里
8 |; P9 [  X& s  _! m* @  p& `4 m4 K
6.只要把0603A8C8: add #-1, r1指令nop掉就飞机数就不减,SH2汇编nop指令机械码是00 09;
! T8 h  @4 _. q& P+ i6 d8 q, J! L: v' R' x
7.按ALT+3切换内存窗口,还记得前面说的关于SS内存区域吧,0603A8C8地址是HWRAM区域,按CTRL+→切换到High Work RAM区域,按D调出Dump Memory框,输入3A8C6 3A8E0 SS_dump.bin后按Enter,之后会在mednafen模拟器目录下生成SS_dump.bin二进制文件;
4 X1 V; J+ O) X. a* T' @  W* X, r7 V2 o: E! c
; H( U. V* X/ w$ k& I
6 c1 ]$ Q$ Q4 C+ M# L2 d0 N9 R  Y7 r
8.用IDA反汇编SS_dump.bin结果:
& p' C0 g2 e: Q; }9 D+ H5 m' K: k- |5 n) h7 Q2 P6 R) }4 o
ROM:0603A8C6 61 20                 mov.b   @r2, r1
! _5 b, ^2 [1 S. B! d- MROM:0603A8C8 71 FF                 add     #-1, r1
7 T+ R: _$ ~7 X2 n3 R8 zROM:0603A8CA 22 10                 mov.b   r1, @r21 G# X$ y0 t& q
ROM:0603A8CC 61 1E                 exts.b  r1, r1
" x$ v' ~, m2 PROM:0603A8CE 41 11                 cmp/pz  r1
  G6 w" A' U  b0 oROM:0603A8D0 8F 07                 bf/s    h'603A8E2; l3 L* A7 c7 X* t9 }
ROM:0603A8D2 E9 00                 mov     #0, r9, y% X4 E6 f  m1 D$ \3 o) _0 n* a
ROM:0603A8D4 61 32                 mov.l   @r3, r1( W8 M: P3 L- V
ROM:0603A8D6 D2 3E                 mov.l   #h'FFFFFFFF, r2
4 o& S" S7 u: n7 [+ z4 Z0 \ROM:0603A8D8 21 2B                 or      r2, r1( c/ I6 P; T1 p( f, d( W" x
ROM:0603A8DA D2 3E                 mov.l   #h'FFFFFFFF, r2
4 \+ q' B/ b5 R7 @
0 {: y) v, }: X1 }5 A# T  ^- {; q反汇编结果得知add     #-1, r1指令机械码是71 FF
- b* @/ ~; F( i" T, Y% S: f* p1 N$ ^* }% y7 P
9.用winhex打开怒首领蜂镜像,查找 16进制数据“612071FF2210611E41118F07E9006132D23E212BD23E2129A06523”;# u" q7 [4 }/ }) E

) B6 v, q& y, }- D) O7 ?$ b% u# {& e- c7 g' w/ b9 L/ n
9 ?: N5 Y& b( a! N2 x
10.把71 FF修改为00 09,另存为镜像,我不建议覆盖镜像,而是另存为镜像,怕万一改错了引致镜像损坏。
6 Y6 P% `" J6 ?3 M8 F- h
3 i1 F* ^7 R8 B; _! F7 u; m6 p! D1 O3 N+ U9 X5 D  J, j: Q

1 o+ N3 B7 ?$ B9 |& E11.用mednafen载入修改过的SS怒首领蜂镜像,如飞机数不减说明修改成功。
0 `/ X9 a$ `8 l
% `$ l8 y* Z  x, w5 M6 J3 x/ W& j  M2 \
/ I' V8 y2 j* G! v$ r# r
12.要刻盘在主机玩请先用ECCREGEN 1.41修复修改过的镜像EDC\ECC。
  {. j; e$ m8 h3 H  f6 {
+ ?) u3 d: [* t/ q/ `
疾风之狼
6 ~& O: G3 I, Z& Y' ^1 X2 U, O3 v2025.06.29

本帖子中包含更多资源

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

x

评分

4

查看全部评分

签到天数: 691 天

[LV.9]以坛为家II

发表于 2025-6-29 18:07:07 | 显示全部楼层
修改这些CD游戏
" `6 c& Q/ F+ U7 r还是用金手指简单点
回复 支持 反对

使用道具 举报

签到天数: 632 天

[LV.9]以坛为家II

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

使用道具 举报

签到天数: 1586 天

[LV.Master]伴坛终老

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

使用道具 举报

签到天数: 785 天

[LV.10]以坛为家III

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

使用道具 举报

签到天数: 799 天

[LV.10]以坛为家III

发表于 2025-8-8 16:07:54 | 显示全部楼层
大佬威武,學會了一點
" c/ u, n5 B5 I: W5 l( Z& e
9 `( {+ d/ ?  n% i4 N0 e9 S

本帖子中包含更多资源

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

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

使用道具 举报

头像被屏蔽

签到天数: 7 天

[LV.3]偶尔看看II

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

使用道具 举报

签到天数: 1182 天

[LV.10]以坛为家III

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

使用道具 举报

签到天数: 8 天

[LV.3]偶尔看看II

发表于 2025-8-12 12:59:07 | 显示全部楼层
0 a3 z3 p( o% a: u- n
谢谢分享
* ^1 V# K' C& f* U% d
回复 支持 反对

使用道具 举报

签到天数: 57 天

[LV.5]常住居民I

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-24 18:17 , Processed in 1.107422 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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