设为首页收藏本站

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

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

[复制链接]

签到天数: 29 天

[LV.4]偶尔看看III

发表于 2012-9-25 17:42:38 | 显示全部楼层 |阅读模式
我在修改的过程中遇到一些只有2个字节的数据- m3 E% H8 j9 _% |: M, W! d
例如 :      ! G9 {2 b8 R: H  n# O6 R
C021:  85 16  STA$16                           85 16     两个
  J! T* @% I0 e% Z! u0 y' P
6 p4 E5 O8 e5 q) y# a8 E+ C# e( W5 H' i! Y( q$ d
然后我需要在这里修改成跳转,但是要跳转的地方需要3个字节l来修改:3 B0 a2 H( a- d  Z: B. `
例如:
* U: E' k& \; |# P. h  w; Z: AC021:4C BFF0 JMP$F0BF                   4C BFF0   三个
3 |7 }) C4 v+ p$ q" p2 s7 F5 c: H7 j; Q# H" m/ Q

* k/ V4 s3 W6 f( w, a' |' k2 _连续的数据是:
3 ~6 f5 E: ^; Z. u, ]9 m5 B! c
C020:14 85 16 A5 15 85 17 A9 00 90 A5 95 D0 08 A5
) T- w/ v% Z% f3 e7 l1 _) K$ u% p! Z3 Z! U9 y/ B" r' Q
1 ?4 ~1 u( f9 s
这种情况下我改怎样修改,但是原数据只有2个字节,如果我这里改成3个字节会对后面连续的数据造成破坏,我应该怎样改呢?
7 N5 ~) B' Y1 N3 |2 @" |) `- r3 q/ a5 ^% E6 D
不知道自己有没表达的清楚...希望大家能看懂我的意思..

该用户从未签到

发表于 2012-9-25 18:06:12 | 显示全部楼层
本帖最后由 money_114 于 2012-9-25 18:07 编辑 * J  k3 A! q. r) L1 h0 \
& \" E# B) S9 b2 ]: F
就直接跳转, 然后在跳转地址这把前面修改的命令补全
% y& v% s5 E3 }- |* l2 ^- u7 }/ [6 U9 e( @3 q
跳转命令看这, 写的很清楚了! s' o2 p; s) {% Z) O
http://shinwa.kami.blog.163.com/ ... 047200822563622456/
" F$ h& `- Q# S/ g# Z# u5 g$ a( _
[发帖际遇]: money_114 捡了钱没交公 柠檬 降了 2 个 . 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 1993 天

[LV.Master]伴坛终老

发表于 2012-9-25 18:10:06 | 显示全部楼层
  1. C021:
    9 q1 k% N: T) d. ]0 M8 \* T
  2. 85 16 STA $16  ->4C BF F0 JMP $F0BF2 n  Q  G1 J& a
  3. A5 15 LDA $15  ->EA       NOP; a) S  K' g3 T8 K5 x
  4. 85 17 STA $172 U# q9 B9 b& n+ n8 [
  5. A9 00 LDA #$00
    7 I1 {4 H' {. C7 R7 M
  6. + U1 m" m1 k1 i- ~3 v
  7. F0BF:
      y  t( W( k4 M. e3 e% q1 ^/ |- X" \  |' \
  8. 85 16 STA $16
    ( l8 m6 m+ X2 P2 B$ T
  9. A5 15 LDA $15
    ' o0 T4 n) H4 C8 d$ ^
  10. ." |7 j) w' G- [9 d5 e6 z9 Z
  11. .  Q8 |$ P* H1 t$ i3 P  q' N6 C
  12. .
    ) J5 ~  ?6 A9 t5 ~9 }  {1 K1 \
  13. .
复制代码
[发帖际遇]: 疾风之狼 被钱袋砸中进医院,看病花了 1 个 柠檬. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 29 天

[LV.4]偶尔看看III

 楼主| 发表于 2012-9-25 19:51:21 | 显示全部楼层
本帖最后由 rxlzh 于 2012-9-25 19:54 编辑
% {$ e# P$ c+ {
疾风之狼 发表于 2012-9-25 18:10
# x) B9 i7 L5 F! Y( S

  m/ i/ a* u- y) O8 s! J狼大,我按照你的方法,不知对不。6 W2 A$ Z6 H5 {9 J  |% X

0 q# l5 O/ ]- C# B5 A2 e5 z- l; ?
原数据; |/ y5 p) W7 J& J' \: U' n9 r' h" F
C021:       85 16 A5 15 85 17  S; ]& O5 T5 K( I. r1 C* S

* D$ ], q+ K% E0 b5 S修改后
( k7 Z$ \. O3 U5 nC021:       4C BF F0 15 85 17                  把连续的数据A5覆盖掉跳转到F0BF. c  r$ c: x& U3 b9 b1 o
9 K3 x& f% ~8 x5 K" ?& C  H! l
( l8 I: D$ ~4 _, Q/ H
F0BF:85 16  A5 15  4C 25 C0                重新写入原数据和后面被覆盖的A5然后跳回C0252 {& f" t3 Y! h: a. r! n

  ]5 Q( Z! k' W# o, v5 l7 w6 ~) l4 z+ ^  u9 M4 h6 R! _( m6 I5 D
. [; h4 F$ h2 A* S% r- G
我之前也用这个方法测试过一次,不知为啥返回模拟器继续运行提示错误。
回复

使用道具 举报

签到天数: 29 天

[LV.4]偶尔看看III

 楼主| 发表于 2012-9-25 20:03:47 | 显示全部楼层
本帖最后由 rxlzh 于 2012-9-25 20:08 编辑
# ~+ G; a: u- G% D
+ B9 E" J. S) H6 x) O. N看了money的文章后,这次我把前面的几句指令也列举出来:- A5 f: B3 k8 x$ w
C01F: A5 14 LDA $14               :A=0x126 x: b0 a" a& f+ G5 E: W+ ?( k  H
C021: 85 16 STA $16               :[0016]=A=0x122 n6 O! E  m" k5 t: o' ?* }( v; ~

7 p  f; B% }: ]根据文章的内容我是不是应该从C01F这个地址开始修改呢。6 \2 W% }- P  Q+ g, T" \1 N
我现在重新动手测试一下,有问题再来请教你们& c& q- j8 }5 e( s% x

% M  i/ P! S& b( \' L: W
: ^! a  v$ [) H: J6 }) m( h经过我测试后发现可行,在C01F地址那开始修改,没有出现错误,再次感谢你的文章{:4_103:}
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-6-26 14:14

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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