реверс-инжиниринг

Реверс без IDA. DeNuitkanizator вскрыл AnyDesk

Реверс без IDA. DeNuitkanizator вскрыл AnyDesk
Реверс без IDA. DeNuitkanizator вскрыл AnyDesk

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

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

Что за инструменты и зачем этот эксперимент

DeNuitkanizator изначально создавался как анализатор Nuitka-сборок: он вытаскивает метаданные, строки, модули и структуру из скомпилированных Windows-приложений. Но внутри него есть кое-что интересное - технология Asm-To-C, которая построчно переводит x86/x64-ассемблер в читаемый C-код. Вдохновением послужил проект cisol на GitHub. таблица мажор 2026

HxD - бесплатный HEX-редактор. Быстрый, без лишнего. Справляется с большими бинарниками и без труда открывает .bin-дампы. Связка получилась неочевидная, но рабочая.

Hello.exe: Nuitka под микроскопом

Первый подопытный - крошечная программа на Python, скомпилированная через Nuitka в режиме Standalone. Три с половиной мегабайта ради двух строчек кода: вывод приветствия и ожидание ввода.

DeNuitkanizator за несколько секунд сформировал папку с дампами секций, заголовками PE, строками и дизассемблированным кодом. В HxD открыли секцию .rsrc - и нашли там исходную строку вывода. Энтропия секции составила 5.55 из 8.0, что говорит об обычном сжатии, а не о жёстком шифровании. Для сравнения: в режиме onefile Nuitka использует zstd, и тогда энтропия бьёт в потолок - ровно 8.0.

Ассемблерный вывод получился корректным: Capstone дизассемблировал .text-секцию объёмом 146 КБ с энтропией 6.15. C-перевод читается - пусть и с оговорками. Часть мнемоник пока не поддерживается и остаётся в комментариях. Это честно: Capstone работает линейно, без рекурсивного обхода графа потока управления. Мусор присутствует, и его нужно уметь отфильтровывать.

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

AnyDesk.exe: цифровая подпись и следы CI/CD

Второй файл - коммерческий софт для удалённого доступа версии 7.1.6.0, весом около 3.8 МБ. Нативный PE, без Python-упаковщиков.

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

В дампе строк обнаружился Buildbot - система непрерывной интеграции, написанная на Python. Инструмент нишевый, но уважаемый: его выбирают для сложных, гибко настраиваемых сборочных пайплайнов. Факт его присутствия в артефактах говорит о зрелой инфраструктуре разработки внутри команды AnyDesk.

Что в итоге: годится или нет

Эксперимент дал однозначный ответ: связка DeNuitkanizator + HxD вполне пригодна для первичного анализа. Особенно - при работе с Python-сборками. Из Nuitka-файлов инструмент достаёт замороженные модули, строки, заголовки и дизассемблированный код с C-переводом. Для нативных PE вроде AnyDesk возможности скромнее, но overlay, секции и строки читаются без проблем.

Ограничения тоже очевидны. Capstone - линейный дизассемблер, и это накладывает потолок на качество вывода. IDA Pro или Ghidra строят граф потока управления рекурсивно, что принципиально точнее. Asm-To-C пока не покрывает все мнемоники. Тем не менее для быстрой разведки или работы в условиях ограниченного набора инструментов - вариант рабочий. Попробовать стоит.