Декомпиляция LateMem, LateID и Named вызовов
Основа построения кода в VB6 построена на вызовах свойств и методов COM OLE объектов. Это ранние и поздние связывания, а также обращения к объектам по таблице виртуальных методов и Dispatch ID. Помимо этого вызовы производятся по UUID/GUID объекта и напрямую по имени. Всего только функций работы с методами и свойствами объектов в библиотеке MSVBVM60.DLL двадцать четыре! И это не считая функций создания объектов, проверки их созданности, а также выгрузки. Все это только для Native Code. В P-Code функции свои и они другие!
Потребовалось море сэмплов, сотни компиляций и проверок. Как результат проделанной работы - более качественная декомпиляция Native Code, поддержка большего числа вызовов и их правильная обработка. Особая гордость за вложенные вызовы вида Object.SubClass(Index).SubClass2(Index).Property. Подобные вызовы, для известных VB Decompiler'у ActiveX библиотек, поддерживаются в подавляющем большинстве случаев. Исключения составляют пожалуй лишь Named вызовы, когда не передается UUID объекта.
www.dotfix.net/doc/vb_decompiler_11.htm