Файлы, двоичные данные и сжатие

анализ исполняемых файловЗаголовки и точные диапазоны байтов

Выберите локальный файл или пример и запустите разбор заголовков.

анализ исполняемых файлов

Двоичный файл

Перетащите один файл ELF, PE или Mach-O либо выберите его.

Файл не выбран

Чтение только в браузере: файл не загружается и не запускается.

Результат разбора

Выберите файл или загрузите пример.

Выберите файл или загрузите пример.

Если сборка не запускается, анализ исполняемых файлов поможет проверить архитектуру, точку входа и смещения секций. Расширение файла не отвечает на эти вопросы.

Анализ исполняемых файлов разделяет заголовок ELF, PE-заголовок и команды загрузки Mach-O. Здесь доступен просмотр секций ELF и структура Mach-O без выполнения кода.

Зачем нужен анализ исполняемых файлов

Свяжите поля с реальными байтами, не запуская программу.

Три формата со своими структурами

Анализ исполняемых файлов отделяет программные заголовки ELF от секций, идёт от DOS к PE и перечисляет команды Mach-O. Одной проверки сигнатуры для этого недостаточно.

Три разноцветные структуры заголовков и поле, связанное с диапазоном байтов.

Каждая архитектура универсального Mach-O

В контейнере fat лежат самостоятельные срезы. Выберите arm64 или x86-64 и посмотрите смещение, размер и заголовок именно этого среза.

Контейнер с двумя срезами архитектур и отдельным заголовком в каждом.

От файла к проверяемому смещению

01

Сначала проверьте размер

Имя и число байтов видны до разбора. Файл больше 32 МиБ отклоняется до чтения в память; примеры содержат лишь небольшие заголовки.

  • Формат определяется магическими байтами, а не расширением.
02

Запустите разбор вручную

Нажмите «Разобрать заголовки» или Ctrl/Cmd+Enter. После смены файла прежний отчёт устаревает; копирование и скачивание недоступны до нового успеха.

  • ELF без таблицы секций допустим, а таблица за концом файла — нет.
03

Сверьте диапазон и экспортируйте

Нажмите на поле, чтобы увидеть абсолютное смещение и первые байты. Для универсального Mach-O после смены среза разберите его снова.

  • JSON не содержит исходные байты программы.

Какие структуры разбираются

ELF32 и ELF64 с обоими порядками байтов

Читаются заголовки файла, программ и секций с полной шириной чисел. Расширенная нумерация берётся из нулевой секции; отсутствие таблицы допустимо.

Цепочка заголовков PE32 и PE32+

Указатель в DOS ведёт к сигнатуре PE, COFF, необязательному заголовку и таблице секций. RVA входа и база образа показаны отдельно.

Тонкий и универсальный Mach-O

Перечисляются заголовки 32/64 бит, команды, сегменты и секции. Каталог fat хранит смещение и размер каждого среза, даже повреждённого.

Поля привязаны к байтам файла

Нажатие на поле открывает его шестнадцатеричный диапазон. Секции ELF NOBITS и Mach-O zerofill не занимают байты на диске.

Границы и ограничения разбора

Локальное чтение без запуска
File API читает файл в этой вкладке. Нет загрузки, запроса по URL или исполнения кода. Наличие подписи само по себе не означает безопасность.
Не дизассемблер
Символы и DWARF ELF, импорты и ресурсы PE, пути dylib Mach-O подробно не разбираются. Машинные инструкции не превращаются в исходный код.
32 МиБ и строгая проверка границ
Допускается один файл до 33 554 432 байт. Число записей, ширина, смещение и длина проверяются внутри файла или среза до обхода таблицы.
JSON только со структурой
Копирование и скачивание включают поля, флаги и диапазоны выбранного среза, но не исходные байты и не общедоступную ссылку.

Вопросы об анализе исполняемых файлов

Как посмотреть заголовок ELF-файла?

Выберите ELF и запустите разбор. Анализ исполняемых файлов покажет класс, порядок байтов, архитектуру, точку входа и обе таблицы заголовков.

Чем секции ELF отличаются от сегментов?

Сегменты описывают загрузку в память, секции нужны компоновщику и анализатору. Здесь они приведены в разных списках.

Где в PE-файле находится настоящий заголовок?

Поле e_lfanew по адресу 0x3C в DOS-заголовке указывает на сигнатуру PE. Затем следуют COFF и необязательный заголовок.

Как определить архитектуру исполняемого файла?

Тип процессора читается из заголовка ELF, PE или Mach-O. Неизвестное значение остаётся числом, а не выдуманным названием.

Может ли ELF работать без таблицы секций?

Да. Пара e_shoff=0 и e_shnum=0 означает отсутствие таблицы. Если заявленная таблица выходит за границы, это уже ошибка.

Выполняется ли файл при анализе заголовка?

Нет. Анализ исполняемых файлов читает байты в браузере и не запускает ELF, EXE или Mach-O. Файл также не отправляется на сервер.

Остались вопросы?

Начните анализ исполняемых файлов

Откройте три примера, затем собственную сборку. Анализ исполняемых файлов позволяет проверить смещения до передачи отчёта JSON.

Выбранный файл остаётся только в этой вкладке.