Новые возможности, развитие .NET декомпиляции и полностью переработанная документация в VB Decompiler 12.4
Рад представить Вам очередное существенное обновление декомпилятора, серьезно расширяющее возможности продукта, а также вносящее множество улучшений в ранее доступный функционал. Также в текущей версии была полностью переработана документация VB Decompiler. Причем сразу на нескольких языках. Работа проведена действительно большая, и я думаю, это будет заметно не вооруженным взглядом. Но, обо всем по порядку.
Поиск функций по имени внутри всего проекта
Я думаю ни для кого не секрет, как сложно анализировать огромный проект с сотнями классов, форм, и десятками, а то и сотнями процедур внутри каждого модуля. Порой, найдя нужный код, впоследствии мы помним только имя функции, в которой он был найден. Или нам нужно быстро перейти к той или иной процедуре, но мы не помним в каком она классе. Во всех этих случаях будет крайне полезно воспользоваться новой возможностью VB Decompiler. Для этого необходимо нажать комбинацию клавиш "Ctrl" + "T" или выбрать в меню "Tools" -> "Find procedure", а затем ввести имя искомой функции или процедуры для поиска. Вы также можете ввести только часть имени, и поиск все равно попытается найти нужные процедуры. Если процедур более одной, то будут представлены все найденные варианты, и Вы сможете переходить к ним двойным щелчком по имени в представленном списке.
Поиск ссылок на функции для C# .NET и Visual Basic .NET
Начиная с версии 10.8, в VB Decompiler присутствует функционал поиска ссылок в коде на любую функцию в дереве объектов для Visual Basic 5.0 и 6.0 приложений. Начиная с текущей версии 12.4, данный функционал реализован и для приложений C# .NET и Visual Basic .NET. Достаточно в дереве объектов щелкнуть правой кнопкой мыши по любой функции или процедуре, выбрать пункт меню "Find references" и декомпимлятор произведет анализ всей программы на предмет вызовов выбранной функции в коде других процедур. Все найденные процедуры и функции, в которых вызывается искомая, будут выведены в виде списка и Вы сможете перейти по ним для анализа простым двойным щелчком.
Существенное улучшение декомпилятора .NET
Декомпиляция C# и Visual Basic .NET приложений продолжает развиваться. Теперь поддерживается преобразование условных переходов "goto" в условные блоки "if { }" включая вложенные. Это существенно улучшает читаемость кода. Также проведена большая работа над эвристическим анализом таких сравнений и декомпилятор теперь может объединять несколько условных сравнений в один "if { }", содержащий в себе набор из нескольких условий. Помимо этого, производится эвристический разбор основных вариантов конструкций "Operators.CompareString" и их преобразование в более понятные глазу сравнения. Все это приятно улучшает читаемость кода и делает его анализ более комфортным.
Эвристический анализ .NET кода теперь также нагляднее отображает "switch" конструкции. "goto" переходы анализаируются и часть преобразуется в "break", а технические переходы фильтруются. Также внесены улучшения в распознавание последнего звена "switch" для фильтрации лишних служебных команд компилятора и выравниваний.
Улучшен анализ блоков "try". Внесен ряд улучшений в разбор стека множественных "try" блоков и переходов на блок "finally".
Полностью обновленная документация
Документация, это всегда больное место любого большого проекта, который постоянно развивается. Очень часто документация не успевает за ростом возможностей продукта и Вам приходится узнавать о нововведениях VB Decompiler из статей, подобных этой. Более того, множество информации в документации давно не обновлялось и к сожалению не отражало существенной части нового функционала продукта.
В версии 12.4 была проведена огромная работа над документацией. Все разделы были переписаны, причем сразу на четырех языках. Еще на трех языках были внесены только самые критичные изменения. И на одном появилась совсем новая документация, которой не было ранее. Итого, 4 из 18 языков, на которых присутствует документация VB Decompiler теперь актуализованы и еще 4 переработаны.
Так как документация фактически писалась заново, она готовилась в новом PDF формате с удобным оглавлением для быстрого перехода. Надеюсь, эта работа не прошла зря и Вам будет гораздо комфортнее изучать возможности VB Decompiler, узнавая о его функционале из единого источника.
Тем не менее, я очень рекомендую читать статьи с описанием новых возможностей продукта, подобные данной. В них дается расширенный анализ нового функционала на самом начальном этапе развития новых возможностей.
А теперь немного о тех функциях, которые были добавлены в предыдущей версии VB Decompiler, но о которых подробных публикаций увы еще не было.
Переименование переменных
Вы давно просили, и эта просьба была услышана и реализована. Теперь вы можете переименовать любую переменную внутри любой функции или процедуры для более комфортного анализа кода. Для этого достаточно щелкнуть правой кнопкой мыши по любой переменной в коде, выбрать в контекстном меню "Rename variable" и ввести новое имя. Переменная будет переименована во всех частях данного кода. Также поддерживается откат изменений, для чего нужно в контекстном меню выбрать "Undo renaming". Декомпилятор анализирует каждое переименование и не позволит переименовать переменную в ключевое слово или другую существующую переменную, что избавит Вас от необходимости ручной проверки своих действий. Данный функционал на текущий момент реализован для Visual Basic 5.0 и 6.0 приложений, скомпилированных в P-Code и Native Code.
Улучшения VB6 Native Code и P-Code декомпиляции
Начиная с версиии 12.3 декомпилятора, проведена большая работа по добавлению поддержки декомпиляции различных OLE объектов и их свойств и методов внутри длекомпилированного кода. Расширена поддержка декомпилируемых API из msvbvmXX.dll библиотек. Внесены различные исправления и улучшения в эмулятор машинного Native Code.
Файлы локализации
В дополнение к переработанной документации, многие файлы локализации интерфейса были переработаны. Добавлена поддержка Персидской локализации. В итоге, на сегодняшний день, декомпилятор имеет локализацию на 24 языка, а также документацию на 18 языках, 4 из которых обновлены вместе с англоязычной версией до актуального состояния.
И как всегда исправлены все найденные ошибки, а продукт стал существенно удобен в использовании. Новая версия уже доступна в личном кабинете, если срок действия Вашей лицензии на обновления и техническую поддержку еще не истек. Если же Вы впервые знакомитесь с VB Decompiler - всегда рад видеть Вас в числе зарегистрированных пользователей.
(C) Сергей Чубченко, разработчик VB Decompiler
* Visual Basic and Visual Studio are registered trademarks of Microsoft Corporation.
Комментарии |
отсутствуют |
Добавление комментария |