设为首页收藏本站

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

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

[复制链接]

签到天数: 29 天

[LV.4]偶尔看看III

发表于 2012-9-25 17:42:38 | 显示全部楼层 |阅读模式
我在修改的过程中遇到一些只有2个字节的数据
7 U8 L; g5 e) ^- t例如 :      9 q$ W# P- G3 R  H6 G9 q2 f! `, a
C021:  85 16  STA$16                           85 16     两个; B$ N) R- H, m) y& Q. t- \/ z
6 J5 l6 }5 {4 _2 R( S

9 V# T& D3 Z* ^6 `) e& J, f然后我需要在这里修改成跳转,但是要跳转的地方需要3个字节l来修改:3 U9 X( |* t. r* U
例如:
5 C) x, [) d( xC021:4C BFF0 JMP$F0BF                   4C BFF0   三个
" m+ o! O+ w! G+ X& [5 \) b/ W, j( T9 S, P% [6 S

% }" U; r; g3 f8 J; h9 i连续的数据是:; p: U4 z: [& [3 k0 ~. L
, Y8 V' |! C- g0 B
C020:14 85 16 A5 15 85 17 A9 00 90 A5 95 D0 08 A57 n4 u5 n9 \4 r- P, J

3 `/ U; y8 t. J: m6 h9 }6 `5 k: \6 u$ F+ x1 }  s
这种情况下我改怎样修改,但是原数据只有2个字节,如果我这里改成3个字节会对后面连续的数据造成破坏,我应该怎样改呢?6 ]0 }& y7 g2 M1 B6 A

2 `1 {  l! c  @& T+ w) N5 S不知道自己有没表达的清楚...希望大家能看懂我的意思..

该用户从未签到

发表于 2012-9-25 18:06:12 | 显示全部楼层
本帖最后由 money_114 于 2012-9-25 18:07 编辑
( w" [  Q* }0 k
4 {9 j/ ?" H+ B" l  G( u就直接跳转, 然后在跳转地址这把前面修改的命令补全
* `3 S3 l: ?* w; Y5 ]
% ?2 i* r- \1 |- {# G  n  M# h跳转命令看这, 写的很清楚了
; N1 Z  B+ q3 @4 |7 o& {5 j& a: d6 Jhttp://shinwa.kami.blog.163.com/ ... 047200822563622456/
. {. Q' S& |( n: p  \" f
[发帖际遇]: money_114 捡了钱没交公 柠檬 降了 2 个 . 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 2053 天

[LV.Master]伴坛终老

发表于 2012-9-25 18:10:06 | 显示全部楼层
  1. C021:1 z9 ?" ^9 d$ g( v7 p& ]
  2. 85 16 STA $16  ->4C BF F0 JMP $F0BF2 x; D- |$ B; A, h
  3. A5 15 LDA $15  ->EA       NOP
    ; F$ q  U8 q2 y, }4 U- `
  4. 85 17 STA $179 K3 W7 `$ O- I4 t: ]' ^
  5. A9 00 LDA #$00, P) S( Q/ X' _) ~& ]8 o

  6. " g! X2 v/ r$ d% G. F0 d
  7. F0BF:( Z. v5 E4 `: e% i4 D
  8. 85 16 STA $16
    . p1 b( d/ O) u) D- O
  9. A5 15 LDA $15; b! l8 r/ X" k, g1 S# ^
  10. .6 _1 }9 D4 e- z& J, A4 O' O
  11. .1 R& p( D/ Z! p8 I, j' v. i5 r* p$ _& j
  12. .
    + M6 D- w! e$ I$ S( o" D' d) P
  13. .
复制代码
[发帖际遇]: 疾风之狼 被钱袋砸中进医院,看病花了 1 个 柠檬. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 29 天

[LV.4]偶尔看看III

 楼主| 发表于 2012-9-25 19:51:21 | 显示全部楼层
本帖最后由 rxlzh 于 2012-9-25 19:54 编辑 & n* I2 i; N; h+ V9 G. J1 A
疾风之狼 发表于 2012-9-25 18:10

, {6 d% |. t- R# s+ o& [: s1 M) ^% N7 k+ ]; C( k* i/ \
狼大,我按照你的方法,不知对不。# b1 O4 q8 Q5 d7 j% d: z9 z

8 q3 j6 p2 o& k% |1 S1 F. E; v! j$ J/ ^* g$ S0 `7 Y
原数据
0 `7 w3 }. X0 F, r; ]" wC021:       85 16 A5 15 85 176 {  m/ P  G8 A! u3 c* d
9 ^% Y* K9 |3 ~; @1 z* G  ]
修改后0 N& _# Y  w. Y: B) k; Y
C021:       4C BF F0 15 85 17                  把连续的数据A5覆盖掉跳转到F0BF2 H; \1 u3 K5 W5 P$ ?
" E& b" S' c& r% C9 Y& n$ I
9 N6 e0 r- I6 v  S5 D* ?
F0BF:85 16  A5 15  4C 25 C0                重新写入原数据和后面被覆盖的A5然后跳回C025
3 |% v# u1 q" z( [& Z# [1 H# r4 ]# ?8 ?+ S3 `3 `) v1 Z

" l/ @2 t5 I! R% U7 B; P' S7 l# b1 L2 y# u: T
我之前也用这个方法测试过一次,不知为啥返回模拟器继续运行提示错误。
回复

使用道具 举报

签到天数: 29 天

[LV.4]偶尔看看III

 楼主| 发表于 2012-9-25 20:03:47 | 显示全部楼层
本帖最后由 rxlzh 于 2012-9-25 20:08 编辑 4 D  Y+ n8 ^, Y: G7 B  ]& H8 v" R
+ G0 |4 v3 T4 d# t1 x7 T
看了money的文章后,这次我把前面的几句指令也列举出来:- C$ [! `+ k0 a- w
C01F: A5 14 LDA $14               :A=0x12
4 z  A% @0 s# f2 G: oC021: 85 16 STA $16               :[0016]=A=0x12
9 v5 v+ W2 _# p( C0 G$ w3 v& a6 Y6 ~( U2 \  D+ |4 j5 z& C
根据文章的内容我是不是应该从C01F这个地址开始修改呢。. M! b7 K& r% c! W, D; O
我现在重新动手测试一下,有问题再来请教你们( @- q; Z  w# P3 a9 m; A

: p7 G- S6 I6 A# X6 `
  b  w) H* g/ m. k! _经过我测试后发现可行,在C01F地址那开始修改,没有出现错误,再次感谢你的文章{:4_103:}
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-8-26 11:45

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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