我如何解开剥离的目标文件?
来自 elfutils 的 eu-unstrip 可以为我做这个吗?
我需要它来将 zImage 内核转换为 vmlinux 而无需重新编译。
这是我的脚本的一部分:
magic="1f 8b 08 00"
full_line=$(od -A d -t x1 zImage | grep "$magic" )
offset_full_line=$( echo $full_line | cut -f1 -d" ")
data_full_line=$( echo $full_line | cut -f1 -d" " --complement )
index=$[ $( awk -v a="$data_full_line" -v b="$magic" 'BEGIN{print index(a,b)}' ) / 3 ]
offset=$[ 10#$offset_full_line + $index ]
dd if=zImage bs=1 skip=$offset 2>/dev/null | zcat > vmlinux
但是我的结果 vmlinux 格式未知,因为它不包含 ELF 标头,那么我该如何恢复这些标头?