设为首页收藏本站

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

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

[复制链接]

签到天数: 29 天

[LV.4]偶尔看看III

发表于 2012-9-25 17:42:38 | 显示全部楼层 |阅读模式
我在修改的过程中遇到一些只有2个字节的数据' m! h/ C  K7 t, z
例如 :      3 I5 k/ k$ A; e: R' n) C/ W
C021:  85 16  STA$16                           85 16     两个
4 {* ]7 S6 `3 t/ @+ s, s# y' @- e9 Q# `4 |& }

& s: K2 M1 P9 \$ A$ B0 c然后我需要在这里修改成跳转,但是要跳转的地方需要3个字节l来修改:
  ~0 K3 a# v' k; U4 ~例如:3 R; C3 `3 z) H0 ^/ O1 F8 L
C021:4C BFF0 JMP$F0BF                   4C BFF0   三个$ O. Z8 `5 j. a' b8 O+ L1 o
+ N9 X' S) p% q3 @

6 G8 b  r; l( {4 p! {& N, J连续的数据是:
! [$ p9 c: f! n+ X
& v) y; j8 D/ F# ]5 w! L! CC020:14 85 16 A5 15 85 17 A9 00 90 A5 95 D0 08 A58 z: L6 X- ~' m% i" c
2 j7 f% e: y9 t( h

( E/ R0 c( k* v5 P! v$ v3 d! s这种情况下我改怎样修改,但是原数据只有2个字节,如果我这里改成3个字节会对后面连续的数据造成破坏,我应该怎样改呢?- ^" K# B6 ^! ?
$ ^# `' o. [& M: j6 u
不知道自己有没表达的清楚...希望大家能看懂我的意思..

该用户从未签到

发表于 2012-9-25 18:06:12 | 显示全部楼层
本帖最后由 money_114 于 2012-9-25 18:07 编辑
. x1 q8 a9 x8 \: g9 V8 Z! G0 |2 X$ z& X" _
就直接跳转, 然后在跳转地址这把前面修改的命令补全
6 b) R& \4 }6 x* q7 N9 ]3 g" j! I0 O6 q
跳转命令看这, 写的很清楚了7 R- d6 [3 V9 W$ _
http://shinwa.kami.blog.163.com/ ... 047200822563622456/
- S2 X1 s0 ~+ {  w: D0 c8 P
[发帖际遇]: money_114 捡了钱没交公 柠檬 降了 2 个 . 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 1973 天

[LV.Master]伴坛终老

发表于 2012-9-25 18:10:06 | 显示全部楼层
  1. C021:  n  a0 g. m  b! e* |
  2. 85 16 STA $16  ->4C BF F0 JMP $F0BF6 d7 t: G4 ?: I! b
  3. A5 15 LDA $15  ->EA       NOP
    6 D1 S$ E7 U7 A  M
  4. 85 17 STA $17
    * J! |0 h7 g5 ^
  5. A9 00 LDA #$00  V/ {: b" e# Y; I# u

  6. 9 T, P& {( I) ?) I7 U  r0 o$ E
  7. F0BF:. h( ?; d3 y+ f) i' y: D& Y+ _  [
  8. 85 16 STA $16! i3 x/ R, g2 C! e/ I$ g: \5 @
  9. A5 15 LDA $151 I& p+ B9 b9 z
  10. .
    ) I% p- W$ i" p2 I& N4 R, ?
  11. .8 {6 o) u6 a$ P- r) V
  12. .
    , C7 r! ^# y  i7 Q, z1 C& f
  13. .
复制代码
[发帖际遇]: 疾风之狼 被钱袋砸中进医院,看病花了 1 个 柠檬. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 29 天

[LV.4]偶尔看看III

 楼主| 发表于 2012-9-25 19:51:21 | 显示全部楼层
本帖最后由 rxlzh 于 2012-9-25 19:54 编辑 5 v& R( |- Q9 f: v
疾风之狼 发表于 2012-9-25 18:10

. t( y* ]- Z) O6 j1 ?- T0 n& r# r$ o
狼大,我按照你的方法,不知对不。
' j5 m- ]9 M& o* f" f. x9 v* W" W

7 Q$ K; t  i$ V( b' B% z原数据2 m0 I, m. k/ c+ L9 `6 Y7 i
C021:       85 16 A5 15 85 17
8 @! `: I" a6 a1 f/ c& j; }; {& T
修改后
$ b) K; x: P4 H/ a9 V3 `- ?7 LC021:       4C BF F0 15 85 17                  把连续的数据A5覆盖掉跳转到F0BF
( G2 D% v3 M! f% i
( z$ F" b6 w; W/ y$ {! k$ Y1 M. f+ L% X# w
F0BF:85 16  A5 15  4C 25 C0                重新写入原数据和后面被覆盖的A5然后跳回C025# z  X0 A2 ?9 X) _/ y* X$ _& f' K

2 |* N& m: _- D, ]7 U
; I/ U# t* s' C; L- y" N* \8 I8 z
我之前也用这个方法测试过一次,不知为啥返回模拟器继续运行提示错误。
回复

使用道具 举报

签到天数: 29 天

[LV.4]偶尔看看III

 楼主| 发表于 2012-9-25 20:03:47 | 显示全部楼层
本帖最后由 rxlzh 于 2012-9-25 20:08 编辑
/ ]# N; ]( p: S* T7 J; }, r) ?) e
. _4 w7 b- U5 I+ ~0 {+ M6 O  j8 K9 i看了money的文章后,这次我把前面的几句指令也列举出来:7 x6 t2 P+ u' n) d  E& X0 c$ l: p
C01F: A5 14 LDA $14               :A=0x12+ J. r( _6 M0 F2 V
C021: 85 16 STA $16               :[0016]=A=0x125 `, i- w; ^- \$ N% ~
. [) [/ G. S# a% d
根据文章的内容我是不是应该从C01F这个地址开始修改呢。
) i$ |5 {* a6 r5 I我现在重新动手测试一下,有问题再来请教你们
0 A' i& j, Q& e' c* M
/ L0 m( z8 a8 b7 t. T/ a; ?4 ]# B. {' w8 Z5 s
经过我测试后发现可行,在C01F地址那开始修改,没有出现错误,再次感谢你的文章{:4_103:}
回复

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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