EMU618社区

 找回密码
 立即注册
搜索
查看: 77|回复: 4

[原创HACK教程] SS HACK教学

[复制链接]

签到天数: 1994 天

[LV.Master]伴坛终老

发表于 昨天 17:13 | 显示全部楼层 |阅读模式
游戏:SS怒首领蜂7 x9 o+ `/ g9 ^! j  p% G; W0 |

0 b/ e, F# M# ~; `" u使用调试器:mednafen* A3 g9 G! C- |2 ]

# ]( W+ |! K: b" A, ^反汇编工具:IDA( V/ x4 g5 {+ h1 z+ z  `( J
, r2 z) H" O* u1 t0 V5 s4 S/ r
16进制编辑器:winhex或其他16进制编辑器. Q8 F* \. D! }1 y) \

* Z6 f0 M/ `$ |1 `! B- Y8 `9 kmednafen是多机种模拟器,模拟器是通过命令行方式加载游戏,当然你也可以通过前端方式加载游戏,关于mednafen的前端太多,请自行寻找。8 \& P* c3 n- x+ W8 @- R, k
2 _/ Y2 H/ u4 F- B* C; [. V5 \
关于SS CPU:  u: b$ x; h+ W7 l, X
SS是使用日立SH2作为CPU,关于SH2指令集请自行百度或bing查找。 9 K2 w9 o8 w& b7 [: I7 }

  C- z% D) R: \- f: P! t/ e关于SS内存区域:4 ]/ a+ y8 H% u* c& W5 g# e$ _
LWRAM 0x00200000~0x002FFFFF) D. z6 _( e# u/ H4 R7 w$ i5 k0 g1 M
% Q  u- t; t) }+ q( F
HWRAM 0x06000000~0x060FFFFF
( Z  P2 l6 V& G# X0 n  \
/ i; Y0 |/ y* a# j68K RAM 0x05A00000~0x05AFFFFF
9 \' z& z0 ]( V! ], W) ^4 ~# N( W0 J
) R: A0 A4 l9 ~9 ?; m+ A1.下载mednafen解压后,运行一次mednafen.exe,生成mednafen.cfg文件,用记事本之类文本编辑工具打开mednafen.cfg,查找全部debugger.disfontsize 5x7,全部替换为debugger.disfontsize 9x18并保存,不这样改调试器显示字体太小。
) X1 ]; j. o, p, c' _7 ^+ q8 X
5 ?: D8 S$ J9 k* O* i# a关于mednafen调试器用法请参考mednafen模拟器目录下Documentation目录里debugger.html文档。" U1 _. o+ |8 k7 ?: z
4 B- f9 M( Y; |# n# J
2.用mednafen加载SS怒首领蜂,进入游戏后第一步是查找1P飞机数,查找过程略过,我找到1P飞机数地址:0x060c00616 d3 C7 Q3 H9 f" L: b7 z
! J6 d2 X  t  W# A- E/ A4 g
3.进入游戏后,按ALT+D调出调试器,按SHIFT+W打开写断点框,输入060c0061后按Enter完成写断点设置;# \0 d, X: G  ~* n- Q, Q

( F+ j9 T( i7 d" A9 M
- ]# }9 C" a5 _& Z( ]  U
) F5 E. }$ W+ C/ W: H4.按ALT+D退出调试器,回到游戏中死一命后调试器发生中断,程序停在0603A8CA: mov.b r1, @r2% H: p* p0 i: x: v

. ~6 Y( e: B/ O& w- \! _# v8 \2 B6 x
* D/ B1 e+ \# R( F/ {( r: c0 V2 ]& ~6 G  ~# N+ r; [- y  a+ v
5.接下来分析一下:4 n! D: c- ~& W, i" i0 D8 `
0603A8C6: mov.b @r2, r1        把r2寄存器地址的数据传递到r1  c+ {. C2 e! s: H; ^
0603A8C8: add #-1, r1                把-1数值和寄存器r1相加,结果存入r1寄存器( W) x( D8 k: X, B
0603A8CA: mov.b r1, @r2        把r1寄存器的数据传递到r2寄存器的地址里/ P; F  j. G# y2 j* ^
8 ]- z* g9 `0 o& U- ?6 m: U) A) Z
6.只要把0603A8C8: add #-1, r1指令nop掉就飞机数就不减,SH2汇编nop指令机械码是00 09;
& U3 I2 o$ J/ c! x  u# m* x- H
) _' D9 i$ w/ T+ f$ v# N7.按ALT+3切换内存窗口,还记得前面说的关于SS内存区域吧,0603A8C8地址是HWRAM区域,按CTRL+→切换到High Work RAM区域,按D调出Dump Memory框,输入3A8C6 3A8E0 SS_dump.bin后按Enter,之后会在mednafen模拟器目录下生成SS_dump.bin二进制文件;
$ _4 |$ P5 V  e3 v; w) t- T: X' ^* r
- _, Y. J. s5 F1 `! i
% S8 ?1 J7 j. v! }2 d
8.用IDA反汇编SS_dump.bin结果:' w1 j$ h0 |0 o5 l, c7 b, ~- p
8 C% T+ x/ {. X
ROM:0603A8C6 61 20                 mov.b   @r2, r1
. D4 n  X" S! F; r9 t* OROM:0603A8C8 71 FF                 add     #-1, r1
9 C$ F- w9 `  ?& P8 U* E8 KROM:0603A8CA 22 10                 mov.b   r1, @r24 r& H- e' \4 x. v1 {- b1 ?
ROM:0603A8CC 61 1E                 exts.b  r1, r1
/ |  G# g& G: |5 [8 m; o1 RROM:0603A8CE 41 11                 cmp/pz  r1
: \7 H) `6 W0 p3 B$ s% |! J9 OROM:0603A8D0 8F 07                 bf/s    h'603A8E23 M- G: \' ^+ p: S- i
ROM:0603A8D2 E9 00                 mov     #0, r9
1 M# u  r+ S( jROM:0603A8D4 61 32                 mov.l   @r3, r1
7 s) c' }  b8 j# R+ Q1 {ROM:0603A8D6 D2 3E                 mov.l   #h'FFFFFFFF, r2: \0 b  C0 J# f6 d
ROM:0603A8D8 21 2B                 or      r2, r1
+ {+ k( G: n6 O: t' [1 L+ SROM:0603A8DA D2 3E                 mov.l   #h'FFFFFFFF, r25 D: P/ W" k2 q* e9 j) K

3 M7 m1 O2 ?1 v8 a0 u7 z反汇编结果得知add     #-1, r1指令机械码是71 FF6 P* v0 D5 u% l. |: U

5 k; H8 }) k1 q' I* H9.用winhex打开怒首领蜂镜像,查找 16进制数据“612071FF2210611E41118F07E9006132D23E212BD23E2129A06523”;! M) L9 V( s% @7 K$ {
1 b) h1 {3 O1 I- f0 Z

9 M  U' _5 E+ B- [: A8 h1 e
& O; q0 o  m0 f6 D0 p$ x  o$ P& k10.把71 FF修改为00 09,另存为镜像,我不建议覆盖镜像,而是另存为镜像,怕万一改错了引致镜像损坏。
' W1 c6 N3 S* \* A4 [/ |% v6 i$ a: X9 v
+ M7 k! z9 C! ?! f

* H+ M! e$ _5 e, n9 [- e% x" W- ^11.用mednafen载入修改过的SS怒首领蜂镜像,如飞机数不减说明修改成功。+ ?& D1 o( L* ]/ V1 t

/ P2 r. {4 I- h# h/ s) s: f2 U9 M" O2 V* c8 D; J! E( L/ {

1 A  D7 K& G8 s" O6 m12.要刻盘在主机玩请先用ECCREGEN 1.41修复修改过的镜像EDC\ECC。
& p7 O: d5 K  C+ m4 C; I7 x, P" g% t: W: M  A: r
疾风之狼3 q, N  t7 Q2 V9 L' h! M( }  C
2025.06.29

本帖子中包含更多资源

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

x

评分

3

查看全部评分

签到天数: 636 天

[LV.9]以坛为家II

发表于 昨天 18:07 | 显示全部楼层
修改这些CD游戏
- U$ D& o9 k3 i' G还是用金手指简单点
回复 支持 反对

使用道具 举报

签到天数: 594 天

[LV.9]以坛为家II

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

使用道具 举报

签到天数: 1530 天

[LV.Master]伴坛终老

发表于 昨天 22:36 | 显示全部楼层
感谢老大分享
回复 支持 反对

使用道具 举报

签到天数: 742 天

[LV.9]以坛为家II

发表于 2 小时前 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-30 13:49 , Processed in 1.064453 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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