设为首页收藏本站

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

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

[复制链接]

签到天数: 29 天

[LV.4]偶尔看看III

发表于 2012-9-25 17:42:38 | 显示全部楼层 |阅读模式
我在修改的过程中遇到一些只有2个字节的数据
" H8 p" Q+ K) u& [3 |例如 :      
9 n0 @+ R* x2 c8 f% J C021:  85 16  STA$16                           85 16     两个
3 ?8 o; ~- [; A6 V$ J5 v/ z+ l: h, z9 w, ?' ~2 D# e4 x% D9 B
: ]1 w  l  B1 R- D$ _8 S/ @/ p
然后我需要在这里修改成跳转,但是要跳转的地方需要3个字节l来修改:, ^& v5 ?! [+ k# V
例如:
# n2 Z$ M) w9 ]! M( QC021:4C BFF0 JMP$F0BF                   4C BFF0   三个3 @4 S: k. p, s0 E" W  s
& S& `1 Y& A. ]. ]; Q
( V1 ^- ~$ O+ D; e+ H; r' m
连续的数据是:8 B" l/ a7 t7 i5 E9 d! s
9 `. y6 k0 D, E+ l: O
C020:14 85 16 A5 15 85 17 A9 00 90 A5 95 D0 08 A57 x7 ^4 |. Q4 X" U6 j1 s% [  r: I

/ a8 \2 ~8 C: P7 }
/ x8 [6 j& U- a/ c! c1 N  x& Y这种情况下我改怎样修改,但是原数据只有2个字节,如果我这里改成3个字节会对后面连续的数据造成破坏,我应该怎样改呢?
: [0 d" }% s6 g5 u# r
' V' W: O, {8 D" W不知道自己有没表达的清楚...希望大家能看懂我的意思..

该用户从未签到

发表于 2012-9-25 18:06:12 | 显示全部楼层
本帖最后由 money_114 于 2012-9-25 18:07 编辑 3 ?. B' C  ^5 w& g6 {
. |: E  r3 [% n, G
就直接跳转, 然后在跳转地址这把前面修改的命令补全
$ E2 |, r0 A8 s8 [
$ J9 a: |5 i$ H! z跳转命令看这, 写的很清楚了7 Q0 {8 w8 D  U% u! [
http://shinwa.kami.blog.163.com/ ... 047200822563622456/
6 e; a; b. O, u6 x+ @5 k
[发帖际遇]: money_114 捡了钱没交公 柠檬 降了 2 个 . 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 1941 天

[LV.Master]伴坛终老

发表于 2012-9-25 18:10:06 | 显示全部楼层
  1. C021:
    : g6 P% o% g" P& h% F
  2. 85 16 STA $16  ->4C BF F0 JMP $F0BF
    . @" c- D3 i8 N) l" Q
  3. A5 15 LDA $15  ->EA       NOP8 g6 W( c2 M: P
  4. 85 17 STA $17
    ( n8 E% X! [- d* L& I+ ^
  5. A9 00 LDA #$00
    3 f+ r. a6 X. b
  6. % t8 _  Y% x3 e
  7. F0BF:
      Z* v1 o6 M' b: b9 z) Q: I
  8. 85 16 STA $16
    . `" H2 T  D) r9 P0 R+ J$ ^
  9. A5 15 LDA $156 f* I9 x1 A  a. t( @+ S
  10. .1 j; Z( s, r  n# d
  11. .
    , P8 K0 G' Q6 _  [# I! r/ v) g
  12. .
    1 [$ b* |- B) h0 k
  13. .
复制代码
[发帖际遇]: 疾风之狼 被钱袋砸中进医院,看病花了 1 个 柠檬. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 29 天

[LV.4]偶尔看看III

 楼主| 发表于 2012-9-25 19:51:21 | 显示全部楼层
本帖最后由 rxlzh 于 2012-9-25 19:54 编辑
7 d1 d5 F$ S2 v0 v$ A7 n
疾风之狼 发表于 2012-9-25 18:10

  Q2 w& k6 ?" S$ F4 p. {5 \0 T* v4 K/ B
狼大,我按照你的方法,不知对不。- z: X! N* ~* T# r7 E/ `' e. f
+ w) A9 q# |- A3 r% o  y

1 {/ ]% y+ y* C6 ^原数据5 Q0 w" x8 ?9 q0 I$ D
C021:       85 16 A5 15 85 17
* f; o2 u  i# w# R4 ~9 ]6 P) ?- K0 G; |* O0 z0 L' _+ l, s/ V
修改后5 a0 P- h5 m8 ^4 d6 n( ?: t: H$ L' S
C021:       4C BF F0 15 85 17                  把连续的数据A5覆盖掉跳转到F0BF+ w+ L# |7 X- p6 T* Y' W- M3 o7 T- {

+ V4 v1 Z4 m0 M, D" v; X* w. b5 w5 ~8 r; q3 [; I8 |
F0BF:85 16  A5 15  4C 25 C0                重新写入原数据和后面被覆盖的A5然后跳回C025
0 R8 {9 I: K- J" V  C& C8 [6 ?- C: f2 R/ h3 m- _& x
7 i& }5 e6 u; R' A( o
* u* z/ l3 I+ ?% e: _
我之前也用这个方法测试过一次,不知为啥返回模拟器继续运行提示错误。
回复

使用道具 举报

签到天数: 29 天

[LV.4]偶尔看看III

 楼主| 发表于 2012-9-25 20:03:47 | 显示全部楼层
本帖最后由 rxlzh 于 2012-9-25 20:08 编辑
+ s- m+ X* Z0 V: q. {
" p- O6 Q! V: d看了money的文章后,这次我把前面的几句指令也列举出来:$ ^& x" A: k0 I4 _
C01F: A5 14 LDA $14               :A=0x126 ?5 L! U; _% l5 A6 U2 S
C021: 85 16 STA $16               :[0016]=A=0x124 ^/ H8 F  w! Y/ h% K
# e0 s2 V. \" `) z8 p" g8 H7 C0 Q
根据文章的内容我是不是应该从C01F这个地址开始修改呢。
# J. L' e4 d; r8 M6 q我现在重新动手测试一下,有问题再来请教你们% c* P7 O- P: \/ j
1 g4 b' c7 w+ V2 m( c- k, l( C% K

5 l; g8 ^' h, T& S2 P5 ]经过我测试后发现可行,在C01F地址那开始修改,没有出现错误,再次感谢你的文章{:4_103:}
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-5-3 14:58

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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