EMU618社区

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

[原创HACK教程] SS HACK教学

[复制链接]

签到天数: 2042 天

[LV.Master]伴坛终老

发表于 2025-6-29 17:13:19 | 显示全部楼层 |阅读模式
游戏:SS怒首领蜂( W, H, P5 X+ }: E0 W! B
7 a! ^' P# U2 P' H1 U4 x2 J
使用调试器:mednafen( u0 K7 E) R4 U" L% T
( A! Q2 B% h" [
反汇编工具:IDA
0 r  D& v7 Z+ t7 m: F: C) w4 V) c/ w. a* J5 b9 o, T1 A
16进制编辑器:winhex或其他16进制编辑器$ P# L1 V6 O; G, k# R: b  O3 W

# U" q: J! G5 m0 @5 Emednafen是多机种模拟器,模拟器是通过命令行方式加载游戏,当然你也可以通过前端方式加载游戏,关于mednafen的前端太多,请自行寻找。% a8 u! y% A6 e  d6 |' R
; b  j0 P" V* W' q3 H) [$ H4 |
关于SS CPU:
7 z4 }& k  K3 R. {- L7 ]  zSS是使用日立SH2作为CPU,关于SH2指令集请自行百度或bing查找。 0 u2 i3 ^- W0 W5 ?/ b

