Tiny Online Tools logoTiny Online ToolssearchПоиск инструментов…grid_viewВсе инструменты
Главнаяchevron_rightИнструменты обратной разработкиchevron_rightWASM ДеманглWASM Демангл

WASM Демангл

Демангл имён символов Rust и C++, найденных в бинарном файле WebAssembly, по одному или массово по всему файлу.

edit_noteОдин символupload_fileСканировать файл .wasmВставьте искажённый символupload_file

Нажмите для выбора или перетащите файлы сюда

Перетащите файл .wasm для поиска символов

Допустимо: .wasm

Похожие инструменты

WASM Визуализатор Импорта/Экспорта

WASM Визуализатор Импорта/Экспорта

Узнайте, что модулю WebAssembly нужно от хоста и что он предлагает взамен, сгруппировано по пространству имён, бок о бок.

WASM Бинарный Проводник

WASM Бинарный Проводник

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

WASM Декомпилятор

WASM Декомпилятор

Преобразуйте бинарный файл WebAssembly в читаемый текст WAT с графом вызовов по функциям, структурой потока управления и предположением о тулчейне.

Анализатор размера WASM

Анализатор размера WASM

Узнайте, какие функции и сегменты данных занимают больше всего места в модуле WebAssembly — с точной сортированной разбивкой и визуальной картой-treemap.

Конвертер CAD-файлов

Конвертер CAD-файлов

Конвертируйте CAD-файлы STEP, IGES и BREP в STL, OBJ, GLB или PLY с настраиваемым качеством тесселяции.

Инспектор Webpack-бандла

Инспектор Webpack-бандла

Определяет загрузчик рантайма webpack, карту модулей и метаданные chunk-push по форме AST, показывает реальный исходный код каждого модуля и прямо сообщает, если файл не является продуктом webpack.

Просмотр метаданных видео

Просмотр метаданных видео

Просматривайте длительность, разрешение, битрейт и тип MIME любого видеофайла. Полная конфиденциальность — работает в вашем браузере.

apps

Больше инструментов

Просмотрите нашу полную коллекцию бесплатных онлайн-инструментов.

Скомпилированные имена символов Rust и C++ "искажены" (mangled) — закодированы в компактную ASCII-форму, упаковывающую пространства имён, обобщённые аргументы и сигнатуры функций. _ZN4core3fmt5Write9write_fmt17h... не предназначен для чтения человеком, но информация в нём важна: какой crate, какой модуль, какая функция. WASM Демангл распаковывает это прямо в браузере.

Два способа использования:

  • Один символ — вставьте искажённое имя и увидите его демангл мгновенно по мере ввода. Поддерживает C++ Itanium (_Z…), устаревшую Itanium-основанную схему Rust (_ZN…17h[хеш]) и новую схему Rust v0 (_R…).
  • Массовое сканирование — загрузите файл .wasm, и инструмент извлечёт каждое имя функции из отладочной секции "name" модуля плюс все имена экспортов, а затем демангл их всех сразу в таблицу, из которой можно скопировать или экспортировать в CSV.

Слово о честности, потому что здесь это важно: демангл C++ Itanium покрывает распространённое подмножество ABI (вложенные имена, шаблоны, подстановки, операторы) и проверен против c++filt на реальных символах. Устаревшая схема Rust строится поверх Itanium и так же надёжна. Схема Rust v0 значительно сложнее — этот инструмент восстанавливает путь (crate, модуль, имена функций) на основе наилучших усилий, но не восстанавливает полный список обобщённых аргументов или структуру impl/trait, а обратные ссылки и идентификаторы в кодировке punycode остаются нерасшифрованными. Каждый результат v0, включающий это упрощение, помечается как "частичный" с примечанием, точно объясняющим, чего не хватает — никогда не выдаётся за полный демангл. Символ, не соответствующий ни одной известной схеме, показывается как есть, чётко помечен как нераспознанный, никогда не отбрасывается молча.

Полезно при аудите стороннего модуля .wasm, разборе трассировки стека при сбое, или просто при изучении того, что на самом деле содержит скомпилированный бинарный файл Rust или C++.