EMU618社区

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

[原创HACK教程] SS HACK教学

[复制链接]

签到天数: 2180 天

[LV.Master]伴坛终老

发表于 2025-6-29 17:13:19 | 显示全部楼层 |阅读模式
游戏:SS怒首领蜂
6 n0 q% `. b/ Z; R7 m3 }; W  z* s0 O$ }4 R3 Q
使用调试器:mednafen
1 G9 ^% L) _3 \- A( c! Z. H
- @2 ]& T, p* l7 f. t反汇编工具:IDA7 A& `+ {1 D+ o

. c  J9 s, \+ q( j+ j: i) A0 M16进制编辑器:winhex或其他16进制编辑器
% T. @1 o( ]. f6 |1 t. x3 u4 H5 n+ |: H
, O, i2 j0 T, c/ ?# z3 l- @mednafen是多机种模拟器,模拟器是通过命令行方式加载游戏,当然你也可以通过前端方式加载游戏,关于mednafen的前端太多,请自行寻找。
! ?: V, x" m. U% x. U( |
* l; ^) _0 B9 J6 R: A" ]关于SS CPU:
8 T* S6 H' o( w  iSS是使用日立SH2作为CPU,关于SH2指令集请自行百度或bing查找。 - {- R( g5 o1 g, E# l% O- L  x# m. W" `
1 Q9 {$ [, H' W; }1 v# H
关于SS内存区域:1 [( [, ^. x$ @& Q$ q
LWRAM 0x00200000~0x002FFFFF  _7 t7 A0 _, e9 p' s

$ I; l0 \% I, d! VHWRAM 0x06000000~0x060FFFFF5 Q9 ^" M6 ]0 R0 U. f

  R, d7 x# _6 I. m* m# K68K RAM 0x05A00000~0x05AFFFFF
4 P" a& m1 P" T$ J- K/ p% D
7 u" N% g$ V9 F' P2 y8 Q. Y( G1.下载mednafen解压后,运行一次mednafen.exe,生成mednafen.cfg文件,用记事本之类文本编辑工具打开mednafen.cfg,查找全部debugger.disfontsize 5x7,全部替换为debugger.disfontsize 9x18并保存,不这样改调试器显示字体太小。8 ]7 M5 S- i4 X3 C0 S" i# g
' e# g3 D7 q- g/ `& _
关于mednafen调试器用法请参考mednafen模拟器目录下Documentation目录里debugger.html文档。
9 U9 Q7 H$ E0 l* S, y# {' L( n8 k& p( ^* W6 D9 i
2.用mednafen加载SS怒首领蜂,进入游戏后第一步是查找1P飞机数,查找过程略过,我找到1P飞机数地址:0x060c0061
* ^3 {( v- v( ~, ]5 X" k
+ L$ A) W9 W( ~4 ~$ d! s* e/ K3.进入游戏后,按ALT+D调出调试器,按SHIFT+W打开写断点框,输入060c0061后按Enter完成写断点设置;' T3 k& J8 B8 P( I2 f

) A" c% U# F% D' @/ O; ]# w/ a9 v; V, e# X# J" v3 w$ C, o' O) J& [

8 F/ z) h( M& G- U4.按ALT+D退出调试器,回到游戏中死一命后调试器发生中断,程序停在0603A8CA: mov.b r1, @r2
" @$ A# L9 v7 Z# U. R) a8 {" X( S/ c: z4 z9 q$ f
( R; M/ T2 N5 h9 N+ K0 H
3 M( _" p) e' \7 i3 ~
5.接下来分析一下:5 Y  L  ~- ~- M. V2 b
0603A8C6: mov.b @r2, r1        把r2寄存器地址的数据传递到r1
' U7 C$ T5 ]7 r) s! W0603A8C8: add #-1, r1                把-1数值和寄存器r1相加,结果存入r1寄存器6 S' }8 H5 p. V9 ~
0603A8CA: mov.b r1, @r2        把r1寄存器的数据传递到r2寄存器的地址里
! Y" N6 G# Q: }" {+ z' p  l* w* D5 D& N" i. k6 h$ i7 u! v
6.只要把0603A8C8: add #-1, r1指令nop掉就飞机数就不减,SH2汇编nop指令机械码是00 09;
) f  B) ~+ b; K& z# `$ w8 A7 }/ q* E% y2 [: R% C  [! \7 u
7.按ALT+3切换内存窗口,还记得前面说的关于SS内存区域吧,0603A8C8地址是HWRAM区域,按CTRL+→切换到High Work RAM区域,按D调出Dump Memory框,输入3A8C6 3A8E0 SS_dump.bin后按Enter,之后会在mednafen模拟器目录下生成SS_dump.bin二进制文件;4 d' M! }( ?& `, i; Y; T
  l5 i6 _, M8 L8 {. u

7 ]/ k- p& t' X& e% f3 K! ^
) P/ E  P+ A1 [4 ]( k8 a( V8.用IDA反汇编SS_dump.bin结果:
) p+ @: d. _0 J6 S" ]2 n, N% c# K5 J% D6 H: T) X* z, r5 i
ROM:0603A8C6 61 20                 mov.b   @r2, r1% I$ u/ n$ w. Y4 z# h* n% i1 x. K
ROM:0603A8C8 71 FF                 add     #-1, r1
" s. k9 ], b9 ZROM:0603A8CA 22 10                 mov.b   r1, @r2' q! ?, `1 D2 X; c7 k$ O# G- |
ROM:0603A8CC 61 1E                 exts.b  r1, r1
: t5 |) j4 i( z) T1 R# MROM:0603A8CE 41 11                 cmp/pz  r18 E+ `3 k. R) }2 q
ROM:0603A8D0 8F 07                 bf/s    h'603A8E2
) x. u% D% B* J3 ~; VROM:0603A8D2 E9 00                 mov     #0, r9: D6 R' j/ z3 b" L2 A& x
ROM:0603A8D4 61 32                 mov.l   @r3, r12 [0 {) q! r% T1 i! V6 X9 b  v1 K* w
ROM:0603A8D6 D2 3E                 mov.l   #h'FFFFFFFF, r22 l: ^% _# p5 K! K* ~+ D
ROM:0603A8D8 21 2B                 or      r2, r1
4 P5 f2 P. B1 f6 k) a  l2 XROM:0603A8DA D2 3E                 mov.l   #h'FFFFFFFF, r2$ ^; W( z4 i! e4 |; _7 \
7 g  H4 a5 W! D) T( T! V  C0 w
反汇编结果得知add     #-1, r1指令机械码是71 FF( Z; E% X8 {% t. _4 R
3 ^5 h) I6 {: U! P$ w3 _
9.用winhex打开怒首领蜂镜像,查找 16进制数据“612071FF2210611E41118F07E9006132D23E212BD23E2129A06523”;! [2 W5 u; k( ]" Z
$ t& D3 ]. P3 C3 ~

2 l; ~6 r6 A5 n1 f7 z) u1 e* V( K  W; T4 B$ |$ K* z: Q& O
10.把71 FF修改为00 09,另存为镜像,我不建议覆盖镜像,而是另存为镜像,怕万一改错了引致镜像损坏。
+ K2 v# L! x# T) \# }( y( l! W
% p5 X3 k- a4 Q, X% }: f8 l0 Y3 {% L. ^7 K  q4 S# I
2 J, f* U/ K" T( t  v) v6 {! E
11.用mednafen载入修改过的SS怒首领蜂镜像,如飞机数不减说明修改成功。1 j; m8 t1 z4 p: v* }" n  B3 o+ N

/ @2 h3 X5 K/ F& V7 {  |+ G
$ f( ?; W/ [. G* Z5 U0 ^$ j( p! [1 Z! r9 |7 H: P5 T0 F
12.要刻盘在主机玩请先用ECCREGEN 1.41修复修改过的镜像EDC\ECC。
4 _$ Y1 S- ^/ e( x$ U0 Q8 h" `. q/ D. u1 o2 w5 D1 _
疾风之狼$ E. b5 o3 k& O% M7 ?
2025.06.29

本帖子中包含更多资源

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

x

评分

4

查看全部评分

签到天数: 823 天

[LV.10]以坛为家III

发表于 2025-6-29 18:07:07 | 显示全部楼层
修改这些CD游戏7 V5 ^0 W' K% I1 O3 `
还是用金手指简单点
回复 支持 反对

使用道具 举报

签到天数: 650 天

[LV.9]以坛为家II

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

使用道具 举报

签到天数: 1716 天

[LV.Master]伴坛终老

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

使用道具 举报

签到天数: 886 天

[LV.10]以坛为家III

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

使用道具 举报

签到天数: 890 天

[LV.10]以坛为家III

发表于 2025-8-8 16:07:54 | 显示全部楼层
大佬威武,學會了一點
# y4 c0 t8 O6 c: i+ e, S
. w! p; J# q8 N( \4 y4 ?7 X9 g0 B; N

本帖子中包含更多资源

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

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 | 显示全部楼层
9 R4 z* K5 Y$ I8 x# X6 k  ?
谢谢分享
) v! r# y8 D" ~: m5 {
回复 支持 反对

使用道具 举报

签到天数: 70 天

[LV.6]常住居民II

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-3 07:33 , Processed in 1.098632 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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