EMU618社区

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

[求助] 某种特殊情况下该怎样解决?

[复制链接]

签到天数: 29 天

[LV.4]偶尔看看III

发表于 2012-9-25 17:42:38 | 显示全部楼层 |阅读模式
我在修改的过程中遇到一些只有2个字节的数据4 J  n- L! }  d' T& @
例如 :      
$ s% Z0 Q" C( l' x0 A1 y C021:  85 16  STA$16                           85 16     两个
" [3 g- I% ~, I0 J# L/ w! U
) D3 Z0 j5 j  z8 Q0 _
) m3 Y- B/ S+ f! |* B' A, ~! C然后我需要在这里修改成跳转,但是要跳转的地方需要3个字节l来修改:
" K3 A! m; }" p' ]0 o! D& F  {例如:
- [- v* Q2 a: R" lC021:4C BFF0 JMP$F0BF                   4C BFF0   三个
$ {2 S$ }+ S& J. o4 h5 e: _$ M2 N9 \) g( u; \/ X

0 c- A8 r* C3 @$ P& C; C连续的数据是:  S9 ]4 [3 a" r5 G/ x
  i! i: b9 [* w4 B+ K( C- t; k
C020:14 85 16 A5 15 85 17 A9 00 90 A5 95 D0 08 A5
+ {3 |6 F2 u6 ~, E4 ?% h: v% l4 A6 Z) I& w9 e

+ w8 O4 j1 P- R0 s+ o( v这种情况下我改怎样修改,但是原数据只有2个字节,如果我这里改成3个字节会对后面连续的数据造成破坏,我应该怎样改呢?
. U: G0 z0 r0 D; g. k. e! |- N1 c- W; V- x
不知道自己有没表达的清楚...希望大家能看懂我的意思..

该用户从未签到

发表于 2012-9-25 18:06:12 | 显示全部楼层
本帖最后由 money_114 于 2012-9-25 18:07 编辑
& b5 m" u0 R) R2 T0 |) P2 M! n' b& W
就直接跳转, 然后在跳转地址这把前面修改的命令补全
* l' k0 z0 f& g/ q! }0 \, l8 Z; v. T! ~
跳转命令看这, 写的很清楚了0 p( R5 _& h) J' K, q3 \( T
http://shinwa.kami.blog.163.com/ ... 047200822563622456/
- ^1 ~! j, _  S" m- x1 y& G
[发帖际遇]: money_114 捡了钱没交公 柠檬 降了 2 个 . 幸运榜 / 衰神榜

签到天数: 1927 天

[LV.Master]伴坛终老

发表于 2012-9-25 18:10:06 | 显示全部楼层
  1. C021:' ~  d: _: J- E: b6 v& V% Q
  2. 85 16 STA $16  ->4C BF F0 JMP $F0BF2 w6 l! E, s/ H
  3. A5 15 LDA $15  ->EA       NOP
    ' }( [, v; r0 @$ ^" F; Y
  4. 85 17 STA $179 G8 |' L. _: O/ H
  5. A9 00 LDA #$00
    ; y8 y1 r: ^2 C# n' C+ ?% o

  6. ! z) p6 Z' \5 n8 G, @
  7. F0BF:  \" m7 O% J3 K
  8. 85 16 STA $16
    4 A  X% C9 w& c, O
  9. A5 15 LDA $15
    & X+ b. g: D* h: \) Y7 I
  10. .
    ) }. E/ D! m) e8 Y# Y9 R
  11. .% k& R- ]1 u2 G# K8 N: X; g% D0 T
  12. .
    & k% _: B: F! d. B1 G0 |  q
  13. .
复制代码
[发帖际遇]: 疾风之狼 被钱袋砸中进医院,看病花了 1 个 柠檬. 幸运榜 / 衰神榜

签到天数: 29 天

[LV.4]偶尔看看III

 楼主| 发表于 2012-9-25 19:51:21 | 显示全部楼层
本帖最后由 rxlzh 于 2012-9-25 19:54 编辑 $ W1 S6 M- N& V0 U* M. h4 V
疾风之狼 发表于 2012-9-25 18:10
* C  J5 a9 d& ?3 U  e! V# A

0 d( z# Q& i$ B# [$ m狼大,我按照你的方法,不知对不。
0 f, G! w" l, f$ M8 u$ B( Q3 s: j7 o" U2 U) m( m' E
7 d' J1 R! C. o
原数据
* t. ]1 ]$ v9 e$ _6 N2 V# d6 fC021:       85 16 A5 15 85 175 z1 v& C0 n7 B4 K" D9 x
2 f5 w5 b, X7 s
修改后5 D% _3 N. H# t9 k1 U; h
C021:       4C BF F0 15 85 17                  把连续的数据A5覆盖掉跳转到F0BF- D$ \  Q( @$ J3 y: G4 w% _
5 V, O. u- S- M
- @3 I6 U, w  S) H
F0BF:85 16  A5 15  4C 25 C0                重新写入原数据和后面被覆盖的A5然后跳回C025
# [' h! ]6 l, M
# }4 R2 d/ f- `/ K0 {* k7 k5 |8 _3 F2 c' A
5 C6 D' ^9 q% s9 h
我之前也用这个方法测试过一次,不知为啥返回模拟器继续运行提示错误。

签到天数: 29 天

[LV.4]偶尔看看III

 楼主| 发表于 2012-9-25 20:03:47 | 显示全部楼层
本帖最后由 rxlzh 于 2012-9-25 20:08 编辑
9 y. _9 {5 _  ~3 ?$ h( F) H& i. }' p/ y% @0 z( Q
看了money的文章后,这次我把前面的几句指令也列举出来:, }& e: q! q9 J
C01F: A5 14 LDA $14               :A=0x12
& |% U# F, ^& M. C" ~0 {C021: 85 16 STA $16               :[0016]=A=0x12
, D4 D  E3 Q+ p8 m9 t; E8 u( I! X: j2 s" m2 V# V0 M
根据文章的内容我是不是应该从C01F这个地址开始修改呢。
8 u3 ?0 I0 f% K2 o9 V. @+ n% Y. b我现在重新动手测试一下,有问题再来请教你们! u5 j9 R& Q  Q) \6 c
4 G' X7 ~7 u6 }8 }. U

' X; P! t8 y, {' O2 Z4 ?1 Y# I& u经过我测试后发现可行,在C01F地址那开始修改,没有出现错误,再次感谢你的文章{:4_103:}
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-4-22 01:55 , Processed in 1.155273 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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