A Look at Upcoming Innovations in Electric and Autonomous Vehicles DeNuitkanizator вскрыл скомпилированные exe. Реверс без IDA возможен

DeNuitkanizator вскрыл скомпилированные exe. Реверс без IDA возможен

DeNuitkanizator вскрыл скомпилированные exe. Реверс без IDA возможен

Эксперимент показал: дизассемблировать Nuitka-сборки и нативные исполняемые файлы можно без привычных инструментов индустрии

Реверс-инженер провёл нестандартный эксперимент: разобрал два принципиально разных exe-файла, не прибегая к IDA Pro, Ghidra или x64dbg. В ход пошли лишь DeNuitkanizator и HxD. Результат оказался неожиданно убедительным.

Связка двух инструментов вместо привычного арсенала

Стандартный набор реверс-инженера давно устоялся: IDA Pro как флагман анализа, Ghidra от NSA как бесплатная альтернатива, x64dbg для динамической отладки. Каждый из них - отдельная экосистема с годами отработанных техник и плагинов. Но исследователь решил намеренно отказаться от этого стека. шахтёр донецк

DeNuitkanizator изначально позиционируется как анализатор Nuitka-сборок, PyInstaller и других упаковщиков. Он вытаскивает метаданные, строки, замороженные модули и структуру PE-файла, складывая всё в папку вывода. Его ключевая особенность - встроенная технология Asm-To-C, которая построчно переводит ассемблерный код x86/x64 в читаемый C-код на основе движка Capstone. HxD выступал вспомогательным инструментом - для прямого просмотра бинарных секций в шестнадцатеричном представлении.

hello.exe: Nuitka-сборка под микроскопом

Первый подопытный - крошечная программа весом 3,65 МБ, скомпилированная через Nuitka в режиме Standalone. Исходник предельно прост: вывод строки и ожидание ввода. Задача - найти эту строку в недрах бинарника и убедиться, что дизассемблер справляется с задачей.

После прогона через DeNuitkanizator исследователь открыл секцию .rsrc в HxD и без труда обнаружил целевую строку. Важный нюанс: в режиме onefile энтропия секции достигает 8.0 из 8.0 из-за сжатия алгоритмом zstd - в таком случае прямой поиск строк невозможен. Standalone-режим оставляет данные в читаемом виде.

Дизассемблер выдал полноценный листинг. Вот что удалось извлечь по секциям:

СекцияРазмер (Raw)ЭнтропияПрава
.text146 432 байт6.15 / 8.0EXEC
.rdata52 736 байт6.16 / 8.0чтение
.data24 064 байт2.21 / 8.0чтение/запись
.rsrc4 692 480 байт5.55 / 8.0чтение
.pdata8 192 байт5.20 / 8.0чтение
.reloc2 048 байт5.19 / 8.0чтение

В pe_headers.txt обнаружились импорты из python311.dll - прямое указание на версию интерпретатора. Среди них: PyImport_ImportFrozenModule, PyUnicode_AsUTF8, PyObject_GC_Del и ещё несколько десятков символов, однозначно читаемых без каких-либо дополнительных инструментов.

AnyDesk 7.1.6.0: нативный бинарник раскрывает подпись

Второй файл - совсем другая история. AnyDesk весом 3,81 МБ не имеет никакого отношения к Python-упаковщикам. Это полноценный нативный исполняемый файл. Здесь DeNuitkanizator отработал как PE-анализатор общего назначения.

Наиболее интересным оказался файл overlay.bin - данные, дописанные поверх PE-структуры. В HxD там читается цифровая подпись: сертификат выдан компанией DigiCert, одним из крупнейших мировых центров сертификации. Алгоритм подписи - RSA-4096 в связке с SHA-384. Это серьёзный уровень криптографической защиты, характерный для корпоративного ПО с широкой дистрибуцией.

Что в итоге: возможности и честные ограничения

Эксперимент доказал работоспособность связки. Без единого запуска IDA или Ghidra удалось извлечь строки, структуру PE, импортированные символы, дизассемблированный код с C-переводом и данные цифровой подписи. Это уже достаточный объём для первичного триажа файла.

Честно признаётся и главная слабость: Capstone - линейный дизассемблер, а не рекурсивный. Он не восстанавливает граф потока управления и генерирует мусор в тех местах, где код перемежается с данными. Часть мнемоник пока не поддерживается и остаётся в листинге как комментарии. Для глубокого анализа обфусцированного или упакованного кода этого недостаточно.

  • Связка DeNuitkanizator + HxD покрывает первичный анализ PE-структуры и поиск артефактов
  • Asm-To-C даёт читаемый C-псевдокод, но требует ручной фильтрации мусора
  • Onefile-сборки с zstd-сжатием блокируют прямой поиск строк
  • Нативные бинарники поддаются анализу в части PE-метаданных и оверлея
  • Для полноценного реверсинга сложных целей классический стек по-прежнему незаменим

Вывод прагматичный: инструментарий реально работает как лёгкий разведчик перед основным разбором. Быстро, бесплатно, без громоздкой установки. Но заменить IDA Pro в сложных кейсах он пока не готов - и авторы эксперимента этого не скрывают.