Можно ли проверить dll, не установленную в реестре, чтобы узнать, является ли она ActiveX, общедоступными методами, поддерживает ли она COM и т. Д. Есть ли другой инструмент для анализа dll?

0
cp. 26 Авг 2014 в 14:48

1 ответ

Лучший ответ

Это очень общий вопрос, но вы можете анализировать экспортированные методы dll и код ASM, используя какой-нибудь декомпилятор / отладчик, например OllyDbg. Конечно, вам нужно хорошо понимать внутреннюю работу ASM и Windows.

http://www.ollydbg.de/version2.html

Если у вас есть Visual Studio и вы просто хотите узнать, содержит ли dll компонент COM, вы можете открыть командную строку Visual Studio и использовать:

dumpbin /exports filename.dll

Чтобы показать экспортируемые функции dll. Если dll экспортирует DllGetClassObject, DllRegisterServer и DllUnregisterServer, она содержит компонент COM.

Примере:

C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC>dumpbin /exports c:\windows\system32\quartz.dll
Microsoft (R) COFF/PE Dumper Version 10.00.40219.01
Copyright (C) Microsoft Corporation.  All rights reserved.


Dump of file c:\windows\system32\quartz.dll

File Type: DLL

  Section contains the following exports for QUARTZ.dll

    00000000 characteristics
    5215E909 time date stamp Thu Aug 22 12:33:45 2013
        0.00 version
           1 ordinal base
           8 number of functions
           8 number of names

    ordinal hint RVA      name

          1    0 0003B34C AMGetErrorTextA
          2    1 0003B41C AMGetErrorTextW
          3    2 0003B2C8 AmpFactorToDB
          4    3 0003B314 DBToAmpFactor
          5    4 00002848 DllCanUnloadNow
          6    5 000032E0 DllGetClassObject
          7    6 0003AFA0 DllRegisterServer
          8    7 0003B2A0 DllUnregisterServer

  Summary

       36000 .data
        4000 .idata
        F000 .pdata
        4000 .reloc
        B000 .rsrc
      157000 .text
        1000 RT_CODE
1
Gufino2 26 Авг 2014 в 15:49
1
Мне просто нужно знать, является ли данная dll dll ActiveX и каковы методы. Нет ли в VS2010 того, что может так анализировать "сырую" dll? Спасибо за такой быстрый и содержательный ответ всем участникам.
 – 
cp.
26 Авг 2014 в 15:17
Я отредактировал свой ответ, чтобы добавить использование dumpbin Visual Studio для обнаружения присутствия компонентов COM.
 – 
Gufino2
26 Авг 2014 в 15:49