Профессиональные решения

для защиты Windows приложений

и восстановления исходного кода
Автор: Сергей Чубченко. Дата публикации: 14.04.2026

Многократное ускорение работы, рефакторинг эмулятора и улучшенное отслеживание переходов в VB Decompiler v26.3


Мы рады сообщить о выпуске VB Decompiler версии 26.3. В этом обновлении основное внимание уделено производительности и архитектурным улучшениям. Проведен масштабный рефакторинг эмулятора, оптимизировано потребление памяти, улучшено отслеживание навигации по коду, а скорость декомпиляции возросла до 8 раз.

Существенное ускорение декомпиляции и оптимизация


Ключевым изменением в версии 26.3 стало полное переписывание основных блоков и модулей оптимизатора кода. Эти структурные изменения позволили значительно повысить производительность, сделав анализ объемных исполняемых файлов намного комфортнее:
  • VB6 Native Code: Скорость процесса декомпиляции увеличилась до 8 раз.
  • .NET Code: Декомпиляция теперь выполняется до 4 раз быстрее.
  • Манглирование и деманглирование в .NET: Внутренние алгоритмы обработки имен (mangling/demangling) в .NET-приложениях были существенно оптимизированы и ускорены, что снизило накладные расходы при декомпиляции C# и VB .NET проектов.
  • Снижение потребления ОЗУ: Значительно переработан механизм управления памятью. Теперь декомпилятор не только работает быстрее, но и потребляет заметно меньше оперативной памяти, обеспечивая стабильность системы при обработке масштабных проектов.

Улучшения производительности VB Decompiler: ускорение декомпиляции и снижение потребления ОЗУ

Глубокий рефакторинг эмулятора


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

Улучшенное отслеживание обратных переходов (goto)


Визуальный анализ кода стал удобнее благодаря доработанной обработке меток переходов. Оптимизатор кода теперь отслеживает навигационные ссылки goto не только вперед, но и назад, обеспечивая более целостную структуру выдаваемого кода.
  • Сохранение меток loc_: Ранее, если из нижележащего кода происходил переход на уже разобранный участок кода выше по тексту, но оптимизатор предварительно отфильтровал этот целевой блок как "мусорный" (junk code), метка перехода терялась. Это приводило к формированию переходов на несуществующие маркеры.
  • Улучшение визуальной навигации: Теперь в подобных сценариях метка loc_ строго сохраняется. Хотя это в первую очередь визуальная доработка, она предотвращает появление переходов на отсутствующие метки, что делает ручной анализ кода значительно удобнее.

Улучшения оптимизатора кода: сохранение меток loc_ для обратных переходов goto

Исправления ошибок


  • Парсинг VB6 P-Code: В предыдущем обновлении была допущена ошибка при парсинге смещений P-Code, из-за которой декомпилятор некорректно обрабатывал некоторые файлы, скомпилированные в VB6 P-Code. Эта проблема была оперативно обнаружена и в данном обновлении исправлена.


(C) Сергей Чубченко, разработчик VB Decompiler



* Visual Basic, Visual Studio и Windows являются зарегистрированными товарными знаками корпорации Microsoft.