Всем уже надоели клоны (их есть у меня) и спекуляция на чужом имени — хочется увидеть что-то по-настоящему новое и полезное.

Встречайте дизассемблер для ARM64, 32-битного ARM, x86-64, i386, WebAssembly, .NET (CIL) и байт-кода Java: файлы Mach-O, ELF, PE, APK и IPA из macOS, iOS, Linux, Android и Windows. Один HTML-файл, работает без сети, ничего не отправляет — скачиваете на флешку, и этот инструмент с вами навсегда. Всё уместилось в 1,22 МБ.

Сегодня не буду многословен.

  • Репа: html-disasm

  • PWA — можно открыть как сайт или установить как приложение

  • Описание на русском

Рассмотрим основной функционал и то, чем он будет полезен.

Код ассемблера, куда же без него

Есть стрелочки, возможность увидеть машинный код (отключается галочкой):

Код ассемблера
Код ассемблера

Описание мнемоник

Поддерживается русский язык:

Описание мнемоник
Описание мнемоник

Фильтр функций, импорт, экспорт

Есть даже деманглинг:

Фильтр функций
Фильтр функций

Статистика

Пожалуй, самое полезное (аналогов не находил). Общая:

Статистика общая
Статистика общая

И по мнемоникам:

Статистика по мнемоникам
Статистика по мнемоникам

Строки

Это везде есть, но для полноты картины:

Строки
Строки

Импорт и экспорт подробно

В том числе на уровне библиотек:

Импорт и экспорт
Импорт и экспорт

Данные о контейнере

Данные о контейнере
Данные о контейнере

Бонус — можно изменить инструкцию

Для самых искушённых. Пока только для macOS ARM, но зато работает: программа переподписывается и запускается.

Можно изменить инструкцию
Можно изменить инструкцию

HLA

Тут писать не буду, оставлю интригу до новой статьи. Но в узких кругах данную тему уже обсудили, и людям понравилось.

Выводы

Сам не ожидал, что это возможно, что получится такой инструмент, причём в файле размером 1,22 МБ.

Главное, что это удобно — открыл, и всё работает, не тратишь время на установку, добавление плагинов. Та же Ghidra для WASM требует плагина, который работает не на всех версиях (когда мне понадобился — затребовал 12.0, с новой версией не работал).

Подходит для быстрых проверок: например, посмотреть архитектуру библиотеки, экспортируемые функции. Можно использовать для обучения.

Конечно, это не замена взрослым дизассемблерам, у каждого инструмента своя ниша.

Пользуйтесь, делитесь пользовательским опытом, ставьте звёзды на GitHub.

Комментарии (3)


  1. ikra
    14.10.2026 06:41

    "Дизассемблер в одном HTML-файле" что же с нами стало...

    Автору респект за эксперимент. Любопытно наблюдать как трансформировались и смешались технологии за последнее время.


  1. MasterMentor
    14.10.2026 06:41

    Работает! (проверил на debug clang win). Удобно. Слева - список функций, справа что функция вызывает/кто её вызывает (почти граф программы). Читает debug символы, по клику переход на функцию/метку, показывает стрелками jmp-ы.

    Респект!


  1. dreamerminsk
    14.10.2026 06:41

    APK открывает, но видит только .so файлы. DEX даже читать не хочет...