EMU618社区

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

[原创HACK教程] SS HACK教学

[复制链接]

签到天数: 2121 天

[LV.Master]伴坛终老

发表于 2025-6-29 17:13:19 | 显示全部楼层 |阅读模式
游戏:SS怒首领蜂
4 l& E9 j2 {1 w# X5 z# X# _* V+ C8 W8 |4 J- v
使用调试器:mednafen3 H" r  @% L% q+ M$ y. b

( L% P' W& ^5 @' q& h反汇编工具:IDA7 K8 y) Z1 N8 r" X

; M6 P* F( G2 _8 k- P16进制编辑器:winhex或其他16进制编辑器& H% K  `: N% ?$ T' Z

8 k# v0 E$ p4 D8 r* U6 ~) ]mednafen是多机种模拟器,模拟器是通过命令行方式加载游戏,当然你也可以通过前端方式加载游戏,关于mednafen的前端太多,请自行寻找。' p2 j7 v! {8 o" s
6 E' M. d5 r2 g- m! g
关于SS CPU:
' I# X0 Q% |& @' L- I& G. XSS是使用日立SH2作为CPU,关于SH2指令集请自行百度或bing查找。
4 k! ]/ |1 b: y+ v4 l# x+ @4 a( b) l% B( N
关于SS内存区域:, i% q2 z6 V' s# h: M- t; ]4 W( d
LWRAM 0x00200000~0x002FFFFF
' P4 T: w" t9 U: h0 a  V7 q/ g0 o7 [5 {- h6 J. c5 o) O' v2 F, Z+ c
HWRAM 0x06000000~0x060FFFFF$ S, @5 V0 w7 t2 N% t

; d8 z% v. T3 b& X& E- S68K RAM 0x05A00000~0x05AFFFFF
- X8 a5 p8 z' N- Q
6 O( Q- h2 ]. i& l/ e- ^; k1.下载mednafen解压后,运行一次mednafen.exe,生成mednafen.cfg文件,用记事本之类文本编辑工具打开mednafen.cfg,查找全部debugger.disfontsize 5x7,全部替换为debugger.disfontsize 9x18并保存,不这样改调试器显示字体太小。
* S4 b9 _1 G. ]# \
  F: ~( W1 T4 e关于mednafen调试器用法请参考mednafen模拟器目录下Documentation目录里debugger.html文档。
/ p4 ^  `& Y. v  b+ D6 t
3 Z0 L1 J5 E& s; @  q2.用mednafen加载SS怒首领蜂,进入游戏后第一步是查找1P飞机数,查找过程略过,我找到1P飞机数地址:0x060c0061  ~$ D0 c7 L3 U6 X

3 `  v) R/ C# n  `0 s, Y" f3.进入游戏后,按ALT+D调出调试器,按SHIFT+W打开写断点框,输入060c0061后按Enter完成写断点设置;
( D) M/ F1 F* Q4 V+ i& z
# p8 @( b) T2 @- k4 G
( \1 Q% {5 y; X+ ?( j+ w4 ^$ X9 a: G3 N6 b
4.按ALT+D退出调试器,回到游戏中死一命后调试器发生中断,程序停在0603A8CA: mov.b r1, @r2
2 p8 E  w4 s) `8 t0 l) F! n3 Y
5 ]! b9 j5 U6 q' l' y- ?7 r; m7 l
2 ~# ~. W( o  i; I0 ]$ e/ Z4 E
5.接下来分析一下:; V' |) J5 l8 ^4 W
0603A8C6: mov.b @r2, r1        把r2寄存器地址的数据传递到r16 o  s) `! N0 m' `
0603A8C8: add #-1, r1                把-1数值和寄存器r1相加,结果存入r1寄存器3 n8 _$ r9 K( U
0603A8CA: mov.b r1, @r2        把r1寄存器的数据传递到r2寄存器的地址里
' @4 U. v3 Y# `9 R/ y5 U6 k
0 _: [. Z) C7 T' J0 x) ^6.只要把0603A8C8: add #-1, r1指令nop掉就飞机数就不减,SH2汇编nop指令机械码是00 09;
7 l7 r# ^& x$ e
  m0 Z1 E5 R9 M4 u& R- m+ h$ H  h7.按ALT+3切换内存窗口,还记得前面说的关于SS内存区域吧,0603A8C8地址是HWRAM区域,按CTRL+→切换到High Work RAM区域,按D调出Dump Memory框,输入3A8C6 3A8E0 SS_dump.bin后按Enter,之后会在mednafen模拟器目录下生成SS_dump.bin二进制文件;- x$ {" k4 ?+ r3 y5 c

1 a: N  n7 F* Z  D( Q$ w; M0 ~5 I7 Y& k3 r  [1 ^( f  u% n
5 Q# W/ D& E0 \+ O
8.用IDA反汇编SS_dump.bin结果:  Q/ k+ K3 c3 u2 h3 k
/ G0 ?6 h: U& U/ y
ROM:0603A8C6 61 20                 mov.b   @r2, r10 s4 Q0 n( I3 J/ z
ROM:0603A8C8 71 FF                 add     #-1, r1
4 Y" `- |' r# m3 P# ?+ y$ t9 ~* ZROM:0603A8CA 22 10                 mov.b   r1, @r26 X  ]$ u5 X. ~# Z
ROM:0603A8CC 61 1E                 exts.b  r1, r1
9 p/ H+ k$ ]" @+ VROM:0603A8CE 41 11                 cmp/pz  r1
- f7 u& ?- B5 ~+ v) DROM:0603A8D0 8F 07                 bf/s    h'603A8E2, k9 S* _( r4 j
ROM:0603A8D2 E9 00                 mov     #0, r9& }+ R7 q) E# Q# W: u2 U+ d
ROM:0603A8D4 61 32                 mov.l   @r3, r1) G; L0 Z1 G; `) V( l+ U
ROM:0603A8D6 D2 3E                 mov.l   #h'FFFFFFFF, r2
# U& |# j' t! D( L8 [8 E9 X/ qROM:0603A8D8 21 2B                 or      r2, r1
) \% t! h3 R8 h. E: KROM:0603A8DA D2 3E                 mov.l   #h'FFFFFFFF, r2. E) S, P6 ?3 D- g3 {

' {2 U. C2 O) s8 f/ e; ?反汇编结果得知add     #-1, r1指令机械码是71 FF. W3 F# m+ ]! O- c+ h; A0 y
# C: M# S# O1 e
9.用winhex打开怒首领蜂镜像,查找 16进制数据“612071FF2210611E41118F07E9006132D23E212BD23E2129A06523”;" C* A4 k* J4 U5 o6 t0 U
: \4 {5 Q( d! A/ A* V% j4 ?$ N) Y
4 T4 f" u5 |. f2 R3 h& U, }
* Y, n  p- q8 d& x. V
10.把71 FF修改为00 09,另存为镜像,我不建议覆盖镜像,而是另存为镜像,怕万一改错了引致镜像损坏。+ j, G1 I6 n' U$ A0 y

. t, Z8 I4 n9 n( n# n" T2 C8 }( j: ~
: a4 k! m+ v6 L; L* f
11.用mednafen载入修改过的SS怒首领蜂镜像,如飞机数不减说明修改成功。
6 H6 v. s' Z2 f
; R5 i+ L8 \5 m0 B# d
7 f8 A/ W% |; J& z4 p* U: e
2 E6 H5 q" }0 Z7 L12.要刻盘在主机玩请先用ECCREGEN 1.41修复修改过的镜像EDC\ECC。
& y! l' b; Y3 ]5 b* e# t/ ]* P6 I2 v3 {4 k
疾风之狼* M# B) b4 x. T( A
2025.06.29

本帖子中包含更多资源

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

x

评分

4

查看全部评分

签到天数: 763 天

[LV.10]以坛为家III

发表于 2025-6-29 18:07:07 | 显示全部楼层
修改这些CD游戏5 N) d( h1 N& I% B( c+ B/ ?
还是用金手指简单点
回复 支持 反对

使用道具 举报

签到天数: 644 天

[LV.9]以坛为家II

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

使用道具 举报

签到天数: 1657 天

[LV.Master]伴坛终老

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

使用道具 举报

签到天数: 839 天

[LV.10]以坛为家III

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

使用道具 举报

签到天数: 861 天

[LV.10]以坛为家III

发表于 2025-8-8 16:07:54 | 显示全部楼层
大佬威武,學會了一點
6 F. B- c4 v$ r7 D& s
% H: l8 k# c' I* U' q' b

本帖子中包含更多资源

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

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

使用道具 举报

头像被屏蔽

签到天数: 7 天

[LV.3]偶尔看看II

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

使用道具 举报

签到天数: 1242 天

[LV.10]以坛为家III

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

使用道具 举报

签到天数: 9 天

[LV.3]偶尔看看II

发表于 2025-8-12 12:59:07 | 显示全部楼层
  h7 O9 D( \) h4 i7 W
谢谢分享; h2 a- I' B0 {/ T
回复 支持 反对

使用道具 举报

签到天数: 69 天

[LV.6]常住居民II

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-4 07:04 , Processed in 1.061523 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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