一尘不染

如何仅提取ELF部分的原始内容?

linux

我尝试了以下操作,但是生成的文件仍然是ELF,而不仅仅是部分内容。

$ objcopy --only-section=<name> <infile> <outfile>

我只想要本节的内容。是否有任何实用程序可以做到这一点?有任何想法吗?


阅读 321

收藏
2020-06-02

共1个答案

一尘不染

相反不雅砍周围objdumpdd

IN_F=/bin/echo
OUT_F=./tmp1.bin
SECTION=.text

objdump -h $IN_F |
  grep $SECTION |
  awk '{print "dd if='$IN_F' of='$OUT_F' bs=1 count=$[0x" $3 "] skip=$[0x" $6 "]"}' |
  bash

objdump -h产生可预测的输出,该输出在elf文件中包含节偏移。由于不支持十六进制数字,因此我为shell
awk生成了一个dd命令dd。并将命令送入外壳。

过去,由于很少需要手动执行所有操作,因此无需编写任何脚本。

2020-06-02