EMU618社区

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

[原创HACK教程] SS HACK教学

[复制链接]

签到天数: 1995 天

[LV.Master]伴坛终老

发表于 3 天前 | 显示全部楼层 |阅读模式
游戏:SS怒首领蜂
& c( r! w/ b9 d7 M9 W, \, \% Y1 e6 c
使用调试器:mednafen2 ?1 B9 }) q6 U; r8 d9 ]% l
, i+ P4 r: |5 A
反汇编工具:IDA
7 L2 X5 a! p+ F' m% Y' H8 L& w
/ Q& z9 N1 g0 u9 O16进制编辑器:winhex或其他16进制编辑器
3 J: u' r1 F8 E& B$ k6 Z' x) W, x; Y( K8 _& m6 u- w, b
mednafen是多机种模拟器,模拟器是通过命令行方式加载游戏,当然你也可以通过前端方式加载游戏,关于mednafen的前端太多,请自行寻找。
; F- C: V( y8 Y& i6 y& V  F& E7 M$ [$ R/ G% X
关于SS CPU:1 f0 {! k( Y1 C- U+ O5 O* z
SS是使用日立SH2作为CPU,关于SH2指令集请自行百度或bing查找。 : U9 \2 R& J  k: u  g

- m4 }6 C) Z/ F0 M: @关于SS内存区域:
9 J2 h8 h0 R% H3 A% T/ qLWRAM 0x00200000~0x002FFFFF
  X8 Z2 o7 S: |. H# E  k& k/ x' {& Q1 q2 O+ e8 T
HWRAM 0x06000000~0x060FFFFF
  }( b. U, S. t9 M5 v$ l! F9 `* {% z' T; q/ L. [" X
68K RAM 0x05A00000~0x05AFFFFF
* x& f! P$ R, d0 q
$ F9 B  J$ u, O; g1.下载mednafen解压后,运行一次mednafen.exe,生成mednafen.cfg文件,用记事本之类文本编辑工具打开mednafen.cfg,查找全部debugger.disfontsize 5x7,全部替换为debugger.disfontsize 9x18并保存,不这样改调试器显示字体太小。
+ e4 c, T5 e5 a  a$ N! l
4 ^4 ]+ }. P5 J关于mednafen调试器用法请参考mednafen模拟器目录下Documentation目录里debugger.html文档。% [# K8 K% x$ R6 G

& y9 N) I) n4 H, f9 n3 z/ f: x0 y& _2.用mednafen加载SS怒首领蜂,进入游戏后第一步是查找1P飞机数,查找过程略过,我找到1P飞机数地址:0x060c00617 u9 M- T8 {* n! y3 N' \4 {

- r3 {# y7 z" H3.进入游戏后,按ALT+D调出调试器,按SHIFT+W打开写断点框,输入060c0061后按Enter完成写断点设置;; ]1 ]/ R1 j* |6 D5 w* d
8 _% a' u  `3 p
) }9 z) n( \1 p
- D/ c& i& Z- ^9 p! K
4.按ALT+D退出调试器,回到游戏中死一命后调试器发生中断,程序停在0603A8CA: mov.b r1, @r2$ z9 Z8 d/ z3 n
- }; o9 x6 D9 h5 C; q

