设为首页收藏本站

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

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

[复制链接]

签到天数: 29 天

[LV.4]偶尔看看III

发表于 2012-9-25 17:42:38 | 显示全部楼层 |阅读模式
我在修改的过程中遇到一些只有2个字节的数据
$ c- C, R1 z3 d7 K例如 :      + m2 e( Z" c0 @5 [4 z# r7 L
C021:  85 16  STA$16                           85 16     两个: h9 G4 b% ^- r7 l  ?$ y
$ S, G0 Z- t+ ~. ~
' t5 r3 q& _* B# H
然后我需要在这里修改成跳转,但是要跳转的地方需要3个字节l来修改:
, R* Y, w5 d7 `) W例如:
7 G$ s- B: w9 F+ B  XC021:4C BFF0 JMP$F0BF                   4C BFF0   三个
, l/ l' h) @) ?1 x6 t1 R. l: p; @+ {
0 }- K# T: ?5 k7 t' L+ a" |
连续的数据是:8 e% y7 ]" V. ~" {7 M

9 ], j; a! ^7 O& eC020:14 85 16 A5 15 85 17 A9 00 90 A5 95 D0 08 A5
- Z3 X: D/ s0 P8 p  h9 |  G2 V# b, l# n0 U( T' N8 i1 L2 l5 J8 Z3 x0 i

+ x: D) v. T% m7 k$ J, G) W这种情况下我改怎样修改,但是原数据只有2个字节,如果我这里改成3个字节会对后面连续的数据造成破坏,我应该怎样改呢?
5 g' }0 Z9 F! ?' r: f- v0 F) a" p. w" s$ ?" `, {) Q4 O: ?
不知道自己有没表达的清楚...希望大家能看懂我的意思..

该用户从未签到

发表于 2012-9-25 18:06:12 | 显示全部楼层
本帖最后由 money_114 于 2012-9-25 18:07 编辑 : k3 x. u1 R+ v3 r
5 I3 N) m, ^0 C( ~- W0 D
就直接跳转, 然后在跳转地址这把前面修改的命令补全# O/ a! f- M" Z# {! Y# V
; V4 \+ Y; Q& \: v5 S. F
跳转命令看这, 写的很清楚了+ B* r  @. @% p( N7 z4 O; Q
http://shinwa.kami.blog.163.com/ ... 047200822563622456/: D/ U1 P; D; T, s- K  p
[发帖际遇]: money_114 捡了钱没交公 柠檬 降了 2 个 . 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 1898 天

[LV.Master]伴坛终老

发表于 2012-9-25 18:10:06 | 显示全部楼层
  1. C021:
    8 R, L% M! B" ^# R
  2. 85 16 STA $16  ->4C BF F0 JMP $F0BF) E# @6 Y) v6 M0 ]# y# |& ?5 B
  3. A5 15 LDA $15  ->EA       NOP
    & _9 }1 o5 E; G6 M0 a: s
  4. 85 17 STA $17
    & m+ u9 N# g* G
  5. A9 00 LDA #$00
    # M# w% r* ~% q, \! V1 d, p; y
  6. ( P, f9 p2 b, Q# B1 o1 v
  7. F0BF:
    ; L! R% c6 z6 h1 w( a6 R! `* l
  8. 85 16 STA $16( {( o* R* Q9 W, r9 `) N
  9. A5 15 LDA $15. A  v2 `# B9 F8 `! E8 `$ s
  10. .2 Q1 ]( n$ N) p1 G# m; N+ n' P' ^
  11. ., K' }1 F7 d0 J3 w
  12. .
    % c7 k+ A/ f; s' S7 i& _- A, ?
  13. .
复制代码
[发帖际遇]: 疾风之狼 被钱袋砸中进医院,看病花了 1 个 柠檬. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 29 天

[LV.4]偶尔看看III

 楼主| 发表于 2012-9-25 19:51:21 | 显示全部楼层
本帖最后由 rxlzh 于 2012-9-25 19:54 编辑
7 Y5 g( X9 |4 g, R
疾风之狼 发表于 2012-9-25 18:10

+ n& X- d7 c$ T- u: ^0 E, J8 {8 ^* G1 Y& d5 Y
狼大,我按照你的方法,不知对不。7 q) t0 c# m8 R# k# B$ k  C

" s4 L7 a& _. \) \+ G9 q( ?
2 n/ V3 u7 U+ i$ |1 ]4 a% `4 U原数据
. Y- r. b) a6 UC021:       85 16 A5 15 85 17
+ X: j# R) E, w8 E$ M* L) B# a, w0 r
2 J. c# ^# i1 I# [& o$ h# U修改后' q7 v4 |. a( d7 V( f
C021:       4C BF F0 15 85 17                  把连续的数据A5覆盖掉跳转到F0BF
- d$ q) a4 M8 i) ^* ?( i7 }
8 z( O! ~* ]5 E5 d- G1 ]: v" t. g, u! b' T8 O+ m
F0BF:85 16  A5 15  4C 25 C0                重新写入原数据和后面被覆盖的A5然后跳回C025
$ u/ T! y2 B% T* L$ t0 f9 }" q- M/ W, f5 _6 T# u3 s
% Q8 P- ]3 t2 W& [
, X, V+ k+ o2 _+ a# T
我之前也用这个方法测试过一次,不知为啥返回模拟器继续运行提示错误。
回复

使用道具 举报

签到天数: 29 天

[LV.4]偶尔看看III

 楼主| 发表于 2012-9-25 20:03:47 | 显示全部楼层
本帖最后由 rxlzh 于 2012-9-25 20:08 编辑 % A6 j: F' p+ i) F( A1 O
' M- {6 S3 G5 s
看了money的文章后,这次我把前面的几句指令也列举出来:
3 [& W# C% e" S% CC01F: A5 14 LDA $14               :A=0x12) ~/ Y$ h6 j0 C$ Q  E, p9 i/ L
C021: 85 16 STA $16               :[0016]=A=0x12- g; ?5 k& l2 E9 [% K$ D, p) x) }

: Z; S, R) j# e3 ]# m% k根据文章的内容我是不是应该从C01F这个地址开始修改呢。/ e$ e/ |( r% i) E! M
我现在重新动手测试一下,有问题再来请教你们
  q$ W  c4 [! F  a. ?% U; r9 e, \4 U9 Q1 t$ s& U, [

* R* Q" o+ i; q- A经过我测试后发现可行,在C01F地址那开始修改,没有出现错误,再次感谢你的文章{:4_103:}
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-3-18 03:24

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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