设为首页收藏本站

EMU618社区

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

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

[复制链接]

签到天数: 29 天

[LV.4]偶尔看看III

发表于 2012-9-25 17:42:38 | 显示全部楼层 |阅读模式
我在修改的过程中遇到一些只有2个字节的数据
1 U4 c0 ~, Y! r3 c$ `例如 :      
! E& x% D0 }4 ^; z% T" L8 V( {4 j C021:  85 16  STA$16                           85 16     两个
5 f' J; [5 B! `, D) |' j4 i- L# V. l( c& i' i  w6 ^+ A
! k& l1 W( ^8 _* w( ]  f" J
然后我需要在这里修改成跳转,但是要跳转的地方需要3个字节l来修改:% m, m* P. z, p, ]$ P  ^9 w
例如:
% }+ W- o8 \" }# J+ MC021:4C BFF0 JMP$F0BF                   4C BFF0   三个) d; ]+ O, y3 L

! Q1 ^' H+ ^1 g! C- R6 p) q% [" R# Z* H7 @
连续的数据是:
1 i( ]$ B' D5 F# n% s, m
6 E7 w$ Z8 e6 m& p0 h' F* }- y0 Z3 cC020:14 85 16 A5 15 85 17 A9 00 90 A5 95 D0 08 A5
/ ?3 F7 \+ R: O  h( d, C' S6 r
% `( Y$ A0 S; n5 w& w
+ v$ l+ w- r& F$ B, R这种情况下我改怎样修改,但是原数据只有2个字节,如果我这里改成3个字节会对后面连续的数据造成破坏,我应该怎样改呢?
, ~: ~1 R* ?6 M% S& r4 e, R3 E( q$ h9 U5 M4 ?& S1 B7 i5 S' A
不知道自己有没表达的清楚...希望大家能看懂我的意思..

该用户从未签到

发表于 2012-9-25 18:06:12 | 显示全部楼层
本帖最后由 money_114 于 2012-9-25 18:07 编辑
1 j- V1 {$ [; i; a9 A' ~. d
9 _2 Y, G6 V* B. ]/ m9 ^就直接跳转, 然后在跳转地址这把前面修改的命令补全* u/ o5 r5 P! I$ p& ^6 U

+ J8 `  @$ \# ]  k1 M1 u, M2 l# v跳转命令看这, 写的很清楚了
3 I0 T& S6 Z  ?9 Chttp://shinwa.kami.blog.163.com/ ... 047200822563622456/% ^; y6 N8 w8 Q2 p$ k
[发帖际遇]: money_114 捡了钱没交公 柠檬 降了 2 个 . 幸运榜 / 衰神榜

签到天数: 1895 天

[LV.Master]伴坛终老

发表于 2012-9-25 18:10:06 | 显示全部楼层
  1. C021:
    . I( H5 |. E/ K; E
  2. 85 16 STA $16  ->4C BF F0 JMP $F0BF
    ; {9 {% b% x8 F& k
  3. A5 15 LDA $15  ->EA       NOP/ _6 ^5 |% I& {; ~$ r( @
  4. 85 17 STA $178 P& ^. H( {/ O( c. s8 k4 B
  5. A9 00 LDA #$00+ B0 O" ]6 h; Z- k0 v& c

  6. # h& K& C; S7 S" b6 r) \4 P' \5 ?8 u
  7. F0BF:1 ?: E# b, C; ~( C0 U
  8. 85 16 STA $16- P& J/ H7 S0 d% v% I! ~
  9. A5 15 LDA $15
    6 T% F" l/ C, f* V* s. Z) f( p) C
  10. .
    5 ^; a) m+ X# ?8 }5 Y1 u" ~: Q7 F
  11. ." N0 q% p) {) B& \
  12. .
    * c; f, {! y& Y0 P/ n
  13. .
复制代码
[发帖际遇]: 疾风之狼 被钱袋砸中进医院,看病花了 1 个 柠檬. 幸运榜 / 衰神榜

签到天数: 29 天

[LV.4]偶尔看看III

 楼主| 发表于 2012-9-25 19:51:21 | 显示全部楼层
本帖最后由 rxlzh 于 2012-9-25 19:54 编辑 : G7 }; M! V, _: B9 D/ o3 ^
疾风之狼 发表于 2012-9-25 18:10
$ [6 e$ S* ~1 M8 a3 g4 b, j9 T+ R
7 d9 z4 S: W  r( P! L
狼大,我按照你的方法,不知对不。
+ r( I% M# D* e! |' e8 p1 P9 B* ^9 g  W1 g& E2 Y

+ V) s0 I4 |) F* s. u原数据5 f5 Q+ G: |( V/ Z; N3 W
C021:       85 16 A5 15 85 17# \2 E, I' D" v8 T+ X
8 Z5 U# i- W, l3 F' `. q7 Y
修改后
( `6 w# U# c% C- S, F- UC021:       4C BF F0 15 85 17                  把连续的数据A5覆盖掉跳转到F0BF
8 Z6 h/ ~: H# b1 E5 t& c" H5 `. N; a& K6 i" Z2 d
3 q4 ?2 A) l' J' c$ `$ E9 {
F0BF:85 16  A5 15  4C 25 C0                重新写入原数据和后面被覆盖的A5然后跳回C025
% o* y( f" S; M8 Y' ~  b4 `& c, l" g9 `0 E6 g+ ^2 _

9 w' _# @1 K/ b9 l1 f( w" x8 g/ ~* M: e3 P/ l1 @  _! K
我之前也用这个方法测试过一次,不知为啥返回模拟器继续运行提示错误。

签到天数: 29 天

[LV.4]偶尔看看III

 楼主| 发表于 2012-9-25 20:03:47 | 显示全部楼层
本帖最后由 rxlzh 于 2012-9-25 20:08 编辑
5 E6 n  \& q. O$ k! h. Q' s0 k, A( E
看了money的文章后,这次我把前面的几句指令也列举出来:
' N! N2 w4 Z% q' t# i8 ?, [C01F: A5 14 LDA $14               :A=0x12
# N- T! I3 p' b0 C+ {C021: 85 16 STA $16               :[0016]=A=0x12
# K( [2 U% U0 f4 ]
5 g" K& I6 i. _3 `根据文章的内容我是不是应该从C01F这个地址开始修改呢。9 k9 ^# K# k5 Z2 }& p
我现在重新动手测试一下,有问题再来请教你们
3 L3 A+ Y: z4 H* \
; `6 Q' G, t2 }' |4 r
3 I' i7 W% D2 D! s5 T& s经过我测试后发现可行,在C01F地址那开始修改,没有出现错误,再次感谢你的文章{:4_103:}
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-2-25 18:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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