EMU618社区

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

[原创HACK教程] SS HACK教学

[复制链接]

签到天数: 1994 天

[LV.Master]伴坛终老

发表于 昨天 17:13 | 显示全部楼层 |阅读模式
游戏:SS怒首领蜂
5 t9 Z# G2 a! k; j7 ^& s, P( r
: \: |4 {' U! T( N9 ?使用调试器:mednafen( Z; {! P, Z9 ~) k+ f4 N* m

8 t' n0 Z' k+ n! \  A; g反汇编工具:IDA
4 z' m5 f9 R# C* |9 e( n: S' |- A9 w+ \; i& b* U: K  l9 b1 F  P3 @
16进制编辑器:winhex或其他16进制编辑器
5 S6 b* V8 C: L1 f
$ B. L7 g. i) y4 z! L3 [' vmednafen是多机种模拟器,模拟器是通过命令行方式加载游戏,当然你也可以通过前端方式加载游戏,关于mednafen的前端太多,请自行寻找。) T/ v8 m1 {+ |: {
% j# B' k; S# j& V
关于SS CPU:" |5 d4 i6 G' ^* d- N% W
SS是使用日立SH2作为CPU,关于SH2指令集请自行百度或bing查找。 ' q$ _: ?8 N& \$ F7 m# ?" r2 s
& ?- g& t. T! c8 }# ?7 S+ J
关于SS内存区域:; o' `, z5 C2 ]4 b
LWRAM 0x00200000~0x002FFFFF7 v$ w3 m; t5 i! ?  G2 ?
( `& r+ U; t* y) z0 ]$ B
HWRAM 0x06000000~0x060FFFFF8 M! N- N$ R* H2 S! ~1 H( a3 c
- F9 u7 q& b: h3 L8 R8 a. {# c% f. v
68K RAM 0x05A00000~0x05AFFFFF+ Q) p5 }; l4 _9 N8 L! t. U& |

& R/ S; T" R" g7 ]3 H9 p1.下载mednafen解压后,运行一次mednafen.exe,生成mednafen.cfg文件,用记事本之类文本编辑工具打开mednafen.cfg,查找全部debugger.disfontsize 5x7,全部替换为debugger.disfontsize 9x18并保存,不这样改调试器显示字体太小。4 w7 j' U0 N3 D4 i

6 m2 Z* b- Q! |" g, Y- J# V+ u1 ]关于mednafen调试器用法请参考mednafen模拟器目录下Documentation目录里debugger.html文档。
. c8 w) F6 O# Z9 E; l0 v6 h
( L( l/ c$ O$ o- Z5 j2.用mednafen加载SS怒首领蜂,进入游戏后第一步是查找1P飞机数,查找过程略过,我找到1P飞机数地址:0x060c0061  N7 X8 H6 B' }: A' b
: w% f! b7 y: l0 g1 z) o9 J2 v
3.进入游戏后,按ALT+D调出调试器,按SHIFT+W打开写断点框,输入060c0061后按Enter完成写断点设置;6 I, u( d3 B9 w7 g7 \% r. L9 E

2 T$ ]9 h7 M9 x7 o/ z8 y8 e! h( ^' s  Y, H; C$ @4 R

, Y1 b) j( e# a9 g8 l4.按ALT+D退出调试器,回到游戏中死一命后调试器发生中断,程序停在0603A8CA: mov.b r1, @r2; k4 [" `. ?0 v, f) ^- h6 D- X
/ G: A& _. L$ `# a
( `1 d. F/ M* U. j

