Исследуйте код как в Visual Studio используя VB Decompiler v10.7
Просим извинить за некоторую задержку с выпуском данной версии декомпилятора. Но, я уверен, улучшения стоят того! Все знают, насколько порой бывает сложно найти нужный участок кода, обрабатывающий щелчок по кнопке на форме или событие загрузки формы или любое другое UI событие. Основная проблема даже не столько в поиске, а в необходимости пролистывать все дерево функций той или иной формы. Для небольших проектов, где у формы десяток обработчиков событий, это несложно. А вот в больших проектах, где у каждой формы по несколько сотен обработчиков - это уже вносит неудобства.
Мы давно знали о проблеме и постоянно работали над тем, чтобы это исправить. И наконец, в представленной версии декомпилятора, эта задача решена. Теперь достаточно открыть визуальный просмотр любой формы, щелкнуть по любому элементу управления и в списке свойств объекта дважды щелкнуть по полю "_Event". В появившемся контекстном меню будет представлен весь перечень обработанных событий выбранного элемента управления. Щелчок по выбранному событию автоматически переместит Вас в код обработчика. Это просто и удобно!
И это далеко не все изменения новой версии декомпилятора Visual Basic.
Ускорение работы декомпилятора
Внутренняя архитектура декомпилятора была существенно переработана. Дальнейший рефакторинг кода и переработка множества функций декомпилятора позволили существенно ускорить анализ файлов. В ряде случаев скорость работы декомпилятора увеличена в пять раз! Эффект будет особенно заметен на проектах с большим количеством модулей и несколькими сотнями функций в каждом.
Обработка внешних ActiveX
При анализе декомпилируемой программы производится поиск используемых внешних ActiveX компонентов и разбор их TypeLib информации с целью составления списков адресов и функций, предоставляемых компонентом. Это требуется для декомпиляции вызовов функций и свойств из внешних компонентов ActiveX. Увы, ввиду особенности COM/OLE технологии, часто путь к файлу можно определить только анализом записей в системном реестре. Начиная с новой версии, VB Decompiler поддерживает более глубокий анализ этих записей. В ряде случаев, это позволяет декомпилировать ранее не поддерживаемые компоненты.
HEX данные теперь и в P-Code
Нас давно просили сделать поддержку отображения HEX кодов для P-Code во вкладке дизассемблера. Единственное, что существенно осложняло внесение данной опции - глубина оптимизации результирующего кода. После декомпиляции одна декомпилированная строка иногда заменяла пару десятков строк P-Code. И в данном случае количество отображаемых бинарных данных просто превысило бы все разумные рамки. Мы пошли на компромисс. Теперь бинарные HEX коды можно просматривать в окне дизассемблера...
... а в случае необходимости видеть и декомпилированный код - Вы всегда можете выбрать в контекстном меню вкладки Decompiler пункт "Copy to disassembler" и просматривать во вкладке дизассемблера все сразу!
Улучшение качества декомпиляции
И напоследок, как всегда не обошлось без улучшения качества декомпиляции P-Code, Native Code и .NET сборок. В эмуляторе доработаны операции с регистром esp. В декомпиляторе P-Code исправлена поддержка ряда функций. Исправлено распознавание пользовательских типов (UDT) как переменных. Исправлены найденные ошибки в разборе таблиц и локальных переменных в .NET сборках. В общем, изменений очень много! И мы надеемся, что Вы непременно оцените проделанную работу по достоинству.
Новую версию как всегда можно скачать из панели управления (если Ваша подписка на обновления активна). Если же Вы только узнали о VB Decompiler или давно не обновлялись - буду рад видеть Вас в числе наших клиентов!
(C) Сергей Чубченко, разработчик VB Decompiler
* Visual Basic and Visual Studio are registered trademarks of Microsoft Corporation.
Комментарии |
отсутствуют |
Добавление комментария |