EMU618社区

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

[原创HACK教程] SS HACK教学

[复制链接]

签到天数: 2100 天

[LV.Master]伴坛终老

发表于 2025-6-29 17:13:19 | 显示全部楼层 |阅读模式
游戏:SS怒首领蜂: u& @+ a8 A$ c7 D: D% Z) A+ B
0 j" ?, N/ O5 S9 {6 e/ i
使用调试器:mednafen8 q1 l. k5 O% Z3 [

  |" M' q) G! Z' S# P; r+ e+ O反汇编工具:IDA
0 [. |1 j& y( G$ `. F# k: |8 J# R, E* D
16进制编辑器:winhex或其他16进制编辑器
8 f2 [7 U# {. l" a$ L4 D7 u, c1 C2 f# {9 J
mednafen是多机种模拟器,模拟器是通过命令行方式加载游戏,当然你也可以通过前端方式加载游戏,关于mednafen的前端太多,请自行寻找。8 m5 p/ Y! K% q! A! O0 x

! X) H2 t1 |% S& H9 y1 ]关于SS CPU:
2 O" i6 |3 A& @, q; p0 F8 J8 s/ {SS是使用日立SH2作为CPU,关于SH2指令集请自行百度或bing查找。 0 T6 X) Q4 i3 @1 U# {& S

; M6 {' u! V  }2 r+ o+ k关于SS内存区域:
' c: z7 F1 \9 |( h/ e0 ]) a' Q# ^LWRAM 0x00200000~0x002FFFFF
) H% t& g. G: n; J1 K/ C0 X1 d
! K- z  z% S7 B" Y0 l6 Q) YHWRAM 0x06000000~0x060FFFFF
  z, c0 q9 ^6 g( b' j) x# k3 [  P/ Q0 A
68K RAM 0x05A00000~0x05AFFFFF
; b) q' u. a5 O: h/ p0 V- q9 R- P1 Y$ F3 r
1.下载mednafen解压后,运行一次mednafen.exe,生成mednafen.cfg文件,用记事本之类文本编辑工具打开mednafen.cfg,查找全部debugger.disfontsize 5x7,全部替换为debugger.disfontsize 9x18并保存,不这样改调试器显示字体太小。
1 S* A: j, ]. g( \
" F" x0 v6 W# T. z, _8 i3 p* V! M关于mednafen调试器用法请参考mednafen模拟器目录下Documentation目录里debugger.html文档。
! [9 L" P1 j5 L
; Q; @( y  o; \: Y2.用mednafen加载SS怒首领蜂,进入游戏后第一步是查找1P飞机数,查找过程略过,我找到1P飞机数地址:0x060c00619 ^3 w3 P* }: T9 v5 w
" G2 _2 T7 ~/ `) r+ r8 A
3.进入游戏后,按ALT+D调出调试器,按SHIFT+W打开写断点框,输入060c0061后按Enter完成写断点设置;; Z8 G8 ~% j; }  u& v

+ O" `: Y: ^$ ]* w1 N
: A- z, T4 |3 J; a% i- t' [1 g& @1 X: ?/ B' ^: X) T
4.按ALT+D退出调试器,回到游戏中死一命后调试器发生中断,程序停在0603A8CA: mov.b r1, @r2
$ v, i; d4 R2 H$ M
) n0 G0 M2 M0 x
9 d) C8 m- d4 e
& k! y$ v+ A6 j" P8 o. M9 J0 n% {5.接下来分析一下:9 m3 [0 K3 r8 ^1 V0 {' r
0603A8C6: mov.b @r2, r1        把r2寄存器地址的数据传递到r1& U5 J( l5 U4 D1 _1 O' t4 j. Y" n% F
0603A8C8: add #-1, r1                把-1数值和寄存器r1相加,结果存入r1寄存器
/ ~( _& W. o7 J- R: |6 `- a0603A8CA: mov.b r1, @r2        把r1寄存器的数据传递到r2寄存器的地址里
9 a/ g5 `, E3 ]+ z3 V: h( `$ {& X
5 h: h8 a' i$ [8 r" |4 [. X" p6.只要把0603A8C8: add #-1, r1指令nop掉就飞机数就不减,SH2汇编nop指令机械码是00 09;
$ o; O3 U3 l6 D6 c" Q6 `4 u. E0 ^# m% _1 R9 X1 I4 D
7.按ALT+3切换内存窗口,还记得前面说的关于SS内存区域吧,0603A8C8地址是HWRAM区域,按CTRL+→切换到High Work RAM区域,按D调出Dump Memory框,输入3A8C6 3A8E0 SS_dump.bin后按Enter,之后会在mednafen模拟器目录下生成SS_dump.bin二进制文件;8 k* y& }; K+ ~# x5 O$ _* j) Q

) R# W) E) w+ w. x) S8 [. s3 B
! H5 C& }* R4 X7 h2 O. B( i* F  \7 v! u0 [- I
8.用IDA反汇编SS_dump.bin结果:9 K2 [) [4 [* H4 O: m

6 a# |' Q% q+ B9 X4 J/ `$ YROM:0603A8C6 61 20                 mov.b   @r2, r1
8 H% ~3 W' R9 i8 MROM:0603A8C8 71 FF                 add     #-1, r1
% p9 J( O: z: b7 a, t7 hROM:0603A8CA 22 10                 mov.b   r1, @r2; S& c" J6 o+ K- P5 u* U: G# q& a5 J
ROM:0603A8CC 61 1E                 exts.b  r1, r1
9 z+ S( w; c3 P3 F: I2 h3 G. ]ROM:0603A8CE 41 11                 cmp/pz  r1
' [6 d1 `3 B, Y+ K$ k/ s# P, }ROM:0603A8D0 8F 07                 bf/s    h'603A8E2' V# v& X& @. X# v4 q$ n& P
ROM:0603A8D2 E9 00                 mov     #0, r9
; c8 e1 @2 Y! i8 Y) q/ c4 CROM:0603A8D4 61 32                 mov.l   @r3, r1- {2 h6 R8 C5 u- E) u4 T
ROM:0603A8D6 D2 3E                 mov.l   #h'FFFFFFFF, r2
. p: m* l) [5 G$ MROM:0603A8D8 21 2B                 or      r2, r1
, E8 ~8 b' e  c, Q' MROM:0603A8DA D2 3E                 mov.l   #h'FFFFFFFF, r28 Q8 h8 ~; i( `# x
2 M% M2 v  G) f  c. p" O% P
反汇编结果得知add     #-1, r1指令机械码是71 FF) r, b$ L- T1 e& ?; m
- F% P% p) C4 v. |
9.用winhex打开怒首领蜂镜像,查找 16进制数据“612071FF2210611E41118F07E9006132D23E212BD23E2129A06523”;
( F3 S1 Y* K4 w
3 M! E9 q% I3 \+ \. B
1 w. L9 E$ o, l) ?3 i+ M$ f. E" s" Q% T# u+ y
10.把71 FF修改为00 09,另存为镜像,我不建议覆盖镜像,而是另存为镜像,怕万一改错了引致镜像损坏。
& n, s6 c5 F5 z# f. e7 \" l! t1 M, w; w" H8 M( L

# V5 f* O0 B0 n  u% I) y) |: @7 \! K$ A1 f; C( ?8 a  E! t( g
11.用mednafen载入修改过的SS怒首领蜂镜像,如飞机数不减说明修改成功。
, ?& p" N8 t3 f0 ]5 k/ [0 U( y
" E  I- C9 a/ m0 j& B  C1 I6 G5 N0 U0 M# q5 [# @, n# b, o
8 M! u+ @, A0 P% R  G+ Z. E
12.要刻盘在主机玩请先用ECCREGEN 1.41修复修改过的镜像EDC\ECC。
# p! f: y, m$ {# X2 X% A9 e( z' K( p* I: X' Y. @
疾风之狼
+ `$ W) U# {) I  G2025.06.29

本帖子中包含更多资源

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

x

评分

4

查看全部评分

签到天数: 742 天

[LV.9]以坛为家II

发表于 2025-6-29 18:07:07 | 显示全部楼层
修改这些CD游戏( d8 [8 w4 N6 Y6 C. L3 I7 Y: q
还是用金手指简单点
回复 支持 反对

使用道具 举报

签到天数: 644 天

[LV.9]以坛为家II

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

使用道具 举报

签到天数: 1637 天

[LV.Master]伴坛终老

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

使用道具 举报

签到天数: 823 天

[LV.10]以坛为家III

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

使用道具 举报

签到天数: 843 天

[LV.10]以坛为家III

发表于 2025-8-8 16:07:54 | 显示全部楼层
大佬威武,學會了一點
  o( C" o. R% Y. q# {; @/ z. Y4 E! {3 z

本帖子中包含更多资源

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

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

使用道具 举报

头像被屏蔽

签到天数: 7 天

[LV.3]偶尔看看II

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

使用道具 举报

签到天数: 1227 天

[LV.10]以坛为家III

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

使用道具 举报

签到天数: 9 天

[LV.3]偶尔看看II

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

* D6 k0 ?6 V* m: `谢谢分享8 x, |2 k; e1 c3 L3 y& N! _2 N, I; c
回复 支持 反对

使用道具 举报

签到天数: 69 天

[LV.6]常住居民II

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-14 17:50 , Processed in 1.085938 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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