我尝试了以下操作,但是生成的文件仍然是ELF,而不仅仅是部分内容。
$ objcopy --only-section=<name> <infile> <outfile>
我只想要本节的内容。是否有任何实用程序可以做到这一点?有任何想法吗?
相反不雅砍周围objdump和dd:
objdump
dd
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。并将命令送入外壳。
objdump -h
awk
过去,由于很少需要手动执行所有操作,因此无需编写任何脚本。