如何解除剥离的目标文件?
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头,所以我该如何恢复这些头?
答案 0 :(得分:2)
你的问题毫无意义。如果目标文件已被剥离,那么显然信息不再存在。你无处可从中提取剥离的数据。