EMU618社区

 找回密码
 立即注册
搜索
查看: 2426|回复: 11

[研究] 一些SFC游戏修改方法

[复制链接]

该用户从未签到

发表于 2011-5-16 23:35:57 | 显示全部楼层 |阅读模式
本帖最后由 湘西小人物 于 2011-5-25 01:10 编辑 3 \- c0 r* N& D6 S
1 L0 t! Q: W9 `/ N" [; `  @8 G* [5 m
SFC Blackthorne.smc 锁血方法6 v5 k8 X" z- D/ O1 [- J

! R0 a7 ^4 n5 y* e" D: P, k一.增加按键指令来锁血( c1 I# B/ V7 O) d5 A. {) L

4 C* \8 v+ g" V7 A. T; b4 j1.首先用EC搜索出游戏中的内存地址
4 U# E. _7 H5 ^1 S' C5 J7 {$ y血的地址是0FC5 初始值为06* U+ S' m0 S5 |; e5 D
按键地址是035E和0364 对应代码分别为: 上 下 左 右 = 08 04 02 01
5 W2 V9 x5 G: T' [6 g0 u: J+ s7 v4 T! [9 [1 ]( a% B
2.打开调试器在“Breakpoints”用按键地址[ 035F ]做断点(“Write”框打勾),开始游戏后会搜索到 $ 80/8B6E  8D 5F 03
; m* M6 A  i( ?, i' b, n8 \把代码记下来。同时在“Show Hex”里查找一段空白内存地址,如80E4B0后面的大段00就可以,也把此处前面的一小段代码记下来(作用是在方便游戏文件里找); s$ z5 V, }  u$ J3 ?6 y

1 p8 \4 ?. T! A0 h( T4 y) n4 B% G3.用UE工具打开解压的游戏文件,根据上边记下来的代码找到0 }% X- ]( u! B; O, b% k+ T8 s5 a2 ]
按键地址0B6E:8D 5F 03……) x* ^8 i( n( f9 W: i  H" r
空白地址64B0:00 00 00……
0 N  T3 h7 U5 }2 f) [8 O" U9 y/ }1 X3 s' O
4.输入按键指令
8 E( u! m+ u6 D! s按键地址0B6E:8D 5F 03 0D 61 03改为 5C B0 E4 80(跳转到80E4B0)
) `* Z5 x0 e/ v空白地址64B0:8D 5F 03…插入按键指令…0D 61 03 5C 74 8B 80(跳转到808B74)" P0 I# T9 z* q4 I- ^
& K5 Q+ I! C+ L- `8 K; f
插入的按键指令:1 U% J. c& v& C# z
E2 20 A9 04 CD 64 03 D0 05 A9 06 8D C5 0F C2 20
' n/ V( l5 v& U1 Y+ _当按下的时候血为6格
6 Q; `7 b# _" V. K9 R/ I6 s( r8 R4 l2 M8 B7 h8 l
注:
  t$ a! O8 I/ A& Y4 F) Z6 |" VE2 20 出栈' \  U  X2 K9 `1 C# I
A9 04 按键代码04
4 K: _" |0 D: M7 H1 W1 s( K" cCD    当# ]* u1 ]8 q8 H8 E8 V) q
64 03 按键地址0364
+ ?- D9 o3 m  @D0 05 判定0 R- z# t1 t2 w9 j$ c1 j
A9 06 获得值06
" O  P1 z3 |( o9 Y8D C5 0F 内存地址0FC5; D. }% a/ V1 v8 B6 r
C2 20 入栈
- b# {: j% _+ e7 ]
- |; e7 Q, a7 b: M7 o, x
7 Q/ _: C9 F' c1 |9 P二.借用其他指令来锁血
! D. {# {/ q8 J根据EC搜索到的代码,血的地址是0FC5 初始值为06
2 Z, y% j9 }7 F$ u& c$ J) x0 ^8 R) B在游戏搜索 A9 06 00 8D* X1 u- x: G( Y' x
找到地址00CD:A9 06 00 8D 0E 03
$ C$ E' Z6 c" w# T% c直接改为00CD:A9 06 00 8D C5 0F
4 H1 {0 A& b2 V/ q2 @7 O8 t
* V  F4 G9 K( g/ N7 D8 `& G0 h2 s/ l( p: d7 C  A
使用以上方法可使游戏中不减血
( ^% w8 U- i/ ~! t呵呵.有兴趣自己测试下

该用户从未签到

发表于 2011-5-17 08:32:51 | 显示全部楼层
本帖最后由 dfgbfgng 于 2011-5-25 06:16 编辑
+ s$ q# F; h# {% V
8 D7 p. D2 Z- h% z  |# l$ @
游客,本帖隐藏的内容需要积分高于 100 才可浏览,您当前积分为 0
收藏学习!万分感谢!{:4_111:}

该用户从未签到

发表于 2011-5-17 17:49:26 | 显示全部楼层
E2 20        SEP #$20    (Set 8-bit Accumulator)( x/ g0 X- I6 c

5 b4 y( Q. n0 l$ bC2 20        REP #$20    (Set 16-bit Accumulator)

签到天数: 6 天

[LV.2]偶尔看看I

发表于 2011-5-17 18:54:40 | 显示全部楼层
锁血的话,在判断按键的前面直接赋值06到血值也可以吧?或者直接判断按键值是否为0?{:4_116:}

该用户从未签到

 楼主| 发表于 2011-5-19 14:51:58 | 显示全部楼层
本帖最后由 湘西小人物 于 2011-5-24 14:46 编辑
, J2 ^- C) d3 j; Q
5 U  n+ X8 z7 O6 d5 n7 [8 V8 h三国群英传的改法, K2 v- B5 I$ w" z( U, f# S' p. z

, N0 O2 x3 b, F% {# g一.用EC修改器搜索相关数据. ~! P0 I* p8 ~$ r
按键地址两个 01C3和0C42
/ w8 n5 ^8 b8 |" d% T7 m4 g: Z金钱地址 7606
" G6 |0 W2 ?8 [* ?# ~5 i
' A# q. T& T0 r* G$ P% d
4 @1 O: x( ]. |& L二.调试器用按键地址0C42断点查到& ]* \2 e  e: n& d( p4 x
$ C0/8EB5 -9D 41 0C) u. K7 F1 O* |7 \& v
记住附近一段代码方便UE查找
" B( q/ X" C# M5 M  n2 }  E7 d2 i! G0 T( Q; |& U
顺便寻找空白地址8 [& ^( q, H2 E* Q
CEA960-00 00 00 00……
- }  h! l! O. @' ]( B) O记下这地址前面小段代码方便UE查找
5 \* l+ D& [7 tC4 72 3F 00 00 00
; L3 f7 b" f% ?9 ]9 r  |* J5 A' i! P" h  ^" t
三.UE打开游戏文件
4 c2 ]: G( N4 w# O0 T* y/ E根据前面记得代码查到
  z5 [( r- Z- R( V1 {% i* l按键地址
7 V( e3 l& a- l* H. |  q8EB5-9D 41 0C 3D 45 0C
5 }. a: d6 q; f
, j2 z4 C. d; G8 r" S0 N, r空白地址
8 J  G/ M6 N1 `% n% N+ {0EA960-00 00 00 00……" A; N+ i8 s* m) q# _$ _7 h: c

. t- m$ l' C' s9 y2 y' s四.输入按键指令. g: _) @; H6 X  c- [
按键地址8EB5:9D 41 0C 3D 45 0C改为 5C 60 A9 CE(跳* b2 l# l. W6 z( W' m
! v' O" F1 l% u4 a
转到CEA960)* A; l% F1 y; {6 h6 W. ]( \
空白地址0EA960输入:9D 41 0C…插入按键指令…3D 45 % C- U) c7 m7 O
/ u$ u) E- E( Y' s7 C1 L
0C 5C BB 8E C0(跳转到C08EBB)
. a: X  F4 z) z, ^$ l
8 \2 F1 k5 _! D: Q+ f, W$ K插入的按键指令:
( P$ F4 t7 |9 z+ {- tE2 20 A9 00 CD C3 01 D0 06 A9 05 8D 06 76 7E C2 20
3 n. x: M$ g$ n( N) |5 w3 D" O当按键地址为0的时,金钱为5
1 ?; K, M% t0 g2 b; x
5 Y" I# N. w! M. E# }: C8 x其中的数值和地址按搜索到的内存地址改动就可以随便改了

该用户从未签到

 楼主| 发表于 2011-5-25 01:04:36 | 显示全部楼层
Darius Force (J).smc
2 B6 P1 k: ^- P5 ]; J" ?& I  O4 m* r; S0 s4 t1 j
无敌法
( `; U7 ~0 r8 x3 w
- n& O0 z4 D+ C2 ]0 _# I  A3 x1.游戏开始会有短暂闪烁(无敌效果)+ o: [- |/ r  ?- d
根据以往修改经验,一般无敌数值为0。即在进入游
6 M. B1 k9 [0 e+ m+ f3 ]7 g  {4 _' w( i2 J
戏后分别存两个即时档,本机闪烁状态和正常状态。; M5 j' i  y# k! D; s
EC搜索方法:
: J# l8 r! {* _* R/ W正常状态时搜0' H0 N) m/ M. x- f) m0 j
读取闪烁状态存档,搜+
' h0 [4 i2 V, W+ {" _7 l恢复正常状态 刷新 搜0
+ r  B. y! [1 `1 E5 V保持正常状态 刷新 搜0; Z  Y/ ?  E0 B" V
保持正常状态 刷新 搜0% @4 H6 y& ~+ S* W1 {& Y
重复……+ S$ l* o# @8 b
当搜到的地址很少时
0 O# I2 V. l; t( G0 R4 C读取闪烁状态存档,EC刷新把搜索到的地址数值都锁
  v2 e2 J! _6 G; w1 G9 s/ c( y) ?3 h1 ~2 x  y: y+ w' a" [

4 |" i2 ]% `; c3 k! P其中一个就是无敌地址!0113,20
% D8 R4 y3 d) r5 o8 E$ }4 d1 W
& D' e5 ~0 W! Q2.获得道具(无敌效果)
6 r9 D# W4 T/ M; _4 m: jEC搜索方法:
( W- G* T5 R( X, k) o正常状态时搜0. C& J# S3 q4 @1 S7 n  H5 s
读取道具无敌状态存档,搜+
, V$ Q4 Z9 C1 g, p, I恢复正常状态 刷新 搜02 T8 a5 @3 g0 ?9 Z! [
保持正常状态 刷新 搜0& E  _: I3 i9 _3 [' m
保持正常状态 刷新 搜0* r, N9 O9 c4 N0 P- g6 }
重复……
5 q7 d0 y, P: a+ u  S! s当搜到的地址很少时
& t( p1 X9 m% b% e读取道具无敌状态存档,EC刷新
3 k4 h: M' {: v  q4 y  M把搜索到的地址数值都锁住1 L) I4 P' A  N
其中一个就是无敌地址!
" T( d* n. t  g/ _0131,02
头像被屏蔽

该用户从未签到

发表于 2011-5-27 18:07:32 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
头像被屏蔽

签到天数: 91 天

[LV.6]常住居民II

发表于 2011-5-28 00:30:29 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

该用户从未签到

发表于 2011-5-29 14:48:04 | 显示全部楼层
真棒  支持了~!~!~!

签到天数: 37 天

[LV.5]常住居民I

发表于 2012-5-5 14:32:54 | 显示全部楼层
{:4_92:}8 k* K' f" g* b! |: X3 O
别搞100分阅读嘛,看不到郁闷!

签到天数: 134 天

[LV.7]常住居民III

发表于 2014-2-2 23:36:04 | 显示全部楼层
谢谢分享成果,楼主真厉害。

签到天数: 1 天

[LV.1]初来乍到

发表于 2017-5-13 18:43:58 | 显示全部楼层
楼主高手啊。。。问下一些公式能修改吗????
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-4 00:23 , Processed in 1.078125 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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