Автор: Сергей Чубченко. Дата публикации: 14.04.2026
Мы рады сообщить о выпуске VB Decompiler версии 26.3. В этом обновлении основное внимание уделено производительности и архитектурным улучшениям. Проведен масштабный рефакторинг эмулятора, оптимизировано потребление памяти, улучшено отслеживание навигации по коду, а скорость декомпиляции возросла до 8 раз.
Ключевым изменением в версии 26.3 стало полное переписывание основных блоков и модулей оптимизатора кода. Эти структурные изменения позволили значительно повысить производительность, сделав анализ объемных исполняемых файлов намного комфортнее:
Под капотом был проведен масштабный рефакторинг кода эмулятора. Эта глубокая архитектурная переработка оптимизирует выполнение эмулируемых инструкций процессора и вызовов API, облегчает дальнейшую поддержку кода и закладывает надежную базу для реализации новых функций анализа в будущих версиях.
Визуальный анализ кода стал удобнее благодаря доработанной обработке меток переходов. Оптимизатор кода теперь отслеживает навигационные ссылки
Многократное ускорение работы, рефакторинг эмулятора и улучшенное отслеживание переходов в 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 проектов.
- Снижение потребления ОЗУ: Значительно переработан механизм управления памятью. Теперь декомпилятор не только работает быстрее, но и потребляет заметно меньше оперативной памяти, обеспечивая стабильность системы при обработке масштабных проектов.
Глубокий рефакторинг эмулятора
Под капотом был проведен масштабный рефакторинг кода эмулятора. Эта глубокая архитектурная переработка оптимизирует выполнение эмулируемых инструкций процессора и вызовов API, облегчает дальнейшую поддержку кода и закладывает надежную базу для реализации новых функций анализа в будущих версиях.
Улучшенное отслеживание обратных переходов (goto)
Визуальный анализ кода стал удобнее благодаря доработанной обработке меток переходов. Оптимизатор кода теперь отслеживает навигационные ссылки
goto не только вперед, но и назад, обеспечивая более целостную структуру выдаваемого кода.
- Сохранение меток loc_: Ранее, если из нижележащего кода происходил переход на уже разобранный участок кода выше по тексту, но оптимизатор предварительно отфильтровал этот целевой блок как "мусорный" (junk code), метка перехода терялась. Это приводило к формированию переходов на несуществующие маркеры.
- Улучшение визуальной навигации: Теперь в подобных сценариях метка
loc_строго сохраняется. Хотя это в первую очередь визуальная доработка, она предотвращает появление переходов на отсутствующие метки, что делает ручной анализ кода значительно удобнее.
Исправления ошибок
- Парсинг VB6 P-Code: В предыдущем обновлении была допущена ошибка при парсинге смещений P-Code, из-за которой декомпилятор некорректно обрабатывал некоторые файлы, скомпилированные в VB6 P-Code. Эта проблема была оперативно обнаружена и в данном обновлении исправлена.
(C) Сергей Чубченко, разработчик VB Decompiler
* Visual Basic, Visual Studio и Windows являются зарегистрированными товарными знаками корпорации Microsoft.