EMU618社区

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

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

[复制链接]

签到天数: 29 天

[LV.4]偶尔看看III

发表于 2012-9-25 17:42:38 | 显示全部楼层 |阅读模式
我在修改的过程中遇到一些只有2个字节的数据
6 b# F7 M7 O2 N例如 :      - I( ^; G3 z5 R  \' _2 N
C021:  85 16  STA$16                           85 16     两个
% y3 |" \- k( o( o7 h% ~( N% P4 l4 |
2 }( X( e" _5 h/ A5 T8 X# ~+ b; M& \8 q$ Z. q; Y1 J6 e
然后我需要在这里修改成跳转,但是要跳转的地方需要3个字节l来修改:
3 L8 E' {. }" x8 n  q例如:
% W' e1 m) E+ {9 `; g) f9 I, o1 ~* CC021:4C BFF0 JMP$F0BF                   4C BFF0   三个
/ S1 m& m" [3 ~0 p! ]3 x# _6 x- ^' W2 e

9 D& h& v1 f. v* ]4 h  \连续的数据是:: k, Z/ ^; c  U6 E

7 w3 L+ m" T8 qC020:14 85 16 A5 15 85 17 A9 00 90 A5 95 D0 08 A5% t, g' Z+ @6 b6 y8 h# k
9 y6 F/ w6 ^# p. D. Z* O5 [
; G, Z1 Q6 W$ g! Q( B% l
这种情况下我改怎样修改,但是原数据只有2个字节,如果我这里改成3个字节会对后面连续的数据造成破坏,我应该怎样改呢?; j+ i: q/ s/ Q! n  z" j

9 I( k: r# h1 `$ n( O7 c, U不知道自己有没表达的清楚...希望大家能看懂我的意思..

该用户从未签到

发表于 2012-9-25 18:06:12 | 显示全部楼层
本帖最后由 money_114 于 2012-9-25 18:07 编辑 2 c- L, ?5 s1 d; S
" J5 [4 J4 E+ A  k4 y' F
就直接跳转, 然后在跳转地址这把前面修改的命令补全1 q3 ]: u7 K* \5 W

$ O; w3 O7 I( V+ W9 ~8 p跳转命令看这, 写的很清楚了
' Q3 J- e/ p5 yhttp://shinwa.kami.blog.163.com/ ... 047200822563622456/
7 F: A' o2 u1 C" W! g1 }6 j
[发帖际遇]: money_114 捡了钱没交公 柠檬 降了 2 个 . 幸运榜 / 衰神榜

签到天数: 2114 天

[LV.Master]伴坛终老

发表于 2012-9-25 18:10:06 | 显示全部楼层
  1. C021:% `: Z9 M# e( T/ j) e$ ^
  2. 85 16 STA $16  ->4C BF F0 JMP $F0BF
      m2 z* Y! l" }; Q$ U# d
  3. A5 15 LDA $15  ->EA       NOP
    , Y# k) }$ P4 n# d+ V6 U5 G* N. g
  4. 85 17 STA $17
    8 m% p, h4 h" L- P9 u1 O  _
  5. A9 00 LDA #$006 E7 D( s# q0 g& A( ]3 ^5 X2 }& y$ T& z

  6. 3 Y4 `0 E1 X( q
  7. F0BF:1 n, S* Q6 S9 d
  8. 85 16 STA $16
    3 c, ]- X7 }# n! j7 ~
  9. A5 15 LDA $15$ |/ L7 r& V; h+ G) p6 w
  10. .
    / y8 x) C6 z  b; c" O# c% H
  11. .( J! |7 F' R' N0 E! ~2 L
  12. .# @. e! C- {( r, ?7 B: Q
  13. .
复制代码
[发帖际遇]: 疾风之狼 被钱袋砸中进医院,看病花了 1 个 柠檬. 幸运榜 / 衰神榜

签到天数: 29 天

[LV.4]偶尔看看III

 楼主| 发表于 2012-9-25 19:51:21 | 显示全部楼层
本帖最后由 rxlzh 于 2012-9-25 19:54 编辑
& J3 T; n0 _! ^/ u: Y
疾风之狼 发表于 2012-9-25 18:10

5 Y7 }1 O. Z& z! u% `( k( I# w# E4 e
狼大,我按照你的方法,不知对不。
/ c/ X( [& W1 K0 f8 _' F" m; f! c, X! Z! [
" \' E3 Q+ v' ^  g$ |! c1 n
原数据
2 C7 a" j4 [' Z& G/ Z# rC021:       85 16 A5 15 85 170 ~# ]% j* @7 L, L9 K. \4 ?

0 J- `. w+ E  H4 v" r修改后
" b* o" h2 ]% f" hC021:       4C BF F0 15 85 17                  把连续的数据A5覆盖掉跳转到F0BF
/ M$ m( S: E0 \: h0 r3 A/ n/ l
4 v" P. B  c" D! ]+ B! L1 d2 w! ^4 }9 s2 Q  d) h( @/ E9 C
F0BF:85 16  A5 15  4C 25 C0                重新写入原数据和后面被覆盖的A5然后跳回C025
! s; K& Y% U6 q( O& w6 X# g1 ^- R- t, M, p7 i5 D: [2 M3 C( h9 o

, }0 N/ }! V1 l( [0 N6 F+ a2 t; e, r; B& Q) o
我之前也用这个方法测试过一次,不知为啥返回模拟器继续运行提示错误。

签到天数: 29 天

[LV.4]偶尔看看III

 楼主| 发表于 2012-9-25 20:03:47 | 显示全部楼层
本帖最后由 rxlzh 于 2012-9-25 20:08 编辑 ! L- h! Q$ r$ W0 Z3 C0 P
5 T+ |3 l- Y! i& a6 w
看了money的文章后,这次我把前面的几句指令也列举出来:
- N4 K% ]+ r! @  H6 R. @5 ZC01F: A5 14 LDA $14               :A=0x129 ^! j" O* v6 P
C021: 85 16 STA $16               :[0016]=A=0x12+ c$ ~) B% u6 u4 D% k- \, `
2 ]9 v# \, a& M" w9 D
根据文章的内容我是不是应该从C01F这个地址开始修改呢。
$ l. E$ x5 T% Q' K* S我现在重新动手测试一下,有问题再来请教你们" `8 b$ l& A+ t7 U  S2 F

1 _: U5 N0 g5 ?- ]. W% ^$ y0 Y/ G! I  x8 g5 N/ S
经过我测试后发现可行,在C01F地址那开始修改,没有出现错误,再次感谢你的文章{:4_103:}
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-10-28 10:36 , Processed in 1.058594 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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