· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.RESEARCH —› Вопрос по СОМ технологии

Посл.отвђт Сообщенiе


Дата: Мар 25, 2004 14:17:43

Есть программный продукт он состоит из двух частей: сервера и соответственно клиента между собой они общаются посредством СОМ объекта. Как можно подключится к серверу и правильно распознать его данные.


Дата: Мар 26, 2004 04:18:24

Очень расплывчато.
У этого COM-объекта typelib есть? Если да, то можно взять OLE-COM Viewer, извлечь typelib в виде IDL файла, взять MIDL-компилер и перекомпилить его в .c/.h, чтобы потом юзать в своей программе.
Другой вариант, более херовый, состоит в использовании COM-трейсеров. Берешь трейсер и смотришь, что к чему. Потом узнаешь VA COM-методов в файле. Потом обращаешься по этим адресам напрямую.
Более подробно все описано в статье "Взлом InstallShield - обзор методик", что пишу я и фланкеркс. Статью положим через неделю-другую на этот же сайт.


Дата: Мар 26, 2004 05:50:28

rib56u
Как можно подключится к серверу
1. CoInitialize

2. Володиным методом выдрать GUID'ы объекта сервера и нужных интерфейсов (каждый фейс имеет свой GUID). Подсунуть GUID объекта функции CoCreateInstanceEx.

Потом не забудьте вызвать Release для каждого из использованных интерфейсов и CoUninitialize для выхода из OLE.

и правильно распознать его данные
Хммм... Тут нужен отладчик, причём желательно использовать не SoftIce или OllyDbg, а нечто вижуалбейсиковское, т.е. COM-ориентированное :-)


Дата: Мар 26, 2004 07:58:07

Та да... В VB надо просто подключить к проекту требуемый сервер объектов и нажать F2. Он тебе выдаст и формат объектов, их назначение(если есть) и типы данных, короче, все, шо только можно.


Дата: Мар 27, 2004 11:33:49

VB выдаст только те объекты, которые базируются на интерфейсе IDispatch.
Остальные - увы. Только кропотливое изучение QueryInterface и vtbl.


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.071