EMU618社区

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

[原创HACK教程] SS HACK教学

[复制链接]

签到天数: 2172 天

[LV.Master]伴坛终老

发表于 2025-6-29 17:13:19 | 显示全部楼层 |阅读模式
游戏:SS怒首领蜂
" F! j  f2 p& Q# \( @- ]" K+ K' d( [4 F- ?0 u) q6 [
使用调试器:mednafen
& S; t8 S9 q) r! e0 j5 b. F6 z" y2 F2 u+ Q- M- e0 ?0 ]
反汇编工具:IDA
% O0 I4 U4 s3 ?" }1 n/ `2 j0 y4 \/ \+ x& R  S- o7 s7 P
16进制编辑器:winhex或其他16进制编辑器. |; u: [# G& n1 p1 U

- J2 F( U0 C) {) a5 F1 [2 fmednafen是多机种模拟器,模拟器是通过命令行方式加载游戏,当然你也可以通过前端方式加载游戏,关于mednafen的前端太多,请自行寻找。# n' P* L* ~) s7 e6 C) Q. ~; @
. }( k7 y7 ]. h$ R/ T5 E
关于SS CPU:) E$ ]6 F5 s6 i# |1 K
SS是使用日立SH2作为CPU,关于SH2指令集请自行百度或bing查找。
% O: W; |5 J! {; j1 d2 d
5 n: M+ u8 Q7 a' O1 S! b. X关于SS内存区域:/ H* H8 E9 [- v$ X  w
LWRAM 0x00200000~0x002FFFFF
9 s& G/ \" t$ h4 ]
' V3 M3 m. r8 z/ P- s5 _# o  ?+ B) ]HWRAM 0x06000000~0x060FFFFF
% n8 ^/ K7 H! ^) Z
5 I% ?* |) ^# c8 A8 l: @68K RAM 0x05A00000~0x05AFFFFF7 m1 R5 Q' p4 u3 e/ Q

$ r; w) g' D5 t0 n. }; M$ {3 y1.下载mednafen解压后,运行一次mednafen.exe,生成mednafen.cfg文件,用记事本之类文本编辑工具打开mednafen.cfg,查找全部debugger.disfontsize 5x7,全部替换为debugger.disfontsize 9x18并保存,不这样改调试器显示字体太小。
- g# E) M6 \; C" l5 Q8 z% {! p% u& m& [2 Q  v# ~
关于mednafen调试器用法请参考mednafen模拟器目录下Documentation目录里debugger.html文档。/ h& I/ x6 f$ N$ S: i
4 l1 c/ A7 r# G0 }& Y
2.用mednafen加载SS怒首领蜂,进入游戏后第一步是查找1P飞机数,查找过程略过,我找到1P飞机数地址:0x060c0061" z# `5 S* `" s- J+ z. r

