EMU618社区

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

[原创HACK教程] SS HACK教学

[复制链接]

签到天数: 2151 天

[LV.Master]伴坛终老

发表于 2025-6-29 17:13:19 | 显示全部楼层 |阅读模式
游戏:SS怒首领蜂1 U, a! |) d* e2 G- L6 {) x- b
, Z) p& s  L- s9 [: U% j. v
使用调试器:mednafen$ e9 ~( b, Y% v" `. c

$ w2 q, z6 I. U9 g9 W. h+ `反汇编工具:IDA
: r3 e/ e: W# }" ]' ~: W8 C
8 m& `, r) C9 J) d6 o16进制编辑器:winhex或其他16进制编辑器9 k& G6 ~4 G& j* M$ j2 g

' ^* ], `6 D9 x: |8 x& umednafen是多机种模拟器,模拟器是通过命令行方式加载游戏,当然你也可以通过前端方式加载游戏,关于mednafen的前端太多,请自行寻找。1 R) t0 G; t( m5 e( {$ v
7 C0 t7 W) s' T( K  G. e. j: }
关于SS CPU:4 o2 R$ @. O9 O& \' P& z6 S2 ~
SS是使用日立SH2作为CPU,关于SH2指令集请自行百度或bing查找。 4 T( G& D3 Z$ q6 p) Y

9 q  ~* `' g- f" B3 r3 Y关于SS内存区域:
$ t# H! {; ^% M& HLWRAM 0x00200000~0x002FFFFF
5 m6 w$ v/ h2 w( U- Q  I0 H: a8 B1 n5 O# o4 j0 N4 s
HWRAM 0x06000000~0x060FFFFF
8 c+ Z) U4 ?; f1 \5 r- N8 t6 T
6 d0 f7 h" b( w9 k* o68K RAM 0x05A00000~0x05AFFFFF! _% t! i& I0 s! X2 D7 G& x. L1 W) A7 [

  h: v, H* _9 H: ]. ?+ F1.下载mednafen解压后,运行一次mednafen.exe,生成mednafen.cfg文件,用记事本之类文本编辑工具打开mednafen.cfg,查找全部debugger.disfontsize 5x7,全部替换为debugger.disfontsize 9x18并保存,不这样改调试器显示字体太小。& j1 Z' N" A: H3 f: i

+ z" s6 I( [3 K* L3 c关于mednafen调试器用法请参考mednafen模拟器目录下Documentation目录里debugger.html文档。& }1 F  Z* @) `3 i

: G7 j4 n# o3 m) W! N' [2.用mednafen加载SS怒首领蜂,进入游戏后第一步是查找1P飞机数,查找过程略过,我找到1P飞机数地址:0x060c00611 @6 b# n. n! [

