VB Decompiler

 
Эффективное решение для восстановления исходного кода Visual Basic 5.0/6.0 приложений, а также быстрый дизассемблер для программ, собранных в Visual Studio .NET
Эффективное современное решение для восстановления исходного кода Visual Basic 5.0/6.0 приложений, а также быстрый дизассемблер для программ, собранных в Visual Studio .NET

Восстановление исходного кода является очень серьезной проблемой для многих разработчиков и аналитиков антивирусных и исследовательских компаний. Поскольку большинство приложений Visual Basic 5.0/6.0 были разработаны давно, их исходный код (файлы .vbp, .frm и .bas) чаще всего уже не найти из-за миграции на новые рабочие станции, замены жестких дисков и т.д. По опыту большинства наших клиентов, можем сказать, что восстановление даже не всей программы, а лишь необходимых ее алгоритмов - уже является решением поставленных задач. Особенно, когда речь идет об анализе подозрительного ПО на ту или иную активность. Продукт VB Decompiler создан как раз для того, чтобы извлечь из бинарного машинного кода максимум информации.

В современном мире, в компаниях, давно существующих на рынке, весьма серьезно стоит вопрос поддержки старых (так называемых legacy) решений на Visual Basic 6.0. Речь про ситуации, когда продукт для решения экономических, бухгалтерских или инженерных задач разрабатывался 15-20 лет назад и требует адаптации под новые реалии. А чаще его требуется полностью переписать, используя новую среду разработки, при этом сохранив часть старого функционала и обеспечения совместимости с устаревшими данными или протоколом обмена. И тут встает вопрос восстановления кода обработки данных, инженерных алгоритмов, протоколов передачи и т.д. К исходному коду обычно доступа уже нет: разрабатывал код подрядчик, который уже 10 лет как не работает или программист давно уволился и исходный код не сохранился. В этом случае декомпиляция является единственным верным решением.

Есть и другая сфера использования Visual Basic 6.0 сегодня. Авторы вредоносных программ (вирусов, троянов и прочей malware) нередко используют Visual Basic сегодня. VB6 один из немногих языков, создающий файлы маленького размера, не требующих огромных внешних библиотек. Более того, созданные в Visual Basic 6.0 файлы способны запускаться на всем спектре операционных систем Windows: от Windows 95 до Windows 11 практически без доработок. И все бы ничего, но бинарный код таких программ не так прост, как у программ, разработанных в средах C++ и C#, да даже Delphi. Программы, собранные в Visual Basic создают серьезную сложность для аналитиков антивирусных компаний. И причина кроется в двух типах компиляции кода, каждая из которых требует индивидуального подхода и годы времени на анализ. Сегодня VB Decompiler является единственным продуктом на рынке декомпиляторов, поддерживающим оба типа Visual Basic 5.0/6.0 файлов: виртуальной машины P-Code (с более 1000 различных команд внутренней библиотеки) и Native Code - собранным в машинный ассемблерный код программ, но с внешней проприетарной библиотекой MSVBVM60.DLL, имеющей более 700 собственных недокументированных API функций.

На поддержку декомпиляции псевдокода P-Code и машинного Native Code ушло более 20 лет. И даже несмотря на максимально возможную совместимость - еще есть куда стремиться и что улучшать. На текущий момент VB Decompiler способен восстанавливать код из P-Code настолько близко к исходному, насколько это возможно (порядка 85% кода может быть восстановлено). В большинстве случаев, после некоторых доработок вполне реально получить действительно рабочий код из P-Code. В случае программы, скомпилированной в Native Code, вероятность успешной декомпиляции будет ниже, но вы все равно сможете восстановить до 70 процентов оригинального исходного кода. VB Decompiler содержит несколько серьезных встроенных инструментов: дизассемблер x86/x64, эмулятор ассемблерных команд и механизм трассировки. Благодаря им, результат декомпиляции бинарного кода будет очень близок к коду Visual Basic. Из-за разнообразия современных методов оптимизации и защиты кода результат не всегда будет идеальным. Но в ситуации отсутствия оригинального кода анализируемого файла декомпилятор VB действительно может помочь вам в анализе программного обеспечения и обратном проектировании.

Если вы разрабатываете свое программное обеспечение в Visual Studio .NET (Visual Studio 2022 или более ранней версии) с использованием .NET Framework или .NET Core - это также не проблема для VB Decompiler! Декомпилятор легко восстанавливает структуру кода из ассемблерных таблиц и будет полезен для дизассемблирования и анализа IL-кода Visual Basic .NET, C# или других языков из .NET.

Декомпилятор VB не требует установки .NET Framework, так как код этой библиотеки никак не используется при декомпиляции. Декомпилятор отлично работает в любой современной 32х или 64-битной системе Windows, не требуя установки какого-либо дополнительного программного обеспечения, а также в любой 32х или 64-битной системе Linux включая Astra Linux и Alt Linux (требуется установка и настройка Wine).

Как видите, VB Decompiler — идеальный инструмент для анализа и восстановления исходного кода. Это наиболее эффективный инструмент для разработчиков на Visual Basic, а также аналитиков, которые ценят свое время и деньги.

Полная документация:English Japanese German Russian Chinese Spanish Portuguese