设为首页收藏本站

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

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

[复制链接]

签到天数: 29 天

[LV.4]偶尔看看III

发表于 2012-9-25 17:42:38 | 显示全部楼层 |阅读模式
我在修改的过程中遇到一些只有2个字节的数据
. V/ `# m9 h, H例如 :      
2 i, p  D- w4 k& {  _; c C021:  85 16  STA$16                           85 16     两个+ U$ _# g* A9 @

5 W7 m- ~4 n+ z- l+ ]% o; M4 @; u; a7 h& [
然后我需要在这里修改成跳转,但是要跳转的地方需要3个字节l来修改:
9 p$ o7 `5 d2 n例如:
/ T$ A3 z; n: _" A2 gC021:4C BFF0 JMP$F0BF                   4C BFF0   三个
5 x  @9 d+ @% e$ s% q
, r; I) H8 m0 X; [5 o
% q6 d. d) C; }连续的数据是:
& D( I& s$ |1 T7 Y
. i* T7 a$ O7 v' x/ n. AC020:14 85 16 A5 15 85 17 A9 00 90 A5 95 D0 08 A50 g  A% y& ^) _- t8 x
0 ^# J' t% E2 M5 j  |/ O9 q# S
* Z6 r& w/ a: M- }* ?0 J$ s1 C( F
这种情况下我改怎样修改,但是原数据只有2个字节,如果我这里改成3个字节会对后面连续的数据造成破坏,我应该怎样改呢?
& ~. X) [  m+ T0 T4 D7 n, Y1 a% O% X/ W
不知道自己有没表达的清楚...希望大家能看懂我的意思..

该用户从未签到

发表于 2012-9-25 18:06:12 | 显示全部楼层
本帖最后由 money_114 于 2012-9-25 18:07 编辑
% I& m) T* G, z% I4 Q
; q" G% n# Z/ c* {就直接跳转, 然后在跳转地址这把前面修改的命令补全$ T/ }2 K8 g3 A

, C0 t+ r  Y- k$ {跳转命令看这, 写的很清楚了) h/ y, n. R% ~
http://shinwa.kami.blog.163.com/ ... 047200822563622456/
% Y& D0 D" @. N+ W2 y9 b0 P1 R9 i
[发帖际遇]: money_114 捡了钱没交公 柠檬 降了 2 个 . 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 1941 天

[LV.Master]伴坛终老

发表于 2012-9-25 18:10:06 | 显示全部楼层
  1. C021:
    , j5 M3 U* l2 ?4 q, p
  2. 85 16 STA $16  ->4C BF F0 JMP $F0BF2 e$ h7 S- j% d4 W: O
  3. A5 15 LDA $15  ->EA       NOP
    - |" K" A4 k! v5 D" y: c7 g9 i
  4. 85 17 STA $171 T! L. z3 [2 W
  5. A9 00 LDA #$00
    7 D+ E3 ~( {4 Q2 \2 r7 S6 w. H

  6. 2 S# K9 z. ^' m% A* \: ^! \
  7. F0BF:; B4 l! P2 P3 M. x) d) G# ~
  8. 85 16 STA $16
    ' x9 G% u2 l  e- Z, h% J, g
  9. A5 15 LDA $15: v% q+ h" M7 z0 q) f& R6 z
  10. .
    % M( B9 s, y- b, F% z/ e
  11. .
    + F) W# v$ P4 V2 t9 h
  12. .
    9 d/ }3 y7 p7 J
  13. .
复制代码
[发帖际遇]: 疾风之狼 被钱袋砸中进医院,看病花了 1 个 柠檬. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 29 天

[LV.4]偶尔看看III

 楼主| 发表于 2012-9-25 19:51:21 | 显示全部楼层
本帖最后由 rxlzh 于 2012-9-25 19:54 编辑
. f; o3 h+ D! f4 v3 `0 X  ?- S& o0 M
疾风之狼 发表于 2012-9-25 18:10

7 ^; B, d1 ^- u$ j- O9 \. Z3 \; E( |" a$ C; \. k3 v9 m' S
狼大,我按照你的方法,不知对不。: y  |! Z" v7 O2 R6 h6 s
0 C+ D# o6 t! ^( I  B
0 I! o& x2 t8 x- i; e. N- R
原数据! a- t8 a2 j$ m* p- a( J
C021:       85 16 A5 15 85 17
  F3 n9 D9 V; b: u$ a; h3 j! K3 [- V
修改后1 t+ R3 x% H. I) d7 k
C021:       4C BF F0 15 85 17                  把连续的数据A5覆盖掉跳转到F0BF0 k' C5 T; r, e% B5 B' M- `' \

9 I2 ?% C& C! j5 p3 |' p$ J' G( y' p: [: a
F0BF:85 16  A5 15  4C 25 C0                重新写入原数据和后面被覆盖的A5然后跳回C025
# _  B6 V5 a" J  z
0 ]) v% F. r; G# @* q
; Z' c7 C4 F, P& o( J8 G3 r5 \  k& U) A2 I- }
我之前也用这个方法测试过一次,不知为啥返回模拟器继续运行提示错误。
回复

使用道具 举报

签到天数: 29 天

[LV.4]偶尔看看III

 楼主| 发表于 2012-9-25 20:03:47 | 显示全部楼层
本帖最后由 rxlzh 于 2012-9-25 20:08 编辑 $ s! V( A5 J  _0 f: K0 a3 A, ]

  v' n1 n( \; Z. @: c  Y3 U: ^看了money的文章后,这次我把前面的几句指令也列举出来:
7 H' c9 u8 O& M) z9 @% [' vC01F: A5 14 LDA $14               :A=0x12/ ^2 G0 N) y. R0 O9 G
C021: 85 16 STA $16               :[0016]=A=0x12
) s4 s) z+ z0 F* O. y4 Q4 [% J( _4 ^! Z5 ]. E! z) t
根据文章的内容我是不是应该从C01F这个地址开始修改呢。
5 f8 w+ ^: J& U6 ?' [我现在重新动手测试一下,有问题再来请教你们
4 T( c2 d2 i1 H4 U, \" p; m* Y1 u0 o) Y" ?/ ]
3 `' ?$ d: s4 p1 P% t* t. `
经过我测试后发现可行,在C01F地址那开始修改,没有出现错误,再次感谢你的文章{:4_103:}
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-5-3 14:56

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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