如何在可执行文件里找到对应函数的机器码(linux)环境

时间:2021-09-16 17:09:38

一、使用VIM编辑二进制文件的方法

先通过外部程序xxd来把文件dump成其二进制的文本形式,然后按通常的编辑方式对文件进行编辑,编辑完再用xxd 转化为原来的形式。

分如下几步进行:

(1) 先以二进制方式编辑这个文件:vim-b datafile

(2) 现在用 xxd 把这个文件转换成十六进制: :%!xxd

 (3) 最后,用下面的命令把它转换回来: :%!xxd -r

只有十六进制部分的修改才会被采用。右边可显示文本部分的修改忽略不计。

xxd是Linux的一个命令,vim可以通过”!”来调用外部命令,其功能就是进行十六进制的dump或者反之

二、将一个可执行文件里的机器码,汇编指令和原函数名称一起打印:使用命令:

objdimp --disassemble –show-raw-insn [可执行文件的名称]

e.g.-->objdump --disassemble –show-raw-insn main.