EMU618社区

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

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

[复制链接]

签到天数: 29 天

[LV.4]偶尔看看III

发表于 2012-9-25 17:42:38 | 显示全部楼层 |阅读模式
我在修改的过程中遇到一些只有2个字节的数据
* Z" t" E' C( H例如 :      1 @; l" u- q7 z8 l' Z( N
C021:  85 16  STA$16                           85 16     两个
# {5 b- T6 F6 T0 \4 I9 m. |1 n, l6 R! ]

% f" ]# _4 ]% R$ p8 Y/ H然后我需要在这里修改成跳转,但是要跳转的地方需要3个字节l来修改:( l2 L4 _2 a3 W' w# x0 D
例如:8 m- n- d, p8 F- A- p# G* D
C021:4C BFF0 JMP$F0BF                   4C BFF0   三个9 x  Z5 H: K- W" O" O4 T

3 M' g2 C6 q! N  G; d8 k
" ^: Y3 t+ q( J) E5 o0 J连续的数据是:8 O) L+ L/ ~7 L7 f/ A) t

, D" z( }: v6 AC020:14 85 16 A5 15 85 17 A9 00 90 A5 95 D0 08 A5
2 C6 v, \, u, W6 [9 k* g1 G" L& S7 |5 G3 d" R

1 r5 Z- c: r1 q4 r0 R" Y! m这种情况下我改怎样修改,但是原数据只有2个字节,如果我这里改成3个字节会对后面连续的数据造成破坏,我应该怎样改呢?1 t+ }* S+ @7 Z& V

; _5 ?" W/ r( e7 d不知道自己有没表达的清楚...希望大家能看懂我的意思..

该用户从未签到

发表于 2012-9-25 18:06:12 | 显示全部楼层
本帖最后由 money_114 于 2012-9-25 18:07 编辑
+ k/ M" r' H8 f/ a0 q4 K6 l! ~# d* B5 J! I0 |
就直接跳转, 然后在跳转地址这把前面修改的命令补全
: ?+ v2 S$ T* u' y: \% V* s$ C( Q& Y; e1 `
跳转命令看这, 写的很清楚了( Z# X  C$ f# ?" k. ~1 T6 E# q, |
http://shinwa.kami.blog.163.com/ ... 047200822563622456/8 P. h/ m3 z1 p% l6 B. s/ P
[发帖际遇]: money_114 捡了钱没交公 柠檬 降了 2 个 . 幸运榜 / 衰神榜

签到天数: 1717 天

[LV.Master]伴坛终老

发表于 2012-9-25 18:10:06 | 显示全部楼层
  1. C021:
    ) }6 D% \* Q# h: G
  2. 85 16 STA $16  ->4C BF F0 JMP $F0BF& E9 ]% J6 i) {1 k
  3. A5 15 LDA $15  ->EA       NOP
    1 g1 d" `& m+ ?
  4. 85 17 STA $17- B8 a7 V6 m2 u  p( [) M
  5. A9 00 LDA #$00
      p) h) k' B9 l$ {% b* G# ]2 q4 J
  6. # u- w3 w- a/ u
  7. F0BF:) M6 x0 E: `( A* F+ ]) S
  8. 85 16 STA $164 k7 }. x% z& t, D! T2 N/ t9 g% o: W
  9. A5 15 LDA $15
    8 |, m# `: p( H5 @) w6 L
  10. .
    * H2 ?' t2 E$ Q+ M
  11. ." r. f, m7 w8 r  B" s5 s& i
  12. .
    , E& P5 H/ \7 r* A0 K, `7 r
  13. .
复制代码
[发帖际遇]: 疾风之狼 被钱袋砸中进医院,看病花了 1 个 柠檬. 幸运榜 / 衰神榜

签到天数: 29 天

[LV.4]偶尔看看III

 楼主| 发表于 2012-9-25 19:51:21 | 显示全部楼层
本帖最后由 rxlzh 于 2012-9-25 19:54 编辑 9 x" O' e3 L4 z2 W# p  e
疾风之狼 发表于 2012-9-25 18:10

  d4 C3 ^; H) o) x9 e4 t
7 l% T5 n! F7 s& n# g" B! q. R' z狼大,我按照你的方法,不知对不。
9 t  }" }/ I  A7 n6 w
' `3 s. w* R) w: ]6 a. M. T! C% f+ m' _' J7 g+ i& P3 E/ z
原数据# D% c( _+ k3 p
C021:       85 16 A5 15 85 178 P8 s* {: V+ _, f0 R0 c

% D/ S" S0 U1 d: {3 _! U修改后
  \! V; g  U; H/ g" A% @- N6 X0 N* p9 CC021:       4C BF F0 15 85 17                  把连续的数据A5覆盖掉跳转到F0BF
% S( c; [7 @7 p: g$ _- [* y9 o. n7 c6 z
! n) N( A, K/ ]0 P" ~0 P
F0BF:85 16  A5 15  4C 25 C0                重新写入原数据和后面被覆盖的A5然后跳回C025
# c& t8 O' x1 F  R. `' j( u- C
( h' h, R+ f1 T
* B# ]/ i$ a5 k/ s. P! Y& S/ k3 ]9 W3 G) l
我之前也用这个方法测试过一次,不知为啥返回模拟器继续运行提示错误。

签到天数: 29 天

[LV.4]偶尔看看III

 楼主| 发表于 2012-9-25 20:03:47 | 显示全部楼层
本帖最后由 rxlzh 于 2012-9-25 20:08 编辑 . m$ u9 Y. x+ {. _+ V( @
3 c' F9 s# `" M" x+ \
看了money的文章后,这次我把前面的几句指令也列举出来:- p0 k1 E5 r* t/ V$ o5 m4 j
C01F: A5 14 LDA $14               :A=0x12
8 j* s- K5 t. X: }( _/ Y' yC021: 85 16 STA $16               :[0016]=A=0x122 t  ^& C% E4 B$ ~6 [& B

/ I, J% E0 j1 z6 q3 E根据文章的内容我是不是应该从C01F这个地址开始修改呢。! q! [3 H/ W( b3 \9 j
我现在重新动手测试一下,有问题再来请教你们
( l6 g% G, q# g& m
' Z2 Y/ U1 x; k' y+ c
$ d% ?0 C6 U% [2 [+ k4 p经过我测试后发现可行,在C01F地址那开始修改,没有出现错误,再次感谢你的文章{:4_103:}
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-9-24 16:26 , Processed in 1.060547 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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