Как мне распаковать объектный файл? - PullRequest
0 голосов
/ 03 августа 2010

Как мне распаковать раздетый объектный файл?

Может ли eu-unstrip от elfutils сделать это для меня?

Мне это нужно для преобразования ядра 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, так как я могу восстановить эти заголовки?

1 Ответ

2 голосов
/ 03 августа 2010

Ваш вопрос не имеет смысла.Если объектный файл был удален, то, очевидно, информации больше нет.Вам некуда извлечь извлеченные данные.

...