: P4 z0 p# w% t3 K3 a, M3.进入游戏后,按ALT+D调出调试器,按SHIFT+W打开写断点框,输入060c0061后按Enter完成写断点设置;
! U) S  K2 I  T& a6 D/ ?- s2 E( k6 L/ g. l

" ?4 D: C; l/ s2 W) v$ l
8 p$ G  @: n3 Y" L2 u6 l* t4.按ALT+D退出调试器,回到游戏中死一命后调试器发生中断,程序停在0603A8CA: mov.b r1, @r2* F" I# k, h1 h, t% n' J7 r
' v9 ~! n9 |2 {6 F/ X1 w, q
0 x2 q) u* w  `4 U& A+ A
8 M+ g9 a' M  m# T/ j: r! b
5.接下来分析一下:( C# [1 _: h% \( n' @$ |
0603A8C6: mov.b @r2, r1        把r2寄存器地址的数据传递到r1. s% o/ }5 k2 ?5 d3 Y0 K
0603A8C8: add #-1, r1                把-1数值和寄存器r1相加,结果存入r1寄存器" y( y! g) C/ m. @: e3 U
0603A8CA: mov.b r1, @r2        把r1寄存器的数据传递到r2寄存器的地址里) L3 C  E! @* ^! n; s
5 _6 k- l) Z- Q! p8 G1 b$ e, m
6.只要把0603A8C8: add #-1, r1指令nop掉就飞机数就不减,SH2汇编nop指令机械码是00 09;
* {( i7 P4 ~0 p' z3 g/ v
, |1 \8 m) _* O$ R7.按ALT+3切换内存窗口,还记得前面说的关于SS内存区域吧,0603A8C8地址是HWRAM区域,按CTRL+→切换到High Work RAM区域,按D调出Dump Memory框,输入3A8C6 3A8E0 SS_dump.bin后按Enter,之后会在mednafen模拟器目录下生成SS_dump.bin二进制文件;
# I8 ?: S/ V0 O. {% p
) B. j3 N3 F8 _. \( y, b- s9 H" P+ s2 e! S
0 j$ ]9 Z! N2 l' i( u
8.用IDA反汇编SS_dump.bin结果:
4 I& b6 n- X/ ]* k% p/ G, g, Z  n  @2 u' ?. E
ROM:0603A8C6 61 20                 mov.b   @r2, r1
4 z7 e: g% O9 p3 {0 e& r+ cROM:0603A8C8 71 FF                 add     #-1, r12 C' n% Z7 r  h& u
ROM:0603A8CA 22 10                 mov.b   r1, @r2" |* m4 O! n5 J- }1 V4 |4 m
ROM:0603A8CC 61 1E                 exts.b  r1, r1& N, \6 s2 d/ `1 w  \. V: v
ROM:0603A8CE 41 11                 cmp/pz  r17 Q* a( k# s$ l% y. H& x
ROM:0603A8D0 8F 07                 bf/s    h'603A8E2
, F, t- Q5 v' Q: FROM:0603A8D2 E9 00                 mov     #0, r9& n4 ?+ v# U+ G3 H  Z! z! H
ROM:0603A8D4 61 32                 mov.l   @r3, r1; g2 f, D) l' Q( {  E
ROM:0603A8D6 D2 3E                 mov.l   #h'FFFFFFFF, r2
% p3 |' ~' U, |. g2 h; dROM:0603A8D8 21 2B                 or      r2, r1
7 N: ?; e1 v+ l: J  s+ [ROM:0603A8DA D2 3E                 mov.l   #h'FFFFFFFF, r23 T5 i. D& o! v; H
" ?6 K/ F- O6 r
反汇编结果得知add     #-1, r1指令机械码是71 FF: s5 B6 `- k' s1 P+ ~  V
5 R, B0 f6 \2 C2 Y2 G/ M) |
9.用winhex打开怒首领蜂镜像,查找 16进制数据“612071FF2210611E41118F07E9006132D23E212BD23E2129A06523”;
( N- W4 g- a1 [0 P( A. Q6 K
) Z7 ~) E" U/ s* w- |6 R! }& [8 Y. R9 T8 K9 }* b7 }5 m7 F

8 J  R. G* s6 f3 k+ K10.把71 FF修改为00 09,另存为镜像,我不建议覆盖镜像,而是另存为镜像,怕万一改错了引致镜像损坏。$ M, z. t' m8 R8 h. b# H& k
& ^1 h# e+ C  X) |/ {0 g+ |0 l) ]
; o- y6 C$ N& N4 r

1 _$ l* w2 S  Z! r11.用mednafen载入修改过的SS怒首领蜂镜像,如飞机数不减说明修改成功。* t1 ]+ R% C  p: r7 b
& ]* e# S. c& k( K( X+ U
; q$ M3 X0 U5 }, u% E5 M

3 N  e6 W4 e; Y# w8 U5 ?12.要刻盘在主机玩请先用ECCREGEN 1.41修复修改过的镜像EDC\ECC。
2 ^6 O: \, l* @7 ?8 C
1 }- ]. L, X4 P: f
疾风之狼# n3 }6 o/ Z1 L2 ?5 ?
2025.06.29

本帖子中包含更多资源

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

x

评分

4

查看全部评分

签到天数: 794 天

[LV.10]以坛为家III

发表于 2025-6-29 18:07:07 | 显示全部楼层
修改这些CD游戏" `2 v. D- ~5 ?" @6 G
还是用金手指简单点
回复 支持 反对

使用道具 举报

签到天数: 644 天

[LV.9]以坛为家II

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

使用道具 举报

签到天数: 1688 天

[LV.Master]伴坛终老

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

使用道具 举报

签到天数: 864 天

[LV.10]以坛为家III

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

使用道具 举报

签到天数: 875 天

[LV.10]以坛为家III

发表于 2025-8-8 16:07:54 | 显示全部楼层
大佬威武,學會了一點7 v- M5 Z6 W+ l8 k8 l3 I2 U  J

! y1 p# F$ @  ?! b- E

本帖子中包含更多资源

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

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

使用道具 举报

头像被屏蔽

签到天数: 7 天

[LV.3]偶尔看看II

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

使用道具 举报

签到天数: 1245 天

[LV.10]以坛为家III

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

使用道具 举报

签到天数: 9 天

[LV.3]偶尔看看II

发表于 2025-8-12 12:59:07 | 显示全部楼层

" {6 y5 L# L5 j) M- K1 c" M% M谢谢分享, b7 _, f' g5 o& v
回复 支持 反对

使用道具 举报

签到天数: 69 天

[LV.6]常住居民II

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-5 23:37 , Processed in 1.097656 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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