Методы COM+ (Как заглянуть внутрь?)

Мне нужно обновить одно из наших древних приложений для интрасети, которое было написано на Classic ASP и использует собственную службу COM+. Я нигде не могу найти исходный код этого объекта, и он не был задокументирован разработчиком.

Я могу просмотреть методы, доступные в Сервисе через Start -> Administrative Tools -> Component Services но я не могу понять, как заглянуть внутрь методов, чтобы увидеть, что они делают.

Есть ли способ декомпилировать эти сервисы COM+ или иным образом посмотреть, как работают их методы, или я обречен на чистое наблюдение за старым приложением и изо всех сил стараюсь имитировать поведение и данные?

Примечание. Я экспортировал службу со старого сервера, установленного на моем устройстве dev, добавил ссылку на проект VS2010 и попытался распознать эти методы с помощью обозревателя объектов. Ничего такого...

1 ответ

Службы COM включают описания типов существующих в классах COM методов и их параметров, чтобы контроллеры автоматизации могли выяснить, как передавать параметры в методы COM.

Кроме того, ничто не указывает на то, что классы COM делают внутри себя, кроме самого машинного кода x86. Вы можете попробовать использовать дизассемблер x86 в DLL, но если вы уже не знакомы с инструкциями машинного кода x86, это не поможет.

Компиляция исходного кода до машинного кода выбрасывает огромное количество информации. Имена переменных, имена внутренних функций, ничего из того, что требуется ЦПУ для выполнения инструкций и выполнения операций, указанных в исходном исходном коде. Для дизассемблеров практически невозможно воссоздать эти имена, которые могли бы помочь понять, для чего предназначен код. Иногда дизассемблер может помочь понять основную логику, но человеку потребуется много тщательного анализа и усилий, чтобы хотя бы поцарапать поверхность. Это все равно что пытаться понять лес, глядя на отдельные травинки.

Другие вопросы по тегам