EMU618社区

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

[原创HACK教程] SS HACK教学

[复制链接]

签到天数: 2073 天

[LV.Master]伴坛终老

发表于 2025-6-29 17:13:19 | 显示全部楼层 |阅读模式
游戏:SS怒首领蜂
9 M  \3 H# ^1 O( r/ o" L3 s
. q4 g5 W" O" e# V3 \. ~使用调试器:mednafen
7 h# X1 E# M, ]+ E( j% n& b3 j9 P/ _1 X$ }. f4 K
反汇编工具:IDA4 r6 g9 ^+ C! N+ T, N
2 Z: \4 U/ z5 l% r6 P
16进制编辑器:winhex或其他16进制编辑器
4 b' j0 W: j8 @7 a- z) P3 m: p* i
mednafen是多机种模拟器,模拟器是通过命令行方式加载游戏,当然你也可以通过前端方式加载游戏,关于mednafen的前端太多,请自行寻找。  {% d7 S$ j9 s( s7 ]: S! D1 Y

  y1 O7 o* O; ?  Y0 t- b( P关于SS CPU:
  T) ?4 i9 N& z. aSS是使用日立SH2作为CPU,关于SH2指令集请自行百度或bing查找。 " K$ N, y% e2 d" i5 T2 S4 h

+ @6 J" Y) {- {3 D7 b, S关于SS内存区域:
, b3 b" _; Z5 {5 @LWRAM 0x00200000~0x002FFFFF
9 i3 C0 @; u" p  A: F" L" i" ]. Y- [$ B; a$ P3 y  j' b# [
HWRAM 0x06000000~0x060FFFFF
* b1 |2 [" U6 V# ~& w8 A' p7 n& m; Q$ U
68K RAM 0x05A00000~0x05AFFFFF
) _' `6 G- M3 f2 O5 n4 z( X& n  t4 D: A1 O* ?9 I
1.下载mednafen解压后,运行一次mednafen.exe,生成mednafen.cfg文件,用记事本之类文本编辑工具打开mednafen.cfg,查找全部debugger.disfontsize 5x7,全部替换为debugger.disfontsize 9x18并保存,不这样改调试器显示字体太小。
* W" Z  O1 L% o' f, D
9 N8 l$ X, V# W4 [关于mednafen调试器用法请参考mednafen模拟器目录下Documentation目录里debugger.html文档。
+ e5 Z& R% C6 @: m" Q4 x
* i3 h1 ?: O" d2.用mednafen加载SS怒首领蜂,进入游戏后第一步是查找1P飞机数,查找过程略过,我找到1P飞机数地址:0x060c0061
* x$ y4 J" v0 E. e7 N. X7 U. s' l
! N( X* D! L  l3 W0 X/ ~% d' Y3.进入游戏后,按ALT+D调出调试器,按SHIFT+W打开写断点框,输入060c0061后按Enter完成写断点设置;
1 y$ r6 N' F. ?: K/ W! L0 Z. Q3 Z0 A0 G+ n

; l6 t9 B3 K* X! w) E7 @6 g
' @% G. W% w* U5 {4.按ALT+D退出调试器,回到游戏中死一命后调试器发生中断,程序停在0603A8CA: mov.b r1, @r2* e& s' u* _9 l. H! S
. M# [! J. _4 \' n
: K! s+ y# `5 g: S

' r- I$ P# V$ y+ F5.接下来分析一下:. D0 l* l2 }$ V( a* y$ Y
0603A8C6: mov.b @r2, r1        把r2寄存器地址的数据传递到r1. T3 ]5 b" m+ l- t0 \- Y3 R8 d
0603A8C8: add #-1, r1                把-1数值和寄存器r1相加,结果存入r1寄存器
* s9 R& f9 c% w  `( v0603A8CA: mov.b r1, @r2        把r1寄存器的数据传递到r2寄存器的地址里
- {" ^) p" _& a6 k4 D$ d: O1 c# O7 ]& r; w
6.只要把0603A8C8: add #-1, r1指令nop掉就飞机数就不减,SH2汇编nop指令机械码是00 09;- K) P# E' D' Z* J9 b
, V9 U* ~2 `: G, W
7.按ALT+3切换内存窗口,还记得前面说的关于SS内存区域吧,0603A8C8地址是HWRAM区域,按CTRL+→切换到High Work RAM区域,按D调出Dump Memory框,输入3A8C6 3A8E0 SS_dump.bin后按Enter,之后会在mednafen模拟器目录下生成SS_dump.bin二进制文件;6 ~( I& I' R: V% k" ]

# V6 Z* v$ c, [: D5 b; i& H3 X, i7 x! C& x

0 |: M% f8 i5 H, z+ r. N8.用IDA反汇编SS_dump.bin结果:
$ z. Y! r0 q* p( W, S: f/ _) c+ q5 y/ c0 K5 P4 T, Q0 K, t( \
ROM:0603A8C6 61 20                 mov.b   @r2, r1
5 D9 x8 T# C# FROM:0603A8C8 71 FF                 add     #-1, r1: v/ \- T- q3 F$ I6 x; C2 [
ROM:0603A8CA 22 10                 mov.b   r1, @r2# y9 S4 X4 I0 a) X6 E% G, j
ROM:0603A8CC 61 1E                 exts.b  r1, r1
) C* j! R2 V. W: O- Y# ?ROM:0603A8CE 41 11                 cmp/pz  r1
% k. \$ }: Z/ N$ EROM:0603A8D0 8F 07                 bf/s    h'603A8E22 _7 E- G' E2 g* Z
ROM:0603A8D2 E9 00                 mov     #0, r9! K( U: E- S* l. W2 Y. a
ROM:0603A8D4 61 32                 mov.l   @r3, r10 ~4 Y7 D2 O( j+ G* x5 E
ROM:0603A8D6 D2 3E                 mov.l   #h'FFFFFFFF, r2
' [) r9 ^$ t$ U8 B* Y' hROM:0603A8D8 21 2B                 or      r2, r1
1 ~7 t+ T- @% _- Y- g% C: ~ROM:0603A8DA D2 3E                 mov.l   #h'FFFFFFFF, r2/ o1 T  P. T  G# j+ X, Y  R
8 @( r1 k' b  |5 F$ r- W
反汇编结果得知add     #-1, r1指令机械码是71 FF; P8 ]! e; t! l7 v$ o
- Y( ?9 k- _, M1 }
9.用winhex打开怒首领蜂镜像,查找 16进制数据“612071FF2210611E41118F07E9006132D23E212BD23E2129A06523”;
* w  g+ x7 F4 {% \5 d/ T7 L: c
2 ^& l7 ], t& L# `4 I! a6 w& s
9 ~; o1 @0 |, z
10.把71 FF修改为00 09,另存为镜像,我不建议覆盖镜像,而是另存为镜像,怕万一改错了引致镜像损坏。
1 ?( {0 [3 T4 y8 @) g6 p, J" P' m! W

! \' Q- s  J% k. z: c9 |4 Y! y6 @8 f8 u8 ~; C* |' r
11.用mednafen载入修改过的SS怒首领蜂镜像,如飞机数不减说明修改成功。
$ `: K0 r' ]/ p* d) h; ~2 g8 g# R* x
8 y0 y7 O( B8 u0 m) G* G3 o) e
$ N5 w9 F. Q! u" P* Q+ |; J" ^  ~4 J: b- ~
12.要刻盘在主机玩请先用ECCREGEN 1.41修复修改过的镜像EDC\ECC。% q3 t9 m( X% \6 n; U( q

. u. n/ E2 K8 C0 L8 Y3 e
疾风之狼& J' o4 I* |, Y7 ~' l
2025.06.29

本帖子中包含更多资源

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

x

评分

4

查看全部评分

签到天数: 715 天

[LV.9]以坛为家II

发表于 2025-6-29 18:07:07 | 显示全部楼层
修改这些CD游戏
6 x' u: M2 D0 d' f$ x- C还是用金手指简单点
回复 支持 反对

使用道具 举报

签到天数: 636 天

[LV.9]以坛为家II

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

使用道具 举报

签到天数: 1610 天

[LV.Master]伴坛终老

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

使用道具 举报

签到天数: 807 天

[LV.10]以坛为家III

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

使用道具 举报

签到天数: 823 天

[LV.10]以坛为家III

发表于 2025-8-8 16:07:54 | 显示全部楼层
大佬威武,學會了一點
* `+ t, f3 Z2 G( m: u: o! H0 M3 Z6 T4 j/ B

本帖子中包含更多资源

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

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

使用道具 举报

头像被屏蔽

签到天数: 7 天

[LV.3]偶尔看看II

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

使用道具 举报

签到天数: 1207 天

[LV.10]以坛为家III

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

使用道具 举报

签到天数: 9 天

[LV.3]偶尔看看II

发表于 2025-8-12 12:59:07 | 显示全部楼层
; N/ n7 O5 ^) u: a3 |
谢谢分享  p6 ~8 ?  q" H9 Y2 D; V9 u
回复 支持 反对

使用道具 举报

签到天数: 67 天

[LV.6]常住居民II

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

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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