设为首页收藏本站

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

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

[复制链接]

签到天数: 29 天

[LV.4]偶尔看看III

发表于 2012-9-25 17:42:38 | 显示全部楼层 |阅读模式
我在修改的过程中遇到一些只有2个字节的数据
0 _/ r, ]( ?+ `  ?, `6 v例如 :      
% @; j' t5 f7 K; I5 t C021:  85 16  STA$16                           85 16     两个8 b: t; Z/ s' x9 t+ g
, ?! r5 s$ m- n6 a+ V

! B8 |5 m/ O. w; j. P; Q: q8 W) j然后我需要在这里修改成跳转,但是要跳转的地方需要3个字节l来修改:
% ]! K1 o# n8 f* C9 V例如:
+ ~6 M( R1 c' K4 cC021:4C BFF0 JMP$F0BF                   4C BFF0   三个
& G8 P" M5 O! m+ A; y
8 y! l) Z$ Q" I  w  v! Z
9 Y8 L2 V/ r; D1 k( \# @连续的数据是:
: m. v* ?& a) m* ~
5 K; z+ g' B, \- gC020:14 85 16 A5 15 85 17 A9 00 90 A5 95 D0 08 A5! x5 i( h- u4 c1 `- c8 o; K' t

2 R/ N) l/ t! e" q( T7 ?# _& H) @
; |; V, o. |8 u' t6 l, r1 d' ?这种情况下我改怎样修改,但是原数据只有2个字节,如果我这里改成3个字节会对后面连续的数据造成破坏,我应该怎样改呢?& Z* ?; G2 M  [5 K
1 e7 b( P4 R, x! F& p% J
不知道自己有没表达的清楚...希望大家能看懂我的意思..

该用户从未签到

发表于 2012-9-25 18:06:12 | 显示全部楼层
本帖最后由 money_114 于 2012-9-25 18:07 编辑
  H! l/ B% U4 ~: M' }2 |
# `' v. E0 w! `: ?就直接跳转, 然后在跳转地址这把前面修改的命令补全
1 f( a6 _/ ?- C
5 u5 e0 k8 M% v. N跳转命令看这, 写的很清楚了2 J' `$ E& k/ s: N- Z3 Q- b
http://shinwa.kami.blog.163.com/ ... 047200822563622456/
; n1 O8 n7 w) A( D* N8 x$ e" i
[发帖际遇]: money_114 捡了钱没交公 柠檬 降了 2 个 . 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 2032 天

[LV.Master]伴坛终老

发表于 2012-9-25 18:10:06 | 显示全部楼层
  1. C021:
    6 N7 k) x* n  q, H' r& ]
  2. 85 16 STA $16  ->4C BF F0 JMP $F0BF. j* ^9 N- j6 z  F( p' c! a
  3. A5 15 LDA $15  ->EA       NOP3 O! V( M/ `# c  e" c: M
  4. 85 17 STA $17
    # @* T, E- N7 X9 z. Q7 l
  5. A9 00 LDA #$00
    - o% X, s. d5 q% u7 Q' M" o
  6. ) o8 w5 |" J  m2 b: O# v9 D
  7. F0BF:
    7 [; |) n- M) ?: u$ z7 c
  8. 85 16 STA $167 g; i1 J; M9 G! C  }. ^
  9. A5 15 LDA $15! y, w2 p9 T. ]( E- p
  10. .$ n; b; I8 \9 s! B6 Z
  11. .
    : E4 s2 S/ P; ?$ x) @
  12. .
    , ~% s! \$ O+ h6 y3 S0 G/ \. R
  13. .
复制代码
[发帖际遇]: 疾风之狼 被钱袋砸中进医院,看病花了 1 个 柠檬. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 29 天

[LV.4]偶尔看看III

 楼主| 发表于 2012-9-25 19:51:21 | 显示全部楼层
本帖最后由 rxlzh 于 2012-9-25 19:54 编辑 % M9 L) |3 j) f6 M' g
疾风之狼 发表于 2012-9-25 18:10
4 \8 [, s7 D0 k7 S/ A

- [( b- ^' G- W3 X3 c狼大,我按照你的方法,不知对不。4 k: p* l& a3 s- g

8 ?" K0 N6 g2 q) h3 I: P2 ?0 U
( i$ P% E; h2 m  ~3 k6 x原数据
+ t( [) R) P$ B2 ?1 h' m6 R. ~. m2 mC021:       85 16 A5 15 85 17
7 D! C7 v% ]  J% q# g. s3 E3 C% L( R. g% m; i' p3 G$ G& {
修改后
( b, n) N% O" B7 W* W  _7 R0 HC021:       4C BF F0 15 85 17                  把连续的数据A5覆盖掉跳转到F0BF
+ _0 v. h3 m% j& Z
1 M, K1 ~. f# @4 F; E  }
" z/ T; b4 m& d0 c- nF0BF:85 16  A5 15  4C 25 C0                重新写入原数据和后面被覆盖的A5然后跳回C025
1 k0 j; Y- e! w
+ H& n4 F2 m9 |( {. E: U. ^+ d5 J4 \1 c3 c; D+ y
4 F3 J5 [0 I6 W5 Y3 k5 Q9 {/ E0 P
我之前也用这个方法测试过一次,不知为啥返回模拟器继续运行提示错误。
回复

使用道具 举报

签到天数: 29 天

[LV.4]偶尔看看III

 楼主| 发表于 2012-9-25 20:03:47 | 显示全部楼层
本帖最后由 rxlzh 于 2012-9-25 20:08 编辑
7 p* p$ a8 D9 ]& w, x* k$ f, S1 G; e# a
  {  G1 z) Z7 \8 u/ f+ D" u2 E看了money的文章后,这次我把前面的几句指令也列举出来:
/ k$ |, A, A; _3 t) wC01F: A5 14 LDA $14               :A=0x12, w% n& a. t  b' O* S# K; i
C021: 85 16 STA $16               :[0016]=A=0x125 m% X/ Y/ o# z  c# C

- S5 j" p. v0 C+ K& X3 q根据文章的内容我是不是应该从C01F这个地址开始修改呢。
6 k3 S  ~6 k! E# p# [9 J9 d我现在重新动手测试一下,有问题再来请教你们% I  ~  ~4 O" m; L8 s

. z$ Q/ i9 I* r  _& ^+ y# e: h5 V- B/ t& W: O! ^; C4 e& T
经过我测试后发现可行,在C01F地址那开始修改,没有出现错误,再次感谢你的文章{:4_103:}
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-8-5 19:23

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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