设为首页收藏本站

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

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

[复制链接]

签到天数: 29 天

[LV.4]偶尔看看III

发表于 2012-9-25 17:42:38 | 显示全部楼层 |阅读模式
我在修改的过程中遇到一些只有2个字节的数据0 C* j: }0 l/ I* I3 ~! H( |' g
例如 :        ]6 T+ H- ]8 s( l9 M3 o
C021:  85 16  STA$16                           85 16     两个9 E  M  I" j. i

/ v( \6 R2 K0 q4 [# K9 M- Z5 v3 ^9 J8 `4 M2 m# o, i" y
然后我需要在这里修改成跳转,但是要跳转的地方需要3个字节l来修改:8 O6 A2 T/ p, K  G
例如:# C4 S, I7 x5 ?; b# e8 p! P
C021:4C BFF0 JMP$F0BF                   4C BFF0   三个; t% S" x* H3 z* P. G5 V, x

5 y% ^! E2 |* Y4 p
6 l  O% o* e; y7 i& [3 h+ }连续的数据是:
. x; G0 P2 X; m$ K8 W; Q2 M7 H5 x6 p; \3 V9 O( V6 y  r6 a
C020:14 85 16 A5 15 85 17 A9 00 90 A5 95 D0 08 A5) a; n6 d9 m0 U+ S0 e6 M6 N* C9 ?7 u

2 e  _- a  G: k0 _. _! R( J2 @7 P' t& V6 t! I
这种情况下我改怎样修改,但是原数据只有2个字节,如果我这里改成3个字节会对后面连续的数据造成破坏,我应该怎样改呢?9 I' Z; f8 q) G$ \  Q4 z
0 ^! M$ @. E/ v& [/ c1 o, i" W- r
不知道自己有没表达的清楚...希望大家能看懂我的意思..

该用户从未签到

发表于 2012-9-25 18:06:12 | 显示全部楼层
本帖最后由 money_114 于 2012-9-25 18:07 编辑 ! R* {1 O, X$ g& ~
0 z6 v+ W# X5 J; e1 k
就直接跳转, 然后在跳转地址这把前面修改的命令补全8 _: s2 y, Z7 w3 |) y- @

: d+ f9 ^8 o1 J7 G" t跳转命令看这, 写的很清楚了5 o, [( ]! _3 ]% m, V( P6 f3 |
http://shinwa.kami.blog.163.com/ ... 047200822563622456/
, R" @9 [' Q9 V' `# S2 F" j
[发帖际遇]: money_114 捡了钱没交公 柠檬 降了 2 个 . 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 1993 天

[LV.Master]伴坛终老

发表于 2012-9-25 18:10:06 | 显示全部楼层
  1. C021:
    ! W1 R) w; v: w$ @" X/ c+ w% Y8 z0 l; Y" D
  2. 85 16 STA $16  ->4C BF F0 JMP $F0BF3 |9 {- M4 I. K, _6 c' g  ?" s
  3. A5 15 LDA $15  ->EA       NOP' w1 @5 }- i2 I. n3 W' q% v
  4. 85 17 STA $17
    0 J- Z4 B6 k- I4 L3 t, }
  5. A9 00 LDA #$00
    . Q8 d' |7 f. n' L1 R) H& R

  6. 1 O1 a$ `- A. g# Y# y6 T+ C
  7. F0BF:# |' T9 _: d% Q: C3 T3 S
  8. 85 16 STA $164 ^" s- d6 l( @; G$ J
  9. A5 15 LDA $15/ W% a; H+ N9 ?- m$ z
  10. .
    3 f, T7 U( s5 @4 _! B
  11. .8 I! i2 H* a/ _; E) k9 f
  12. .
    4 e6 O* o4 i$ B- F8 d$ V- _
  13. .
复制代码
[发帖际遇]: 疾风之狼 被钱袋砸中进医院,看病花了 1 个 柠檬. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 29 天

[LV.4]偶尔看看III

 楼主| 发表于 2012-9-25 19:51:21 | 显示全部楼层
本帖最后由 rxlzh 于 2012-9-25 19:54 编辑 ; A7 ?( K7 m9 F5 R7 }+ ?- a/ ?* }# _+ i
疾风之狼 发表于 2012-9-25 18:10
4 u2 ^) O/ h; F

) [3 j1 p) u0 j. R9 z. L狼大,我按照你的方法,不知对不。  z/ I# x# M7 k& W! K( O2 G+ k

+ o6 s, q& F4 Z: h: }( _' Q; l' W5 a) b" [7 H# v% n  d& M
原数据% u/ U3 O; J8 J& k- m
C021:       85 16 A5 15 85 17
' v( f* p5 I; y8 F; s2 O
2 h" X. w4 _: E# Z! _# o# m4 x% N$ r修改后- ^; \" I- l$ y1 E, y
C021:       4C BF F0 15 85 17                  把连续的数据A5覆盖掉跳转到F0BF- |3 ^. u8 b( H% P5 K7 _4 V

8 s: n- w* q1 X3 q! y
7 ~& D2 ]" a" H! q+ z4 ]F0BF:85 16  A5 15  4C 25 C0                重新写入原数据和后面被覆盖的A5然后跳回C0251 I2 {9 h& A( ]' G
) O2 B% v6 V) S* `& A; T  L

* i& r- {  A; v" r$ ^) i( Y4 x+ r
2 c/ W* Q1 f2 o4 g我之前也用这个方法测试过一次,不知为啥返回模拟器继续运行提示错误。
回复

使用道具 举报

签到天数: 29 天

[LV.4]偶尔看看III

 楼主| 发表于 2012-9-25 20:03:47 | 显示全部楼层
本帖最后由 rxlzh 于 2012-9-25 20:08 编辑 9 s* B1 o0 P5 F& y" O% v* S4 w6 q  C# B
. D1 }1 j4 L7 {* a
看了money的文章后,这次我把前面的几句指令也列举出来:
, ^& G  h0 _, U! k# L' QC01F: A5 14 LDA $14               :A=0x124 g/ a* _2 d$ }* ?* Q
C021: 85 16 STA $16               :[0016]=A=0x12. L+ i5 b9 {+ v5 ^' C" a
$ W# k' m0 O9 i* t  b5 Z: P
根据文章的内容我是不是应该从C01F这个地址开始修改呢。- r* Y, d- r9 F, ]* x- o* O8 U
我现在重新动手测试一下,有问题再来请教你们: {0 _& L1 M6 x/ `
1 c2 a* D: w! F1 e# ^' n

2 N& ~0 s8 t1 [3 L# r; i  t( z' _经过我测试后发现可行,在C01F地址那开始修改,没有出现错误,再次感谢你的文章{:4_103:}
回复

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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