EMU618社区

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

[原创HACK教程] SS HACK教学

[复制链接]

签到天数: 2042 天

[LV.Master]伴坛终老

发表于 2025-6-29 17:13:19 | 显示全部楼层 |阅读模式
游戏:SS怒首领蜂
& n0 a; d- ^, F, ]; {( t" r: s; @( u0 C) ?
使用调试器:mednafen2 d8 `2 D0 ?. }4 ?; }! |

, E: f: u3 _8 @, _8 j+ S% \4 Q反汇编工具:IDA0 Y& z  q8 L) y1 b" _3 t
# {3 ]8 r7 v. V0 Z6 Q) o7 |3 C
16进制编辑器:winhex或其他16进制编辑器
2 K0 x# R* r& ?0 O- E! t, w
; o# D+ q8 }# [5 L1 A$ i% s0 kmednafen是多机种模拟器,模拟器是通过命令行方式加载游戏,当然你也可以通过前端方式加载游戏,关于mednafen的前端太多,请自行寻找。
% P# m- T- ]$ [! Z2 G* k5 ]& o2 v2 j( u# A$ t
关于SS CPU:
! a8 E0 r- N& ]4 W2 y6 VSS是使用日立SH2作为CPU,关于SH2指令集请自行百度或bing查找。
8 T  Y$ o6 ]5 Z, G
  o1 j6 N8 @, O# n9 T9 G关于SS内存区域:
/ C- b: A1 m5 U; FLWRAM 0x00200000~0x002FFFFF
2 x- M  w2 c9 n
1 m# x7 _: u$ F! p) ]& SHWRAM 0x06000000~0x060FFFFF
2 S6 C2 `) x1 H% T" F0 s
5 U# J* e: r' r+ u9 A5 _68K RAM 0x05A00000~0x05AFFFFF
" t9 ^: }# L8 z% r- ~. }6 k0 n+ W. J7 B( E* w1 [
1.下载mednafen解压后,运行一次mednafen.exe,生成mednafen.cfg文件,用记事本之类文本编辑工具打开mednafen.cfg,查找全部debugger.disfontsize 5x7,全部替换为debugger.disfontsize 9x18并保存,不这样改调试器显示字体太小。
6 }) G* D# T* J" d
! ]# C7 f1 |/ Z2 u! w关于mednafen调试器用法请参考mednafen模拟器目录下Documentation目录里debugger.html文档。: M0 J6 y% f+ ]6 o
5 y3 ^( W: Z% B) I/ g0 U7 X: R
2.用mednafen加载SS怒首领蜂,进入游戏后第一步是查找1P飞机数,查找过程略过,我找到1P飞机数地址:0x060c0061
0 x0 y2 V5 u+ s* n! g- E- R% P& h+ Y/ W
3.进入游戏后,按ALT+D调出调试器,按SHIFT+W打开写断点框,输入060c0061后按Enter完成写断点设置;
2 _3 j; J6 }' K, C6 C5 V
' K7 N; [. T) Y9 c1 e' q1 U8 `% u: X- B! U) ?

3 X& s1 V, L* v7 I4.按ALT+D退出调试器,回到游戏中死一命后调试器发生中断,程序停在0603A8CA: mov.b r1, @r2
$ u, D. B3 j- N  C, y" u5 v; x
- M; W/ T8 _  v) K$ o3 T+ Z3 r/ b4 R) a1 f, c2 K! W9 O

4 w5 v4 j5 ~0 x: W  F% g5.接下来分析一下:
# K! r6 T  ?) E4 S' c  O; T0603A8C6: mov.b @r2, r1        把r2寄存器地址的数据传递到r1. W$ E. m) r3 B( i
0603A8C8: add #-1, r1                把-1数值和寄存器r1相加,结果存入r1寄存器$ h% ~6 g$ r8 J9 P* I* V
0603A8CA: mov.b r1, @r2        把r1寄存器的数据传递到r2寄存器的地址里
1 l' A7 L: _) V
6 K& \% b: g* R' \4 S6.只要把0603A8C8: add #-1, r1指令nop掉就飞机数就不减,SH2汇编nop指令机械码是00 09;0 K' i/ K  b. ?& L7 B" j- T6 a* }
9 `% ?# M/ m8 K
7.按ALT+3切换内存窗口,还记得前面说的关于SS内存区域吧,0603A8C8地址是HWRAM区域,按CTRL+→切换到High Work RAM区域,按D调出Dump Memory框,输入3A8C6 3A8E0 SS_dump.bin后按Enter,之后会在mednafen模拟器目录下生成SS_dump.bin二进制文件;, Q0 G) [/ `5 Y

+ {/ b7 |% ~& }* z
' n# L: R5 `+ }6 ^2 H% ]% F; G, x3 o' D' Q  x) o' ^) B5 v
8.用IDA反汇编SS_dump.bin结果:7 F7 w/ E9 l% w) Q
" c! t2 t) D  ^0 h7 e+ A
ROM:0603A8C6 61 20                 mov.b   @r2, r14 ~: T; T& Z8 I9 l  @* P! E
ROM:0603A8C8 71 FF                 add     #-1, r1+ P$ I0 x; n6 m; [; G
ROM:0603A8CA 22 10                 mov.b   r1, @r2
+ p& B. C, d# N6 \4 `- w1 ZROM:0603A8CC 61 1E                 exts.b  r1, r19 v. o! ^1 B$ p( K& K* H9 t8 h
ROM:0603A8CE 41 11                 cmp/pz  r14 g0 q+ u  e# _4 ~$ t( A+ ]
ROM:0603A8D0 8F 07                 bf/s    h'603A8E2
3 z' Z! L7 g' j, d& t. ~' z, @ROM:0603A8D2 E9 00                 mov     #0, r9
( e5 i! l5 W3 W; X$ o! qROM:0603A8D4 61 32                 mov.l   @r3, r1
* T! ~; w0 l+ G8 Q. [% U3 M+ CROM:0603A8D6 D2 3E                 mov.l   #h'FFFFFFFF, r2% R' @" l) b/ F
ROM:0603A8D8 21 2B                 or      r2, r1: M  ~, A# R  G* a- e* t* L
ROM:0603A8DA D2 3E                 mov.l   #h'FFFFFFFF, r2
- C: |4 ^/ g; C9 v
) N; Q9 b2 m1 y; v& E反汇编结果得知add     #-1, r1指令机械码是71 FF3 T( b2 Q9 n6 f
. @* J9 T, y3 g
9.用winhex打开怒首领蜂镜像,查找 16进制数据“612071FF2210611E41118F07E9006132D23E212BD23E2129A06523”;3 S3 D- i* q8 h  w7 X

3 |3 b. ^$ i/ I& d1 X+ x* D5 B" z" F. B

3 S" @* I* F6 o# h10.把71 FF修改为00 09,另存为镜像,我不建议覆盖镜像,而是另存为镜像,怕万一改错了引致镜像损坏。. a4 W" |- d  w1 a& \+ o
& L1 q4 @% a( b  V% t, B

) q9 n0 X4 T; E* m* A! o
, B+ {. X1 B! h4 W- K11.用mednafen载入修改过的SS怒首领蜂镜像,如飞机数不减说明修改成功。
/ |  c  w4 h; X4 Q# j8 i5 R
' l% q. [$ [' x0 Z: H+ p+ W
% R/ V0 j) i) i* B& V) O* A. P& U8 x8 Y
12.要刻盘在主机玩请先用ECCREGEN 1.41修复修改过的镜像EDC\ECC。
% G/ [/ ]0 n1 I5 m* q( c; B& @* {( a$ z) n( d
疾风之狼
# O5 v: ~" Z( v# Q; ]' V2025.06.29

本帖子中包含更多资源

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

x

评分

4

查看全部评分

签到天数: 684 天

[LV.9]以坛为家II

发表于 2025-6-29 18:07:07 | 显示全部楼层
修改这些CD游戏
  b; c0 _  U/ g" u/ \还是用金手指简单点
回复 支持 反对

使用道具 举报

签到天数: 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 | 显示全部楼层
大佬威武,學會了一點% f) P) Y' |7 C+ ~. Z8 R4 L

* u8 e6 e/ ^2 o' ]: \

本帖子中包含更多资源

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

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

使用道具 举报

头像被屏蔽

签到天数: 7 天

[LV.3]偶尔看看II

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

使用道具 举报

签到天数: 1175 天

[LV.10]以坛为家III

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

使用道具 举报

签到天数: 8 天

[LV.3]偶尔看看II

发表于 5 天前 | 显示全部楼层
! q6 @  t+ s2 U/ W+ J
谢谢分享# z5 U: S5 C8 w; v
回复 支持 反对

使用道具 举报

签到天数: 56 天

[LV.5]常住居民I

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

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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