Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.29;
Скачать: CL | DM;

Вниз

COM   Найти похожие ветки 

 
moccom   (2006-10-07 19:14) [0]

Знаю, что глупость буду спрашивать и знаю что абсолютно ничего не понимаю в COM технологии. Но, хочется услышать ответ на один вопрос: есть некая com библиотека (dll), и есть приложение, которое использует эту com библиотеку; реально ли достать: что, как, какие методы используются приложением для работы с библиоткой? что бы потом использовать данную библиотеку в своем приложении.


 
wicked ©   (2006-10-07 19:17) [1]

короткий и, наверное, неверный ответ - да, если обьект(-ы), живущий в длл, поддерживает интерфейсы type library... тогда можно будет достать все интерфейсы и методы, предоставляемые обьект(-ом/-ами)


 
moccom   (2006-10-07 19:19) [2]

type library увы нет, я забыл это упомянуть.


 
sniknik ©   (2006-10-07 19:30) [3]

делаеш "import type labrary" (это в проектах) этой библиотеки, и получаеш все методы/свойства даже те которые "та" программа и не использует...


 
moccom   (2006-10-07 19:47) [4]


> делаеш "import type labrary"

Я так понял что это будет реаботать только в том случае, как выше сказано "поддерживает интерфейсы type library", в данном случае (> делаеш "import type labrary") я получаю "Ошибка при загрузке библиотеки". Неужели нет никакого "com сниффера", который бы во время взаимодействия приложения и com библиотеки, мог отследить данный процесс.


 
sniknik ©   (2006-10-07 22:53) [5]

> Ошибка при загрузке библиотеки
значит это не COM.

> Неужели нет никакого "com сниффера"
в нем нет необходимости, там все открыто.


 
jack128 ©   (2006-10-08 02:33) [6]

sniknik ©   (07.10.06 22:53) [5]
значит это не COM.


а разве COM ТРЕБУЕТ наличие библиотеки типов?


 
moccom   (2006-10-08 11:34) [7]


> значит это не COM.

А зачем же тогда в экспорте этой библиотеки: DllCanUnloadNow, DllGetClassObject, DllRegisterServer, DllUnregisterServer, - я думал что подобные вещи указывают но com.


 
sniknik ©   (2006-10-08 13:28) [8]

а может просто одноименные?... малоли кто что напрограммирует. и откуда ты про них узнал? исходники есть, это твоя dll? тогда какие затруднеия узнать ее интерфейсы, если они и так твои?

если не твоя, и есть только один dll файл то, проверь выполни regsvr32 "имя файла.dll". будет удачно, значит и импорт должен сработать (впрочем мне всегда достаточно было создание модуля "create unit" там же, без установок/создания компонент, в котором все и можно посмотреть)

если регистрируется но не импортируется... ну выложи ее куданибудь посмотреть. может действительно сделано через задницу (по типу 1С-ных к примеру).


 
moccom   (2006-10-08 14:49) [9]


> а может просто одноименные?... малоли кто что напрограммирует.

Достоверно известно, что это именно com. (библиотека не моя)


>  проверь выполни regsvr32 "имя файла.dll"

Всё ок, успешно регистрируется. Но вытащить tlb (или как это корректно называется) не удается. Просто есть ещё одна библиотека от этого же автора и вот там присутствует tlb, который успешно можно вытащить со всеми вытекающими интерфейсами и методами.

Видимо придется мне читать литературу по com, что бы хоть понимать с чем имею дело.


 
Внук ©   (2006-10-08 14:59) [10]

Попробуй программку oleview на нее натравить...


 
moccom   (2006-10-08 15:11) [11]

OLE View (от MS) пробовал, но т.к. tlb в библиотеке отсутствуют, то и "View TypeLib" в OLE View не удается. И хоть библиотека успешно регистрируется (regsvr32...) в системе, но в дереве классов OLE View напрочь отсутствуют какие-либо отчетливые упоминания.


 
Kolan ©   (2006-10-08 15:13) [12]


> Но вытащить tlb (или как это корректно называется) не удается.

AFAIR в этом случае попользовать её получится только с пом документации от автора.


 
Внук ©   (2006-10-08 15:13) [13]

>>moccom   (08.10.06 15:11) [11]
 Ну, значит COM-объект без ITypeInfo. Это судьба :)


 
moccom   (2006-10-08 15:27) [14]

Ну вообщем весь смыс то вопроса можно переформировать. Есть ли какие либо методики упрощающие реверсинг данного процесса? (окромя жесткого реверсинга с использованием дизассемблера и головной боли) все же com, поэтому и спрашиваю, может реально как-то перехватывать вызовы или ещё что-то? Скажите, такое хотя бы чисто теоретически возможно?


 
moccom   (2006-10-08 15:33) [15]

Просто, есть же уже готовое приложение, которое использует эту библиотеку, вот и интересно реально ли отследить вызовы из приложения в com.



Страницы: 1 вся ветка

Текущий архив: 2006.10.29;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.029 c
2-1160568882
Новичоккк
2006-10-11 16:14
2006.10.29
Integer в 32х и 64х битных системах


15-1160018364
Alx_
2006-10-05 07:19
2006.10.29
Касперский. DISK BOOT FAILURE


3-1157366093
tytus
2006-09-04 14:34
2006.10.29
помогите с подключением


8-1143218448
mobila
2006-03-24 19:40
2006.10.29
ограничить перемещения квадрата


15-1160584898
Cooller
2006-10-11 20:41
2006.10.29
Написание программ на Delphi для Win64





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский