EMU618社区

 找回密码
 立即注册
帖子
查看: 638|回复: 4

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

[复制链接]

签到天数: 29 天

[LV.4]偶尔看看III

发表于 2012-9-25 17:42:38 | 显示全部楼层 |阅读模式
我在修改的过程中遇到一些只有2个字节的数据/ L2 I" E* C7 h( `6 p$ w0 k4 g
例如 :      
- z& D3 @# b1 ]# B! e/ d1 d9 K C021:  85 16  STA$16                           85 16     两个4 ~" p3 d9 L# H% |" N8 C8 I
) a. n! m: u! X* J/ B* y1 q, m/ l- c
* M8 e  v6 n$ ]- a9 `. }8 f
然后我需要在这里修改成跳转,但是要跳转的地方需要3个字节l来修改:, M- a7 b$ M- j1 x) d) }  J
例如:4 W9 u) `; ]* W) p
C021:4C BFF0 JMP$F0BF                   4C BFF0   三个
" }" b+ n5 b' m# o8 i* \5 U$ Y% ?2 q( z

# r$ d( w5 W- b& b) s; |) q2 I连续的数据是:2 P9 Y* c+ s7 |6 y5 x

3 r4 k1 z; B2 U/ L5 mC020:14 85 16 A5 15 85 17 A9 00 90 A5 95 D0 08 A5
: O) z' _9 f: U: N, @# ^0 @5 \# ?
/ V" T- J2 p6 A; Z
. j4 z( c! D2 C0 t) k8 V" W这种情况下我改怎样修改,但是原数据只有2个字节,如果我这里改成3个字节会对后面连续的数据造成破坏,我应该怎样改呢?
8 G; a5 `# `; p( ~' |4 ?5 A& n+ t, D, E7 o( l$ m
不知道自己有没表达的清楚...希望大家能看懂我的意思..

该用户从未签到

发表于 2012-9-25 18:06:12 | 显示全部楼层
本帖最后由 money_114 于 2012-9-25 18:07 编辑
6 V4 a$ D5 v# S9 u9 m: R+ T# G
0 h! `5 _* f# y' Q就直接跳转, 然后在跳转地址这把前面修改的命令补全
  v* q/ u# U2 v, r! `& [5 @
8 s8 Q5 f9 p& s$ B3 L跳转命令看这, 写的很清楚了: b% a) E1 c. x' U2 |1 o1 u
http://shinwa.kami.blog.163.com/ ... 047200822563622456/  S- O' k. R! u8 G
[发帖际遇]: money_114 捡了钱没交公 柠檬 降了 2 个 . 幸运榜 / 衰神榜

签到天数: 1818 天

[LV.Master]伴坛终老

发表于 2012-9-25 18:10:06 | 显示全部楼层
  1. C021:
    + k, ]" w" R) ~) E6 F+ K, N! X
  2. 85 16 STA $16  ->4C BF F0 JMP $F0BF" X' o% i: q- h+ q
  3. A5 15 LDA $15  ->EA       NOP6 V& B6 }6 s; O" x' f  {6 `
  4. 85 17 STA $17
    ' v$ j+ F+ s" y
  5. A9 00 LDA #$00. T6 T! c* I# a) B! ?8 w" P( l
  6. * ~" I6 k( _8 |2 W& q/ s% i
  7. F0BF:
    9 s- M0 ^  e% V
  8. 85 16 STA $16$ U$ F9 d( J+ g  T( O* g" `  f
  9. A5 15 LDA $15: h5 [% m$ f8 _; F5 C
  10. .* ]0 H: w5 G8 n5 e
  11. .
    1 s: a* b- F6 n5 C' _  b: \* ~
  12. .
    2 C# ?7 K7 P, o8 n8 h
  13. .
复制代码
[发帖际遇]: 疾风之狼 被钱袋砸中进医院,看病花了 1 个 柠檬. 幸运榜 / 衰神榜

签到天数: 29 天

[LV.4]偶尔看看III

 楼主| 发表于 2012-9-25 19:51:21 | 显示全部楼层
本帖最后由 rxlzh 于 2012-9-25 19:54 编辑
+ N+ y& l3 x/ q) n" d8 c3 h; Y
疾风之狼 发表于 2012-9-25 18:10
9 ?9 w' }+ v+ h& q

7 D: c+ s5 V. p4 Q+ T% |狼大,我按照你的方法,不知对不。
& @( E' j7 \/ {9 A1 n, m9 Y) l' D) J' f' k' M1 J/ `- I: N
9 [) s* f* V. \$ f3 i. Q# r# W3 e; [
原数据- B0 u/ a6 ~% j$ ?  `: H
C021:       85 16 A5 15 85 179 c" B' s7 m; C" n" V! a6 U
' ?: C6 a+ s, [4 \" l/ F# \
修改后8 m: p, z2 n/ [' [, Y% a. U9 J3 r: [0 A
C021:       4C BF F0 15 85 17                  把连续的数据A5覆盖掉跳转到F0BF' u3 k$ Z0 C+ t% A6 `- W

8 Q  K) H7 y* M3 V  }) N9 k
' h- C& l& Q6 jF0BF:85 16  A5 15  4C 25 C0                重新写入原数据和后面被覆盖的A5然后跳回C025
! a  f4 b+ ^- K  _& V' j- K
/ W+ g" u$ b9 r! l/ t
3 a6 Z! C3 P: b. R+ `8 ]7 A
+ L- z! ~1 q4 W4 @! _1 \我之前也用这个方法测试过一次,不知为啥返回模拟器继续运行提示错误。

签到天数: 29 天

[LV.4]偶尔看看III

 楼主| 发表于 2012-9-25 20:03:47 | 显示全部楼层
本帖最后由 rxlzh 于 2012-9-25 20:08 编辑 1 {6 Y' ]0 s$ N
5 b2 g# A% k. `2 \- U
看了money的文章后,这次我把前面的几句指令也列举出来:! N$ B! E+ K* V& |& J
C01F: A5 14 LDA $14               :A=0x12
, c1 T" r+ s: h3 }8 b- ?8 q/ TC021: 85 16 STA $16               :[0016]=A=0x127 s- K0 m( s5 h& F: U$ |

3 Y6 z& g: v; W/ K0 D根据文章的内容我是不是应该从C01F这个地址开始修改呢。
( p' P. u0 ^% B  S# W4 {我现在重新动手测试一下,有问题再来请教你们
: A; p7 c3 Q+ h' `) H# A3 f+ r  B2 B# i- D# W) x) b$ T! a6 c% |) E

2 D8 k1 _) k+ y经过我测试后发现可行,在C01F地址那开始修改,没有出现错误,再次感谢你的文章{:4_103:}
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-1-3 12:19 , Processed in 1.104492 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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