2 m3 e/ P8 A: r# n3.进入游戏后,按ALT+D调出调试器,按SHIFT+W打开写断点框,输入060c0061后按Enter完成写断点设置;
3 f- C" s8 v+ j" k% T) J- h) q8 M6 D, @5 a
( z% Y2 K+ A4 Q: N' {
, V! T- @4 U2 x% @3 i+ L
4.按ALT+D退出调试器,回到游戏中死一命后调试器发生中断,程序停在0603A8CA: mov.b r1, @r2
. X% \# ~/ Y/ e$ X: J  o9 Y2 i/ X' Z# f" |  f2 w; \8 w' P; y

  x& _  e# n; h6 O0 L, K( n) s
  l( W0 \9 [# Q5.接下来分析一下:9 e$ V1 e  t# ]5 c: {
0603A8C6: mov.b @r2, r1        把r2寄存器地址的数据传递到r1+ T/ J$ {) N) x
0603A8C8: add #-1, r1                把-1数值和寄存器r1相加,结果存入r1寄存器8 v3 T) n1 e0 J  d4 j
0603A8CA: mov.b r1, @r2        把r1寄存器的数据传递到r2寄存器的地址里, L6 d+ C1 w6 E6 A& E% u) k4 v

* B% x3 [+ Q9 Y6 K, C3 A6.只要把0603A8C8: add #-1, r1指令nop掉就飞机数就不减,SH2汇编nop指令机械码是00 09;
: d/ b% n, `) q3 x5 X/ x% o0 \- O& {
7.按ALT+3切换内存窗口,还记得前面说的关于SS内存区域吧,0603A8C8地址是HWRAM区域,按CTRL+→切换到High Work RAM区域,按D调出Dump Memory框,输入3A8C6 3A8E0 SS_dump.bin后按Enter,之后会在mednafen模拟器目录下生成SS_dump.bin二进制文件;
3 y1 g) s- E; {# W6 n+ _. y2 X* c# G! ~# i
& {& H5 `8 E$ p5 N* r* o
' K5 T9 G) z& k8 f4 e
8.用IDA反汇编SS_dump.bin结果:" P7 g) b# a- H. j: ^% I6 m* w: n

, g5 |( }" x" q2 YROM:0603A8C6 61 20                 mov.b   @r2, r1, @( U! D# W% H* A7 g( G
ROM:0603A8C8 71 FF                 add     #-1, r1' t2 f+ {. G2 d
ROM:0603A8CA 22 10                 mov.b   r1, @r2- H' m" `3 S: P- @) E' g' g
ROM:0603A8CC 61 1E                 exts.b  r1, r1; M; w3 Q  p9 ~7 `: n! H" m' R
ROM:0603A8CE 41 11                 cmp/pz  r1) }  X# X) p; c2 ?
ROM:0603A8D0 8F 07                 bf/s    h'603A8E2. n  W9 z4 M, F, s1 i% \
ROM:0603A8D2 E9 00                 mov     #0, r90 C, Z, \8 Y3 z, A
ROM:0603A8D4 61 32                 mov.l   @r3, r1. a+ y: \9 N0 E
ROM:0603A8D6 D2 3E                 mov.l   #h'FFFFFFFF, r2
/ n! [2 H9 I% h0 P: JROM:0603A8D8 21 2B                 or      r2, r1: d  ^+ U5 x$ R$ p/ A$ r8 `: F$ V
ROM:0603A8DA D2 3E                 mov.l   #h'FFFFFFFF, r2
- `0 [- f  @# m" I/ D; l
9 E9 c# y5 W9 U* f4 c4 n反汇编结果得知add     #-1, r1指令机械码是71 FF
6 o) D( b' \  u7 K. t9 }3 U% g' ~4 B2 @% t- I9 ^, [; J
9.用winhex打开怒首领蜂镜像,查找 16进制数据“612071FF2210611E41118F07E9006132D23E212BD23E2129A06523”;
! X" u) A) j4 N- I/ o' I
. A0 ^2 R' [1 b/ R/ ^! c  c' j. V% U: v9 g- B0 `. N% b/ a
' P- R  s' k& t2 n
10.把71 FF修改为00 09,另存为镜像,我不建议覆盖镜像,而是另存为镜像,怕万一改错了引致镜像损坏。
1 j( I$ b4 W+ t
" ^9 s" h% z" a, U0 [3 s, y1 \0 G; D. Y( S" r$ |" V- f
  t  V: b( N7 d5 n% P
11.用mednafen载入修改过的SS怒首领蜂镜像,如飞机数不减说明修改成功。/ E( h" F& K- O6 [  {+ g3 c( M% J

6 \* \/ T! M1 g1 \' h9 T
4 r" O: n. m: ^
: `# o7 C! n8 o. i2 f& w12.要刻盘在主机玩请先用ECCREGEN 1.41修复修改过的镜像EDC\ECC。
' E8 y6 C( c* M( ?# \" q1 j0 Q9 {+ F1 R
疾风之狼
6 p) F: U& r1 o+ j6 ?2025.06.29

本帖子中包含更多资源

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

x

评分

4

查看全部评分

签到天数: 814 天

[LV.10]以坛为家III

发表于 2025-6-29 18:07:07 | 显示全部楼层
修改这些CD游戏
, r1 ^3 J& C* g' v" Q4 n% W还是用金手指简单点
回复 支持 反对

使用道具 举报

签到天数: 645 天

[LV.9]以坛为家II

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

使用道具 举报

签到天数: 1709 天

[LV.Master]伴坛终老

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

使用道具 举报

签到天数: 882 天

[LV.10]以坛为家III

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

使用道具 举报

签到天数: 884 天

[LV.10]以坛为家III

发表于 2025-8-8 16:07:54 | 显示全部楼层
大佬威武,學會了一點$ k$ a' t$ W* S1 I, P$ d! D
; M: r! J3 g5 G8 ~6 F9 R. c

本帖子中包含更多资源

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

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 | 显示全部楼层
# T% l8 D. P' }6 V0 P
谢谢分享
# H) v4 ^( a% Q3 O% E0 l
回复 支持 反对

使用道具 举报

签到天数: 70 天

[LV.6]常住居民II

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-26 03:49 , Processed in 1.105469 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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