Бинарный анализатор ELF
Автоматический анализ и анализ двоичных файлов ELF (исполняемый и связываемый формат). Поддерживает ELF32 и ELF64 с кодировкой с прямым и прямым порядком байтов. Анализирует заголовки ELF, заголовки разделов с помощью энтропийного анализа Шеннона, заголовки программ (сегменты), таблицы символов (статические и динамические), записи динамических разделов (DT_*) и помечает упакованные/подозрительные разделы с помощью высокоэнтропийного обнаружения, известных сигнатур упаковщиков и анализа разрешений W+X. Бесплатно, конфиденциально и не требует регистрации.
Parse and analyze ELF (Executable and Linkable Format) binary files. Automatically parses ELF headers (32/64-bit, LE/BE), section headers with entropy analysis, program headers, symbol tables, and dynamic linking information. Flags packed, compressed, or suspicious sections for security analysis. Paste a hex dump or upload a binary file.
Paste an ELF binary as a hex dump above and click Analyze ELF to parse its headers, sections, program headers, symbols, and dynamic linking information. The tool also detects packed or suspicious sections based on entropy analysis and known packer signatures. Upload a binary file or load an example to see how it works!
Функции
- Полный анализ заголовков ELF Анализирует заголовки ELF32 и ELF64 с поддержкой прямого и обратного порядка байтов. Отображает класс, кодировку данных, OS/ABI, тип машины, адрес точки входа, расположение таблиц разделов и заголовков программы, а также все необработанные флаги. Автоматически обнаруживает Linux, FreeBSD, Solaris и другие идентификаторы OS/ABI.
- Анализ разделов и сегментов. Комплексная таблица заголовков разделов с классификацией типов, декодированием флагов (записываемый, распределяемый, исполняемый), сопоставлением адресов и информацией о размере. Анализ заголовка программы показывает загружаемые сегменты, пути интерпретатора, шаблоны TLS и свойства стека/релро GNU.
- Символ и динамическое связывание Извлекает и отображает таблицы символов (SHT_SYMTAB и SHT_DYNSYM) с именами символов, значениями, размерами, привязками (LOCAL/GLOBAL/WEAK) и типами (FUNC/OBJECT/FILE). Анализатор динамических разделов декодирует записи DT_*, включая зависимости библиотеки DT_NEEDED, DT_SONAME, DT_INIT/DT_FINI и хеш-таблицы GNU.
- Обнаружение упакованных разделов Помечает подозрительные разделы с помощью нескольких эвристик: расчет энтропии Шеннона (>7,5 предполагает сжатые/зашифрованные данные), известные шаблоны имен разделов упаковщика (UPX, Themida, VMProtect, ASPack, Armadillo), комбинации разрешений для записи и выполнения (W+X) и необычно большие разделы PROGBITS.
Варианты использования
- Анализ вредоносного ПО и обратное проектирование. Анализируйте подозрительные двоичные файлы ELF на наличие упакованных или запутанных разделов. Энтропийный анализ и обнаружение флагов разделов помогают идентифицировать вредоносное ПО, упакованное в UPX, зашифрованные полезные данные и методы антианализа, используемые во вредоносном ПО для Linux. Обнаружение скрытых участков кода и необычных разрешений сегментов.
- Отладка двоичных файлов и криминалистика. Изучите дампы ядра и поврежденные двоичные образы. Анализируйте заголовки программ, чтобы понять структуру памяти, проверить пути интерпретатора и проверить выравнивание сегмента PT_LOAD. Идентифицируйте удаленные символы и анализируйте динамическое связывание для криминалистического расследования взломанных систем.
- Межплатформенная двоичная проверка. Убедитесь, что скомпилированные двоичные файлы ELF предназначены для правильной архитектуры (x86, x86-64, ARM, AArch64, RISC-V и т. д.) и ОС/ABI. Проверьте порядок байтов, 32/64-разрядный класс и версию ABI, чтобы обеспечить совместимость перед развертыванием в различных дистрибутивах Linux и встроенных системах.
- Аудит усиления безопасности Аудит функций двоичной безопасности, включая независимость позиции PIE/PIC, канарейки стека (PT_GNU_STACK), RELRO (PT_GNU_RELRO), принудительное использование битов NX и FORTIFY_SOURCE. Обнаружение двоичных файлов без поддержки ASLR или с записываемыми и исполняемыми сегментами памяти.
- Анализ встроенных систем и Интернета вещей Анализируйте двоичные файлы ELF из встроенных систем Linux, маршрутизаторов, устройств Интернета вещей и оборудования на базе ARM. Проверьте правильность выбора архитектуры, проверьте наличие удаленных символов отладки и определите зависимости динамических библиотек. Полезно для анализа прошивки и исследования уязвимостей.
- Образование и изучение формата ELF Изучите формат файлов ELF в интерактивном режиме, изучая реальные двоичные заголовки. Инструмент визуализирует каждое поле заголовка ELF, заголовки разделов, заголовки программ, таблицы символов и динамические записи. Отлично подходит для студентов-компьютерщиков, изучающих двоичные форматы и компоновщики.
О бинарном анализаторе ELF
- Что такое двоичный файл ELF? ELF (формат исполняемых и связываемых файлов) — это стандартный двоичный формат для исполняемых файлов, объектного кода, общих библиотек и дампов ядра в Unix и Unix-подобных системах, включая Linux, FreeBSD, Solaris и многие другие. Впервые опубликованный в спецификации двоичного интерфейса приложения System V, ELF заменил старые форматы a.out и COFF. Каждый файл ELF начинается с 4-байтового магического числа (\\x7FELF), за которым следует заголовок, определяющий структуру файла, включая заголовки разделов и программ, описывающие, как следует загружать и связывать двоичный файл.
- Как работает анализатор ELF Анализатор анализирует двоичные файлы ELF из необработанных шестнадцатеричных входных данных или загруженных файлов. Он извлекает заголовок ELF для определения архитектуры (32/64-разрядной), порядка байтов (с прямым или прямым порядком байтов), ОС/ABI и типа файла (исполняемый файл, общая библиотека, перемещаемый объект или дамп ядра). Заголовки разделов анализируются, чтобы выявить код, данные, таблицы символов и таблицы строк. Заголовки программ описывают, как операционная система загружает сегменты в память. Инструмент также вычисляет энтропию Шеннона для каждого раздела для обнаружения сжатого или зашифрованного контента, сопоставляет имена разделов с известными сигнатурами упаковщиков и помечает подозрительные комбинации разрешений.
- Обнаружение упакованных двоичных файлов Многие образцы вредоносных программ и коммерческое программное обеспечение используют упаковщики, такие как UPX, Themida, VMProtect, ASPack или MPRESS, для сжатия или шифрования своего содержимого. Эти упаковщики оставляют характерные следы: разделы с высокой энтропией (>7,5 бит на байт), подозрительные имена разделов (.packed,.upx0,.themida) или необычные разрешения разделов (записываемые + исполняемые). Анализатор ELF автоматически сканирует все эти индикаторы и отображает их на специальной вкладке «Подозрительные разделы». Высокая энтропия выделена красным, известные имена упаковщиков помечены, а разделы W+X помечены для немедленной проверки безопасности.
- Конфиденциальность и безопасность Весь анализ выполняется полностью в вашем браузере с использованием JavaScript. Ваши двоичные данные ELF никогда не покидают ваше устройство. Нет загрузки на сервер, вызовов API и сбора данных. Это особенно важно при анализе конфиденциальных двоичных файлов, таких как подозрительное вредоносное ПО, проприетарное программное обеспечение или конфиденциальные внутренние инструменты. Вы можете анализировать столько файлов, сколько вам нужно, без регистрации, учетных записей и ограничений на использование. Для удобства инструмент поддерживает как вставку шестнадцатеричного дампа, так и прямую загрузку файлов.
Часто задаваемые вопросы
Инструмент поддерживает как двоичные файлы ELF32 (32-разрядные), так и ELF64 (64-разрядные) с прямым и прямым порядком байтов. Он может анализировать исполняемые файлы (ET_EXEC), общие библиотеки/двоичные файлы PIE (ET_DYN), перемещаемые объектные файлы (ET_REL) и дампы ядра (ET_CORE). Поддерживаются все распространенные архитектуры, включая x86, x86-64, ARM, AArch64, RISC-V, MIPS, PowerPC и SPARC.
Энтропия Шеннона измеряет случайность данных. Обычные разделы кода (.text) имеют энтропию от 4,0 до 6,5. Сжатые или зашифрованные разделы имеют энтропию, близкую к 8,0. Инструмент вычисляет энтропию для каждого раздела PROGBITS и помечает разделы с энтропией выше 7,5 как потенциально упакованные. Энтропия между 6,0 и 7,5 выделена желтым цветом для внимания.
Инструмент помечает имена разделов, соответствующие известным шаблонам упаковщиков, включая .packed, .encoded, .crypted, .obfuscated, .protect, .vmprotect, .themida, .enigma, .mpress, .upx0, .upx1, .upx2, .aspack, .armadillo и .pecompact. Он также обнаруживает разделы W+X (записываемые + исполняемые), которые необычны для обычных двоичных файлов.
Да. В удаленных двоичных файлах отсутствуют таблицы символов, поэтому будет показано меньше символов. Однако заголовок ELF, заголовки разделов, заголовки программ и информация о динамическом связывании всегда сохраняются в удаленных двоичных файлах и будут полностью проанализированы. Инструмент по-прежнему может обнаруживать упакованные разделы и проверять функции безопасности.
Заголовки разделов описывают логические подразделения файла ELF (код, данные, таблицы символов, информацию об отладке) и используются компоновщиками и отладчиками. Заголовки программ описывают, как ядро или динамический компоновщик загружает двоичный файл в память во время выполнения. Исполняемым файлам обычно требуется и то, и другое: заголовки разделов для отладки/связывания, заголовки программ для выполнения.
Инструмент обнаруживает PIE/PIC (независимый от позиции исполняемый файл через тип ET_DYN), PT_GNU_STACK для принудительного применения битов NX, PT_GNU_RELRO для разделов перемещения только для чтения, PT_INTERP для пути динамического компоновщика, разрешения на выполнение стека из флагов заголовка программы и разделение записываемых и исполняемых сегментов.
Вставьте необработанное шестнадцатеричное представление вашего двоичного файла ELF. Пробелы и префиксы 0x автоматически удаляются. Вы можете получить шестнадцатеричный дамп, используя xxd (xxd -pbinary.elf), od (od -A x -t x1z -vbinary.elf) или hexdump. Альтернативно, используйте кнопку «Загрузить двоичный файл», чтобы загрузить файл напрямую.
Инструмент может обнаружить множество распространенных методов антианализа, включая упакованные разделы, зашифрованные области кода, сегменты памяти W+X, необычные имена разделов, обратные вызовы TLS и удаленные символы. Однако он не может выполнить двоичный код или обойти расширенный антианализ, такой как обнаружение виртуальных машин или расшифровка кода во время выполнения.
Да — 100 % бесплатно, без регистрации, аккаунта и ограничений на использование. Проанализируйте столько двоичных файлов ELF, сколько вам нужно. Никаких премиальных уровней, скрытых платежей или ограничений по ставкам нет. Вся обработка происходит локально в вашем браузере — ваши двоичные данные никогда не покидают ваше устройство.