EMU618社区

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

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

[复制链接]

签到天数: 29 天

[LV.4]偶尔看看III

发表于 2012-9-25 17:42:38 | 显示全部楼层 |阅读模式
我在修改的过程中遇到一些只有2个字节的数据0 M7 C! ^" Q3 B% X% @9 I& [: k
例如 :      ! H2 O. b) q' Y% }% ?! Z! c
C021:  85 16  STA$16                           85 16     两个: S2 x$ G4 Q& {. m0 C
+ S5 f) P. ~! J
% i5 Y( R5 O( D- _
然后我需要在这里修改成跳转,但是要跳转的地方需要3个字节l来修改:
+ p, e& c, ~( C. Z例如:
; d8 A. W7 n$ {9 `4 |9 P' aC021:4C BFF0 JMP$F0BF                   4C BFF0   三个- {2 `2 T7 J5 O* m! y9 O0 l  M1 w

3 A+ |% F! X3 j" h8 P% b3 r, a8 I4 ~2 a) D) |1 m+ ]
连续的数据是:# |$ [5 H7 @& w$ f$ Y4 ]8 }# O

5 |( S% n1 q% b+ N9 ?: [C020:14 85 16 A5 15 85 17 A9 00 90 A5 95 D0 08 A5
! o: i) Y) }3 ^$ p3 [; K3 ~
0 r. I2 q' o1 D- d, }5 r
. M" |1 C5 v& i, Y/ u3 m/ |! a这种情况下我改怎样修改,但是原数据只有2个字节,如果我这里改成3个字节会对后面连续的数据造成破坏,我应该怎样改呢?
4 X7 @9 P) }- Q" I3 I0 P: E1 o" d: z9 I2 M) \
不知道自己有没表达的清楚...希望大家能看懂我的意思..

该用户从未签到

发表于 2012-9-25 18:06:12 | 显示全部楼层
本帖最后由 money_114 于 2012-9-25 18:07 编辑 ; ~- Q. g. V" e  s
  a2 {/ w1 [9 k
就直接跳转, 然后在跳转地址这把前面修改的命令补全
9 M! {4 f7 L4 D+ l3 K
: R6 ~, `% u7 N4 d1 f+ U% J跳转命令看这, 写的很清楚了. R, p) X  L( W
http://shinwa.kami.blog.163.com/ ... 047200822563622456/- Z/ g' L! r5 y
[发帖际遇]: money_114 捡了钱没交公 柠檬 降了 2 个 . 幸运榜 / 衰神榜

签到天数: 2189 天

[LV.Master]伴坛终老

发表于 2012-9-25 18:10:06 | 显示全部楼层
  1. C021:
    9 \* d% G0 v) P$ t2 Q
  2. 85 16 STA $16  ->4C BF F0 JMP $F0BF9 Z, p! ?/ G; O" y) Y6 n% i5 h# A0 u
  3. A5 15 LDA $15  ->EA       NOP
    ( Z4 \1 P$ A0 m0 U2 f4 y* e
  4. 85 17 STA $17
    * H$ d, s; a1 {
  5. A9 00 LDA #$00& t3 i' k4 p( J

  6. % x0 {! t8 u; u8 h* j# U! |
  7. F0BF:
    * Z4 H0 |7 \$ C7 C4 h
  8. 85 16 STA $16
    ) h3 X: d, z% B: @8 T
  9. A5 15 LDA $15
    ( z6 ~* ?& |3 u' F% o
  10. .
    % f' c% q. t. \, ^
  11. .) {/ k# N' n6 m( S
  12. .7 S; ~, M$ Y/ J# N5 Z6 s
  13. .
复制代码
[发帖际遇]: 疾风之狼 被钱袋砸中进医院,看病花了 1 个 柠檬. 幸运榜 / 衰神榜

签到天数: 29 天

[LV.4]偶尔看看III

 楼主| 发表于 2012-9-25 19:51:21 | 显示全部楼层
本帖最后由 rxlzh 于 2012-9-25 19:54 编辑
: f/ Z- ]2 L6 W: T6 t* ?. ]' H
疾风之狼 发表于 2012-9-25 18:10
/ Z6 o' A6 W( q2 v1 l7 X
: D7 [; R& r& Z/ Z; v4 m
狼大,我按照你的方法,不知对不。
: m8 T! C2 k: s3 |  i. d: h5 x, `& @. h/ V5 k
" s) v: O5 p- v8 I' x4 g6 L
原数据
. f/ H: e6 V2 G# VC021:       85 16 A5 15 85 17( g6 D) l4 R2 i; F2 s. |

% P8 w  }  h$ x5 H: p3 v7 E修改后
8 J4 `6 Y' I- j. S9 J/ O$ SC021:       4C BF F0 15 85 17                  把连续的数据A5覆盖掉跳转到F0BF
' ~5 S! r7 s7 [. K. Y' P
  b% b2 T  O9 L# @: e6 f3 ^
0 }" H% w. x5 B- s$ i+ \. JF0BF:85 16  A5 15  4C 25 C0                重新写入原数据和后面被覆盖的A5然后跳回C025
# a" ?1 A8 N5 Y, ?2 n6 T* c7 o7 I6 x3 Q! F. y' l- A: j- @

' S9 m2 G# y* k' ?' A5 c0 E4 c$ R/ e2 {- S$ |
我之前也用这个方法测试过一次,不知为啥返回模拟器继续运行提示错误。

签到天数: 29 天

[LV.4]偶尔看看III

 楼主| 发表于 2012-9-25 20:03:47 | 显示全部楼层
本帖最后由 rxlzh 于 2012-9-25 20:08 编辑 / G$ q. r' @* n, e6 K. s. u: P

% S3 C7 J; ^, T- _3 a1 h0 J) K: ]看了money的文章后,这次我把前面的几句指令也列举出来:7 U6 o) F3 `8 `8 A) K2 S3 K9 z; n
C01F: A5 14 LDA $14               :A=0x12
  q7 m! P3 L( X$ Y6 uC021: 85 16 STA $16               :[0016]=A=0x12
' ~) T9 `+ U2 ^  E) e" l! r* r5 t  H( K
根据文章的内容我是不是应该从C01F这个地址开始修改呢。
1 F# T0 W: k3 |9 \0 E! O" Z' @我现在重新动手测试一下,有问题再来请教你们2 F, V) v2 n9 m0 p" X) ~
- {+ o# d$ P; y
$ E, \. C- F$ B# T8 w0 c, |
经过我测试后发现可行,在C01F地址那开始修改,没有出现错误,再次感谢你的文章{:4_103:}
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-13 00:19 , Processed in 1.102539 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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