0

我如何解开剥离的目标文件?

来自 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 标头,那么我该如何恢复这些标头?

4

1 回答 1

2

你的问题没有意义。如果目标文件已被剥离,那么显然信息不再存在。您无处可提取剥离的数据。

于 2010-08-03T10:28:13.347 回答