8 f, |4 @2 K% X( [' r, H关于SS内存区域:) [4 t& ]1 c; _5 T1 Y  ^- V
LWRAM 0x00200000~0x002FFFFF
1 h' P+ D! s  a/ J7 ~0 q, j1 D5 E4 N; s/ q9 ]9 C3 d
HWRAM 0x06000000~0x060FFFFF# K1 m# z0 z* j8 R% b# m, K

# u: d8 T* M" O, ^' H68K RAM 0x05A00000~0x05AFFFFF
6 q+ _# Z" w% _' m. i+ ?) d+ a/ c# H# s6 M) ]
1.下载mednafen解压后,运行一次mednafen.exe,生成mednafen.cfg文件,用记事本之类文本编辑工具打开mednafen.cfg,查找全部debugger.disfontsize 5x7,全部替换为debugger.disfontsize 9x18并保存,不这样改调试器显示字体太小。
" k) M. _( T' ^! i8 q
, l3 J8 w! X6 d9 _! Y& {关于mednafen调试器用法请参考mednafen模拟器目录下Documentation目录里debugger.html文档。
+ B- f3 f  @6 k' H. ]; m3 C& k1 m& E. U5 `
2.用mednafen加载SS怒首领蜂,进入游戏后第一步是查找1P飞机数,查找过程略过,我找到1P飞机数地址:0x060c0061
7 ~! U& ]! k- v, T! V' H8 l7 c* t/ z- d1 d
3.进入游戏后,按ALT+D调出调试器,按SHIFT+W打开写断点框,输入060c0061后按Enter完成写断点设置;$ x" t6 N0 Q  V# {! R( L- J) `/ B
, L2 {. s% c9 l- D" @& _' Y

0 g8 O" P6 w$ J. J4 {1 F) D# T# i8 z* b6 W
4.按ALT+D退出调试器,回到游戏中死一命后调试器发生中断,程序停在0603A8CA: mov.b r1, @r2
( `, T- L3 \% V# ^1 O) P! L9 j, ]7 I8 r* ?4 O' D) B

' [; f2 }% e- Q0 X2 Q. h4 N& K# v0 M% b# W2 r
5.接下来分析一下:
% Z- s' N6 M' n5 }# j% u0603A8C6: mov.b @r2, r1        把r2寄存器地址的数据传递到r1
( i6 ^: t& G: m, j8 m$ i0603A8C8: add #-1, r1                把-1数值和寄存器r1相加,结果存入r1寄存器3 y" `- p  h7 b- v( }5 O- J
0603A8CA: mov.b r1, @r2        把r1寄存器的数据传递到r2寄存器的地址里0 T" P6 {5 a1 o3 V& v
- \' \- x& K( O0 y7 \* n' F! z: ?
6.只要把0603A8C8: add #-1, r1指令nop掉就飞机数就不减,SH2汇编nop指令机械码是00 09;
. q  m5 ^( V8 W3 H
; t5 p0 M1 C* S5 T! f7.按ALT+3切换内存窗口,还记得前面说的关于SS内存区域吧,0603A8C8地址是HWRAM区域,按CTRL+→切换到High Work RAM区域,按D调出Dump Memory框,输入3A8C6 3A8E0 SS_dump.bin后按Enter,之后会在mednafen模拟器目录下生成SS_dump.bin二进制文件;
( Z; w+ ~0 R3 r$ G! R
5 y2 S4 @- c! b8 S" @
7 _4 ?) `6 p. x0 {0 c& l' {! B4 x1 Y: r
8.用IDA反汇编SS_dump.bin结果:8 k2 Y' h# ^* d/ M/ Y' x
: {2 h. q6 Y9 F9 C  K9 ~. `
ROM:0603A8C6 61 20                 mov.b   @r2, r11 l" I9 E: I. }) l, x: ]
ROM:0603A8C8 71 FF                 add     #-1, r1' m8 d* ^4 o# t1 w& t/ V' K# ?
ROM:0603A8CA 22 10                 mov.b   r1, @r2; e; N9 I4 J2 t# f: J2 \
ROM:0603A8CC 61 1E                 exts.b  r1, r1' n) z- z  H% |) F, U
ROM:0603A8CE 41 11                 cmp/pz  r1. q& q( _& V. \- s. {# C- p
ROM:0603A8D0 8F 07                 bf/s    h'603A8E2
! B$ f  Q9 T4 R8 n# v0 pROM:0603A8D2 E9 00                 mov     #0, r9' ]/ o/ c$ U! ~0 D2 s5 D
ROM:0603A8D4 61 32                 mov.l   @r3, r1
( q, N& V( W7 CROM:0603A8D6 D2 3E                 mov.l   #h'FFFFFFFF, r2
8 S5 H0 ?5 Z# ~/ A( X8 KROM:0603A8D8 21 2B                 or      r2, r11 h: t) m* v! ]- k2 B# J
ROM:0603A8DA D2 3E                 mov.l   #h'FFFFFFFF, r2
. j3 S0 l- t6 G" [+ o0 t
4 ]# ~; T0 s8 s! i" s# K反汇编结果得知add     #-1, r1指令机械码是71 FF
. U( l# W( @- _* c
: y+ q4 m: l0 c; ~, ~9.用winhex打开怒首领蜂镜像,查找 16进制数据“612071FF2210611E41118F07E9006132D23E212BD23E2129A06523”;
( H) s7 I: \5 x0 j7 s; A3 s
5 Q9 ]5 N1 b$ w( [6 l5 ~" v! g% q5 L* s5 k0 Y! _, {5 y) s2 X; U$ I
; a4 v: Y* L" u9 Z1 J2 \2 J$ }& I
10.把71 FF修改为00 09,另存为镜像,我不建议覆盖镜像,而是另存为镜像,怕万一改错了引致镜像损坏。
! G( y- t; c! e' }
+ @  q' g+ v: H9 `$ U: M- }' \- S5 c: N- Q8 U& X- Q
1 @8 D  R$ w* L- h
11.用mednafen载入修改过的SS怒首领蜂镜像,如飞机数不减说明修改成功。% G) W7 P. r' {# l% p
5 u: r4 e7 p0 i

, k* j) n7 J/ V# s
' O2 V- A6 V$ h5 p  D" j12.要刻盘在主机玩请先用ECCREGEN 1.41修复修改过的镜像EDC\ECC。
8 u2 M- W: z' u  b( `3 B7 ~- l1 y- l0 r1 s6 ~$ c: N! t. |6 S
疾风之狼
# d' ?. H) B2 V) _+ z$ F! {2025.06.29

本帖子中包含更多资源

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

x

评分

4

查看全部评分

签到天数: 684 天

[LV.9]以坛为家II

发表于 2025-6-29 18:07:07 | 显示全部楼层
修改这些CD游戏2 t, C5 |8 a; }, h5 q* e
还是用金手指简单点
回复 支持 反对

使用道具 举报

签到天数: 631 天

[LV.9]以坛为家II

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

使用道具 举报

签到天数: 1579 天

[LV.Master]伴坛终老

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

使用道具 举报

签到天数: 778 天

[LV.10]以坛为家III

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

使用道具 举报

签到天数: 793 天

[LV.10]以坛为家III

发表于 2025-8-8 16:07:54 | 显示全部楼层
大佬威武,學會了一點
/ j% N# }6 d- G; I, m* o/ f' E6 L  N1 U- Y, h

本帖子中包含更多资源

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

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

使用道具 举报

头像被屏蔽

签到天数: 7 天

[LV.3]偶尔看看II

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

使用道具 举报

签到天数: 1175 天

[LV.10]以坛为家III

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

使用道具 举报

签到天数: 8 天

[LV.3]偶尔看看II

发表于 5 天前 | 显示全部楼层
# F; t( X! R, O: g) r' i
谢谢分享! i/ |" d5 _3 O& w6 D
回复 支持 反对

使用道具 举报

签到天数: 56 天

[LV.5]常住居民I

发表于 5 天前 | 显示全部楼层
虽然看不懂还是支持一下
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-17 08:48 , Processed in 1.111328 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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