dll的分析

时间:2014-08-26 10:48:07

标签: visual-studio-2010 activex

是否可以检查未安装在注册表中的dll,看它是否为ActiveX,公共方法,是否支持COM等。是否有其他工具可用于分析dll?

1 个答案:

答案 0 :(得分:1)

这是一个非常通用的问题,但你可以使用像OllyDbg这样的反编译器/调试器来分析dll的导出方法和ASM代码。当然,您需要对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