frowmax 发表于 2014-04-10 16:48

Linux下有个.o文件,无源码,objdump后是ARM汇编,现要改一条指令,怎么修改.o文件?


Linux下有个 .o 文件,源码丢了,arm-linux-objdump显示为ARM汇编,

现要修改一条指令,怎么修改这个 .o 文件?

类似于以下的 arm 代码,且不问语法,我偏要把4603改为4604,该怎么改?
……
6c:        4603              mov        r3, r0
6e:        60fb              str        r3,
70:        687b              ldr        r3,
72:        68db              ldr        r3,
74:        68f8              ldr        r0,
76:        4619              mov        r1, r3
……

我只知道 ':' 前为函数指令偏移,

':'后为指令机器码,这些机器码在 .o 文件里难道不是 “明码” 吗?

因为我在.o文件里搜索字节序列:“46、03、60、FB、68”,根本找不到。

Hiew也搜索不到这个序列。

请问这些 “机器码” 在 .o 文件里是怎么存的?

扣Q:幺0475693,手 木几:幺三九15591219,望热心高手指点一下。

frowmax 发表于 2014-04-10 17:30

本人知道了,结贴。

amarant 发表于 2014-04-10 22:00

回复 2# frowmax


    我也知道,不让你结贴
页: [1]
查看完整版本: Linux下有个.o文件,无源码,objdump后是ARM汇编,现要改一条指令,怎么修改.o文件?