Во-первых, двоичные файлы могут быть открыты !Не бойтесь этого, вам нужны только правильные инструменты!Будучи двоичными данными, текстовый редактор, конечно же, не является правильным инструментом;правильным инструментом может быть шестнадцатеричный редактор или расширенный редактор, такой как emacs, или инструмент, который вместо того, чтобы просто «выводить» байты в их «шестнадцатеричном» представлении и позволяющий вам самостоятельно интерпретировать данные, знает этот конкретный формат и «интерпретирует «данные должным образом, на некотором уровне (например, GIMP интерпретирует файл PNG как изображение и показывает его, анализатор PNG будет« разлагать »данные внутри секций PNG, показывая вам флаги в определенных байтах и т. д.).
В вашем случае общий ответ заключается в том, что объектный файл содержит ваш скомпилированный код (и данные), а также всю дополнительную информацию, необходимую компоновщику, и, в конечном итоге, многое другое.
Как эти сведения«организованный», а в некоторых случаях то, из чего состоит «в конечном итоге больше», зависит от конкретного формата объекта.Некоторые ссылки на Википедию, перечисляющие некоторые из возможностей: это , это , это , это ...
Каждыйиз них могут быть свои инструменты для анализа контента;например, readelf
для ELF, objdump
для нескольких форматов (попробуйте objdump -i
) в зависимости от того, как он был скомпилирован.