8 _0 a5 Q  B+ U% r5.接下来分析一下:
7 D3 D( y- ^" ]% p1 R0603A8C6: mov.b @r2, r1        把r2寄存器地址的数据传递到r1$ L( @+ h: u& {$ k7 a4 \; n
0603A8C8: add #-1, r1                把-1数值和寄存器r1相加,结果存入r1寄存器5 O& U1 e5 k) j+ H8 m
0603A8CA: mov.b r1, @r2        把r1寄存器的数据传递到r2寄存器的地址里
0 [) Y. G1 m+ g: \/ {' v/ `
' s6 E& J& u1 o! a) d, ?8 H6.只要把0603A8C8: add #-1, r1指令nop掉就飞机数就不减,SH2汇编nop指令机械码是00 09;7 G: z* ]6 N4 O) _. h: a2 n. ?
- l1 Q' O8 i; Q
7.按ALT+3切换内存窗口,还记得前面说的关于SS内存区域吧,0603A8C8地址是HWRAM区域,按CTRL+→切换到High Work RAM区域,按D调出Dump Memory框,输入3A8C6 3A8E0 SS_dump.bin后按Enter,之后会在mednafen模拟器目录下生成SS_dump.bin二进制文件;
& B1 w5 c7 a( i( X* X8 o% x* n' J0 b2 |# t
  K2 H8 g+ z+ K- X  V3 G! Z

' n+ H9 T- l; f8.用IDA反汇编SS_dump.bin结果:
! q/ l( j( s6 Q7 z' E
5 y$ `2 o$ p- K  `' EROM:0603A8C6 61 20                 mov.b   @r2, r1
# i  V: P6 d+ n$ l% u: Z- N' NROM:0603A8C8 71 FF                 add     #-1, r1
  ?$ ~% H/ f: \2 ]7 nROM:0603A8CA 22 10                 mov.b   r1, @r2
. A* [* F$ q* l& P( cROM:0603A8CC 61 1E                 exts.b  r1, r1
  n$ ~4 M+ d  }, B& z# h! MROM:0603A8CE 41 11                 cmp/pz  r1
% U( q& J+ a: n1 c1 j( ]! V' \ROM:0603A8D0 8F 07                 bf/s    h'603A8E2) J7 [- G3 V8 \$ D9 z1 R( D' o
ROM:0603A8D2 E9 00                 mov     #0, r9$ M! p& c4 d' t" X4 B
ROM:0603A8D4 61 32                 mov.l   @r3, r1
# Z# T) t1 ~' G4 A- |0 K# UROM:0603A8D6 D2 3E                 mov.l   #h'FFFFFFFF, r20 c" {' m& v; i; j& _
ROM:0603A8D8 21 2B                 or      r2, r1
* m! X+ a  X" {& jROM:0603A8DA D2 3E                 mov.l   #h'FFFFFFFF, r2
2 ]) H9 a. o% z: C" M- t/ W/ j! Q: w" ~9 F, P
反汇编结果得知add     #-1, r1指令机械码是71 FF& H) K& S$ x2 R0 K

. V" q* Y& g" L4 ~1 u, e9.用winhex打开怒首领蜂镜像,查找 16进制数据“612071FF2210611E41118F07E9006132D23E212BD23E2129A06523”;$ K/ `: S8 ^" Z8 ^
) J! |) J" r+ M" U0 O

: T' O& b. O# y. _4 U
9 v8 E+ A# |" C0 ]' C% ^, J10.把71 FF修改为00 09,另存为镜像,我不建议覆盖镜像,而是另存为镜像,怕万一改错了引致镜像损坏。2 U& k  S4 v6 h  e8 M2 B2 g  f

: B3 w( e. [3 k
3 a* W5 |& [) ?# r
* @/ M; F* @7 [& C11.用mednafen载入修改过的SS怒首领蜂镜像,如飞机数不减说明修改成功。
$ r+ n7 U4 t1 f& t0 G) S8 @! S7 D: c( y2 ^3 v4 m) A
* j' _, G' t& C/ Q

7 }) ]8 j9 H& {/ F6 V12.要刻盘在主机玩请先用ECCREGEN 1.41修复修改过的镜像EDC\ECC。
! \: h( J: }: y1 X+ Q+ c4 y( V+ c6 K* f
疾风之狼
+ P5 @9 F' R3 O7 V2025.06.29

本帖子中包含更多资源

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

x

评分

3

查看全部评分

签到天数: 636 天

[LV.9]以坛为家II

发表于 昨天 18:07 | 显示全部楼层
修改这些CD游戏
2 E0 a" U  k* c: S" E还是用金手指简单点
回复 支持 反对

使用道具 举报

签到天数: 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:30 , Processed in 1.073242 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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