Вот подходит конец 2009 года. Многое в этом году сделано, многое улучшено. Не обошлось и без трудностей, без этого никак. Но год в целом вышел крайне позитивный.
Касательно декомпилятора был наконец сделан задел декомпиляции IL в .NET сборках. Стабильность работы доведена до максимума, пожелания были приняты и тщательно проработаны.
Вчера был сделан новогодний релиз продукта. В нем конечно не все что планировалось реализовать, многое перенесено на будущие версии, но сделано главное - всесторонне повышено качество работы программы плюс сделаны все необходимые заготовки для новых функций. В общем в версии 7.8 помимо того что есть в Whats New есть еще много всякого на уровне движка.
В новом году хочу всем пожелать побольше здоровья, новых идей и стимула для их воплощения. Остальное приложится! С новым годом!
В текущей версии 7.6 произошло множество позитивных изменений. Основным была тщательная оптимизация кода и устранение разного рода проблем совместимости со старыми и новыми версиями Windows. Теперь благодаря тщательной и сложной работе декомпилятор работает одинаково стабильно как на Windows 95, так и на Windows 7.
Несмотря на все оптимизации узкое место всеже имеется и кроется оно в языковых стандартах. Если программа работает неправильнорекомендуется в панели управления Windows в разделе Языковых стандартов поменять язык на Английский или Русский.
VB Decompiler начиная с версии 7.3 будет полноценно поддерживать декомпиляцию не только Visual Basic 5.0/6.0 приложений, но также и всех типов .NET
приложений. Полностью поддерживаются все версии .NET FrameWork и все
языки программирования, которые можно использовать для написания .NET кода.
Основные преимущества VB Decompiler Pro при декомпиляции .NET:
1. Возможность декомпиляции .NET сборок при отсутствии .NET FrameWork на компьютере
2. Поддержка Unmanaged и Native кода внутри сборок
3. Декомпилятор показывает виртуальные адреса каждой строчки кода
4. Поддержка всех операционных систем семейства Windows начиная с Windows 95
Пока не реализовано отображение SEH фреймов и локальных переменных в коде,
а также декомпиляция в исходный код (только дизассемблирование в IL).

На данный момент я решил немного расширить перечень форматов,
в которые можно экспортировать имена декомпилированных функций.
Первостепенная цель была сделать экспорт в такие распространенные программы,
для анализа приложений, как IDA Pro и HIEW. И эта цель была достигнута.
Будущая версия декомпилятора (7.3) будет поддерживать экспорт в IDC
скрипт для IDA и в файл имен для HIEW. Первый грузится в IDA через меню файл
после полной обработки приложения, второй грузится в HIEW посредством
последовательного нажатия кнопок F12, F12 в HIEW’е.
Думаю данные нововведения придутся по вкусу.
Выпустил таки новогодний релиз VB Decompiler
Это седьмая версия продукта.
Вот основные изменения:
- New unpacker engine
- Help files changed
- “For Each” decompilation in Native Code
- Screen object
- Printer object
- Clipboard object
- vbGlobal parsing
- vbSingle type of data
- Dispatch vbaLate functions parser
- Clear FPU error checking and objects checking instruction in Native Code
- rtcGetErl decompilation
- Objects declaration in P-Code
- Parsing “Set” opcode and use this variables in object reference
- “FnIntVar” decompilation in P-Code
- Resorting history after deleting items
- FRX Viewer plugin (need .NET Framework 2.0)
- New type of renaming Unknown functions
- BugFix: P-Code Put and Get opcodes
- BugFix: Procedure analyzer and optimizer no don’t clear some variables
- BugFix: Clear “@” chars in names of P-Code procedures and functions
- BugFix: Parameters in VTable Get/Let/Set procedures
Решил таки я взяться за Native Code и сделать все на твердую пятерку.
Для начала было решено написать поддержку ранних вызовов объектов.
Движок был значительно перератан и теперь вызовы по DispID поддерживаются наравне
с вызовами по VTable номерам.
Также были полностью переработаны обращения к внутренним методам vbGlobal.
Благодаря чему теперь правильно производится редирект от vbGlobal.Printer к TypeLib принтера и так далее для всех остальных.
Также был значительно переписан движок фильтрации мусорных команд,
переприсваиваний объектов и проверок существования объектов. Листинги стали в разы чище и понятнее.
Может еще что-нибудь доработаю в продукте - по настроению.
Пару дней лежал сервер со всеми моими проектами.
Приходилось делать все возможное для возобновления работы сайтов.
Поэтому вчера было принято решение купить резервный хостинг.
На данный момент работа сервера временно восстановлена, что дало возожность
заняться тем, о чем давно у меня чесалось
А именно начать писать плагин для декомпилятора,
позволяющий смотреть картинки встроенные в VB программы.
Вот что на данный момент получается:

Появление шестой версии декомпилятора стало для меня настоящим испытанием. Сразу после выпуска Lite версии и начале заключительного тестирования Pro версии были выявлены несовместимости новой регистрационной схемы с частью операционных систем что заставило на пару дней попросту окунуться в работу. Сначала была масса исследования причин несовместимостей, попытка исправить ситуацию. Но все привело меня к тому что регистрационную схему надо переписать в очередной раз. Что я и сделал. На данный момент новая версия декомпилятора прошла все тесты и выпущена на растерзание. Скачать ее могут все лицензионные пользователи из приватной панели.
Теперь об еще одном интересном моменте. Я чисто случайно наткнулся на один долгострой. А именно на продукт NiceReports который я начал делать в прошлом году и забросил на самом заключительном этапе.На данный момент проект полностью подготовлен к использованию. Сайт заполнен инфой. В общем новый продукт можно качать уже сегодня! Сайт проекта: www.nicereports.com
Как и обещал - выпустил VB Decompiler 6.0
Изменений много и с ними можно ознакомпиться на сайте: www.vb-decompiler.org
Pro версия будет в ближайшее время.
А теперь о неприятном. Executioner еще в прошлый понедельник обещал прислать исправленную версию плагина Craete MAP и новый плагин. К сожалению он этого не сделал, более того - мои попытки дозвониться до него были тщетны. Потому в данной версии декомпилятора вместо плагина “Create MAP” размещена тупо заглушка, выводящая сообщение о несовместимости.
Сделаны заключительные шаги перед релизом VB Decompiler 6.0.
Версия получилась провокационная
C одной стороны сделано очень много нового
в Native коде, с другой - еще многое предстоит сделать.
Для начала освещу хотябы часть нововведений новой версии.
Во первых движок эмулятора увеличился по сравнению с версией 5.0 почти в два раза.
Это и эмуляция новых команд как процессорных, так и сопроцессорных, это и улучшенный препроцессор ООП и много, поистине много багфиксов.
Во вторых было перелопачено множество API функций MSVBVM60.DLL и написаны сигнатуры основных из них. На это было убито мре времени, причем на этот раз не только моего, так что думаю многие это оценят.
В третьих пришлось значительно поработать над защитой. Кто-то может удивиться, но на защиту версии 6.0 потребовалось потретить не менее времени чем на написание новых фич. А виной тому является повышенная крякерская активность и утечка предыдущей версии в массы. Чтож, теперь разобрать формат ключа быдет в разы геморнее.
Напоследок скажу, что релиз планируется на следующую неделю. Получится - хорошо, нет - сделаем позже. Буду держать Вас в курсе!