# Новые горизонты декомпиляции Native Code VB6 приложений с VB Decompiler v10.1

> После внесения множества улучшений и изменений, рады представить обновленный VB Decompiler! В версиях 10 и 10.1 настолько много существенных улучшений, что…

Canonical HTML: <https://www.dotfix.net/doc/vb_decompiler_101.htm>

**Автор:** **Сергей Чубченко**. **Дата публикации:** 30.09.2015

## Новые горизонты декомпиляции Native Code VB6 приложений с VB Decompiler v10.1

После внесения множества улучшений и изменений, рады представить обновленный VB Decompiler! В версиях 10 и 10.1 настолько много существенных улучшений, что следует кратко остановиться на каждом.

**Декомпиляция Native Code**

Мы существенно улучшили качество и наглядность декомпилированного кода для нативных приложений, разработанных в Visual Basic 5.0 и 6.0. Добавлена поддержка разбора 17 функций msvbvm в версии 10 и 48 функций в версии 10.1. Благодаря этому практически не осталось функций рантайма msvbvm, не поддерживаемых VB Decompiler. А те что остались - будут обязательно добавлены в новых версиях.

![VB Decompiler v9.9](https://www.dotfix.net/images/doc/vb_decompiler_101/vb_decompiler_99.png)

![VB Decompiler v10.1](https://www.dotfix.net/images/doc/vb_decompiler_101/vb_decompiler_101.png)

**Поддержка Select Case**

После огромного числа исследований и работы по реализации алгоритмов, VB Decompiler научился декомпилировать Select Case конструкции. Причем всех распространенных видов. Думаем вместо множества красивых слов лучше взглянуть на разницу в декомпилированном коде прошлой и текущей версии программы.

![VB Decompiler Select Case in v9.9](https://www.dotfix.net/images/doc/vb_decompiler_101/vb_decompiler_select_case_99.png)

![VB Decompiler Select Case in v10.1](https://www.dotfix.net/images/doc/vb_decompiler_101/vb_decompiler_select_case_101.png)

**Работа с массивами**

Теперь VB Decompiler умеет декомпилировать конструкции с многомерными массивами. При этом поддерживаются не только операции по созданию таких массивов но и действия с ними, что потребовало немало исследований и доработок в эмуляторе.

![VB Decompiler arrays source](https://www.dotfix.net/images/doc/vb_decompiler_101/vb_decompiler_arrays_source.png)

![VB Decompiler arrays in v10.1](https://www.dotfix.net/images/doc/vb_decompiler_101/vb_decompiler_arrays_101.png)

**Декомпиляция обращения к COM объектам**

Скорость декомпиляции кода, содержащего обращения к графическим объектам на формах значительно увеличено. Теперь функции, заполненные работой с текстовыми полями и свойствами других контролов на формах декомпилируются в разы быстрее.

**Переходы между функциями**

Декомпилятор и раньше запоминал переходы между функциями. Вы могли возвращаться к ранее просмотренному коду как используя кнопки со стрелками на экране, так и нажимая кнопку Escape на клавиатуре. Одно но: положение курсора внутри кода не запоминалось и в случае больших функций приходилось каждый раз пролистывать на нужные строчки. Теперь этот недостаток устранен. Помимо того исправлен ряд ошибок при переходах между декомпилированными функциями.

**Глобальные переменные**

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

![VB Decompiler global variables in v9.9](https://www.dotfix.net/images/doc/vb_decompiler_101/vb_decompiler_global_variable_99.png)

![VB Decompiler global variables in v10.1](https://www.dotfix.net/images/doc/vb_decompiler_101/vb_decompiler_global_variable_101.png)

**Функции в модулях**

Как известно, компилятор Visual Basic не сохраняет адреса функций в bas модулях. Нами был разработан довольно сложный алгоритм получения этих адресов и привязки к нужным модулям. Теперь данный алгоритм был значительно улучшен, что позволяет находить больше функций внутри каждого модуля.

**Графика и документация**

Множество технических улучшений не помешало поработать и над удобством использования продукта. В меню VB Decompiler теперь новые красивые иконки размером 32 на 32 пиксела. Также существенно переработана справка к программе и добавлены новые языки.

![VB Decompiler translation](https://www.dotfix.net/images/doc/vb_decompiler_101/vb_decompiler_translation.png)

Просто скачайте новую версию и оцените нашу работу! Будем рады видеть Вас в числе наших клиентов!

(C) Сергей Чубченко, разработчик [VB Decompiler](https://www.dotfix.net/vb_decompiler.htm)

* Visual Basic are registered trademarks of Microsoft Corporation.

### Материалы по теме

- [Декомпиляция вызовов внешних ActiveX компонентов с VB Decompiler v10.3](https://www.dotfix.net/doc/vb_decompiler_103.htm)

- [Декомпиляция и эмуляция Native Code лучше чем когда либо в VB Decompiler 11](https://www.dotfix.net/doc/vb_decompiler_11.htm)

- [Исследование Visual Basic 6.0 - подробное руководство по дизассемблированию и отладке](https://www.dotfix.net/doc/vb60_reversing.htm)