: v: s# [( N5 r, F) R
5 P4 D# U1 U' c+ a, X, L5.接下来分析一下:. R; K. n4 ]$ ^% U. J! J: x7 [# n3 p
0603A8C6: mov.b @r2, r1        把r2寄存器地址的数据传递到r1! @& B/ _9 y! q
0603A8C8: add #-1, r1                把-1数值和寄存器r1相加,结果存入r1寄存器
7 d* q5 ?3 R  I9 `) |! F6 U0603A8CA: mov.b r1, @r2        把r1寄存器的数据传递到r2寄存器的地址里4 N; O+ m1 [  i7 R) {5 z

  U  x9 N. D1 O5 E& r6.只要把0603A8C8: add #-1, r1指令nop掉就飞机数就不减,SH2汇编nop指令机械码是00 09;
, |% d3 I0 E7 H0 b+ t2 K  c
7 y5 b8 C% f9 a& L7.按ALT+3切换内存窗口,还记得前面说的关于SS内存区域吧,0603A8C8地址是HWRAM区域,按CTRL+→切换到High Work RAM区域,按D调出Dump Memory框,输入3A8C6 3A8E0 SS_dump.bin后按Enter,之后会在mednafen模拟器目录下生成SS_dump.bin二进制文件;
+ ~/ j' h( h4 C, \2 T$ ]( P! Q+ K8 [+ w7 b
1 X1 b* v4 G1 o- x7 j
9 Z$ o% Z! B' l0 ^+ U$ Z$ s
8.用IDA反汇编SS_dump.bin结果:
0 P. }" l) P/ ^; |
1 |# k% }7 m* o* ^8 A# QROM:0603A8C6 61 20                 mov.b   @r2, r1- V# K! }* y$ r" C$ i
ROM:0603A8C8 71 FF                 add     #-1, r1
% w2 @% i! D8 X; m( i% FROM:0603A8CA 22 10                 mov.b   r1, @r2
0 e' q5 D! M: I) ?4 z" mROM:0603A8CC 61 1E                 exts.b  r1, r1( G1 Z9 j4 \5 @5 o- ~  M$ ~5 l3 z& ~
ROM:0603A8CE 41 11                 cmp/pz  r12 A2 f4 F3 d5 Q  b  W# E- M) R
ROM:0603A8D0 8F 07                 bf/s    h'603A8E2; z+ J, V  O+ I( x( [: H* i
ROM:0603A8D2 E9 00                 mov     #0, r9
( {& Q; Z5 U/ P+ V" tROM:0603A8D4 61 32                 mov.l   @r3, r12 {, Y. I5 R3 d9 F: ?7 f
ROM:0603A8D6 D2 3E                 mov.l   #h'FFFFFFFF, r2
  I, [4 t7 k0 P! eROM:0603A8D8 21 2B                 or      r2, r1: m1 k1 D5 ~. a7 U
ROM:0603A8DA D2 3E                 mov.l   #h'FFFFFFFF, r2
. H  w  w0 f, o( L4 ^  M* R: N. v0 I/ [8 W: U" U5 [7 @- O
反汇编结果得知add     #-1, r1指令机械码是71 FF% u& b3 S. q' ~
8 Y/ G5 q' v3 Z4 j  U8 r8 b
9.用winhex打开怒首领蜂镜像,查找 16进制数据“612071FF2210611E41118F07E9006132D23E212BD23E2129A06523”;9 b2 t3 v( L* r: d: @" j
3 U9 [) G3 s4 @# _2 A" x
/ L& n1 r# n  S* S2 T. \+ [  S

9 M+ _6 w" u9 w5 i  c10.把71 FF修改为00 09,另存为镜像,我不建议覆盖镜像,而是另存为镜像,怕万一改错了引致镜像损坏。7 s7 G3 y: G6 B8 z( U. |$ U! c
* f5 B3 P& R7 h5 L# `5 {* T1 C& a1 ^

2 q& G1 f" f; ]/ y. c. s
% S, |8 D. ~' ^( u11.用mednafen载入修改过的SS怒首领蜂镜像,如飞机数不减说明修改成功。. Q% P' y4 m" ]% O) B, Z

- v) U8 g+ \7 C; ^, l% j% Y1 C$ |: i+ T" L5 r5 T3 U7 o

3 A& ]$ n* b$ Q6 `/ I. D  z0 X5 c12.要刻盘在主机玩请先用ECCREGEN 1.41修复修改过的镜像EDC\ECC。
. m* ]/ J% H* ^; q/ E
5 ^- q+ L1 V) s2 y. W& w0 W
疾风之狼+ V" t+ i% B, R, h" g+ }
2025.06.29

本帖子中包含更多资源

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

x

评分

3

查看全部评分

签到天数: 638 天

[LV.9]以坛为家II

发表于 3 天前 | 显示全部楼层
修改这些CD游戏6 W  W" z6 _  h$ j" j+ _7 p$ G
还是用金手指简单点
回复 支持 反对

使用道具 举报

签到天数: 596 天

[LV.9]以坛为家II

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

使用道具 举报

签到天数: 1533 天

[LV.Master]伴坛终老

发表于 3 天前 | 显示全部楼层
感谢老大分享
回复 支持 反对

使用道具 举报

签到天数: 742 天

[LV.9]以坛为家II

发表于 前天 10:49 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-2 10:11 , Processed in 1.055664 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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