Описание

VB Decompiler — это инструмент для реверс-инжиниринга и восстановления исходного кода программ Visual Basic 5.0/6.0 и .NET-сборок. Он объединяет высокоуровневую декомпиляцию, низкоуровневое дизассемблирование, анализ метаданных, встроенный HEX-редактор и восстановление визуального интерфейса. Программа применяется для таких задач, как поддержка устаревшего программного обеспечения, реагирование на инциденты, анализ вредоносного ПО и исследование недокументированного поведения приложений.

Дерево проекта VB Decompiler и представления кода

Поддерживаемые виды кода

  • VB5/6 P-Code: восстанавливает операторы Visual Basic на основе инструкций P-Code и операций среды выполнения.
  • VB5/6 Native Code: дизассемблирует инструкции x86 и использует внутренний эмулятор, сигнатуры функций среды выполнения и эвристики для восстановления кода, похожего на Visual Basic.
  • .NET: дизассемблирует Common Intermediate Language (CIL, также называемый MS IL) и декомпилирует поддерживаемые шаблоны IL в код, похожий на C#, независимо от исходного языка .NET. Также может быть дизассемблирован нативный код x86 и x64 в .NET-сборках.

Движок анализа .NET не требует среды выполнения .NET или Reflection для анализа кода или визуального восстановления форм.

Инструменты анализа

Используйте поиск процедур и текста, перекрестные ссылки и переименование переменных, а также «Все строки программы» (String references) для исследования поведения. Визуальный просмотрщик восстанавливает классические формы VB, .NET Windows Forms и окна WPF, страницы и пользовательские элементы управления, хранящиеся в скомпилированных ресурсах BAML.

Функции трассировки, доступные по соответствующей лицензии, обеспечивают пошаговую эмуляцию Native Code VB5/6 и P-Code. Аналитические функции, доступные по соответствующей лицензии, формируют отчёты с группировкой операций по категориям для приложений VB5/6 и .NET. «ИИ Помощник» (AI Helper) может обрабатывать восстановленный код VB5/6 или C# через Ollama или OpenAI API.

Интерпретация восстановленного кода

Компиляция удаляет информацию, такую как комментарии, многие имена локальных переменных и некоторые метаданные типов и процедур. Оптимизация и обфускация могут дополнительно изменить структуру кода. Восстановленный листинг предназначен для анализа и восстановления кода. Подтверждайте важные выводы, сверяясь с дизассемблированным кодом, метаданными, ссылками на строки и кодом связанных процедур.