Общий способ проверить архитектуру файла - PullRequest
0 голосов
/ 04 марта 2019

Существует ли общий способ проверки платформы (32-разрядной / 64-разрядной) и архитектуры (powerpc, arm и т. Д.) Двоичного файла (который может быть ELF, Dwarf, PE и т. Д.).)?

Я знаю, что почти у каждого файла (elf или pe) есть заголовок, в котором указано, какая архитектура может его выполнить, но есть ли общий способ получения этой информации из всех двоичных файлов?

Я пытался использовать магию, которая возвращает всю эту информацию, но возвращает ее в виде строки -

ELF 64-bit LSB executable, x86-64,ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib/ld.so.0, stripped

Сейчас я использую регулярное выражение, чтобы извлечь из него информацию, но яне уверен, что всегда могу рассчитывать на это, потому что строковый вывод magic может отличаться.

...