Улучшение декомпиляции VB5/6 кода и дальнейшее развитие декомпиляции .NET в VB Decompiler v10.6
С выходом каждой новой версии VB Decompiler существенно улучшается качество декомпиляции кода. Версия 10.6 стала не исключением. Было проведено множество тестов, выявлялись самые редко используемые функции, конструкции, а также сочетание разного рода процедур фреймворка MSVBVM60.DLL. Каждый момент тщательно анализировался, выявленные случаи некорректной декомпиляции исправлялись, а главное - добавлялась поддержка ранее не известных декомпилятору функций Runtime библиотеки.
Поддержка декомпиляции 56 новых функций MSVBVM60.DLL
Это не шутка. Совместимость декомпилятора теперь значительно выше. И с каждым разом все ближе становится момент, когда он будет поддерживать декомпиляцию всех существующих функций MSVBVM и их вариации. Список постепенно растет, но в данной версии прирост качества декомпилированного кода заметен практически на любом файле.
Большая часть изменений традиционно коснулась Native Code. Но, хотя поддержка P-Code и так крайне хороша, работа велась и над ним. При этом большая часть улучшений проведено над наиболее часто используемыми вызовами методов и событий COM объектов.
Поддержка конструкции Case Else в Native Code
Совсем недавно декомпилятор стал поддерживать конструкции Select Case. Но, несмотря на все проведенные тесты, был выявлен случай, когда используется Else конструкция самим компилятором (даже если ее не писал программист). Делается это в случае, когда компилятор страхуется от некорректного прыжка по массиву адресов Select Case и задает адрес кода что идет после Select Case - значением по умолчанию при прыжках на отсутствующий в Case табличке адрес. Теперь декомпилятор поддерживает и такие оптимизации компилятора!
Существенные модернизации декомпилятора .NET
Как известно, VB Decompiler также поддерживает дизассемблирование кода .NET сборок (VB, C# и т.д.). При этом мало кому известно о том, что декомпилятор позволяет просматривать все дерево 45 служебных таблиц раздела "~". Ранее содержимое таблиц добавлялось в TreeView, что на больших проектах существенно замедляло навигацию (низкая скорость самого контрола TreeView). Теперь же содержимое каждой таблицы выводится списком при щелчке по ее имени в дереве. Навигация стала удобнее, скорость повысилась!
В дополнение к уже сказанному, просмотр всех строк .NET приложения с их адресами в файле был дополнен еще и просмотром раздела "#US".
И как всегда - были исправлены все найденные недочеты и внесены различные мелкие, но приятные улучшения! Новую версию как всегда можно скачать из панели управления (если Ваша подписка на обновления активна). Если же Вы только узнали о VB Decompiler или давно не обновлялись - буду рад видеть Вас в числе наших клиентов!
(C) Сергей Чубченко, разработчик VB Decompiler
* Visual Basic are registered trademarks of Microsoft Corporation.
Комментарии |
отсутствуют |
Добавление комментария |