Is there any native DLL export functions viewer?

2019-01-10 04:30发布

Is there any free native Windows DLL export functions viewer, which shows the function name, and a list of their parameters?

5条回答
神经病院院长
2楼-- · 2019-01-10 04:55

DLL Export Viewer by NirSoft can be used to display exported functions in a DLL.

This utility displays the list of all exported functions and their virtual memory addresses for the specified DLL files. You can easily copy the memory address of the desired function, paste it into your debugger, and set a breakpoint for this memory address. When this function is called, the debugger will stop in the beginning of this function.

enter image description here

查看更多
神经病院院长
3楼-- · 2019-01-10 05:11

If you don't have the source code and API documentation, the machine code is all there is, you need to disassemble the dll library using something like IDA Pro , another option is use the trial version of PE Explorer.

PE Explorer provides a Disassembler. There is only one way to figure out the parameters: run the disassembler and read the disassembly output. Unfortunately, this task of reverse engineering the interface cannot be automated.

PE Explorer comes bundled with descriptions for 39 various libraries, including the core Windows® operating system libraries (eg. KERNEL32, GDI32, USER32, SHELL32, WSOCK32), key graphics libraries (DDRAW, OPENGL32) and more.

alt text http://www.heaventools.com/img/tour2-2.gif

查看更多
男人必须洒脱
4楼-- · 2019-01-10 05:14

dumpbin from the Visual Studio command prompt:

C:\Users\Andrew\src2011\cryptography\cspsdk>dumpbin /exports csp.dll

Microsoft (R) COFF/PE Dumper Version 10.00.30319.01 Copyright (C) Microsoft Corporation. All rights reserved.

Dump of file csp.dll

File Type: DLL

Section contains the following exports for CSP.dll

00000000 characteristics
3B1D0B77 time date stamp Tue Jun 05 12:40:23 2001
    0.00 version
       1 ordinal base
      25 number of functions
      25 number of names

ordinal hint RVA      name

      1    0 00001470 CPAcquireContext
      2    1 000014B0 CPCreateHash
      3    2 00001520 CPDecrypt
      4    3 000014B0 CPDeriveKey
      5    4 00001590 CPDestroyHash
      6    5 00001590 CPDestroyKey
      7    6 00001560 CPEncrypt
      8    7 00001520 CPExportKey
      9    8 00001490 CPGenKey
     10    9 000015B0 CPGenRandom
     11    A 000014D0 CPGetHashParam
     12    B 000014D0 CPGetKeyParam
     13    C 00001500 CPGetProvParam
     14    D 000015C0 CPGetUserKey
     15    E 00001580 CPHashData
     16    F 000014F0 CPHashSessionKey
     17   10 00001540 CPImportKey
     18   11 00001590 CPReleaseContext
     19   12 00001580 CPSetHashParam
     20   13 00001580 CPSetKeyParam
     21   14 000014F0 CPSetProvParam
     22   15 00001520 CPSignHash
     23   16 000015A0 CPVerifySignature
     24   17 00001060 DllRegisterServer
     25   18 00001000 DllUnregisterServer

Summary

    1000 .data
    1000 .rdata
    1000 .reloc
    1000 .rsrc
    1000 .text
查看更多
Summer. ? 凉城
5楼-- · 2019-01-10 05:18

you can use Dependency Walker to view the function name. you can see the function's parameters only if it's decorated. read the following from the FAQ:

How do I view the parameter and return types of a function? For most functions, this information is simply not present in the module. The Windows' module file format only provides a single text string to identify each function. There is no structured way to list the number of parameters, the parameter types, or the return type. However, some languages do something called function "decoration" or "mangling", which is the process of encoding information into the text string. For example, a function like int Foo(int, int) encoded with simple decoration might be exported as _Foo@8. The 8 refers to the number of bytes used by the parameters. If C++ decoration is used, the function would be exported as ?Foo@@YGHHH@Z, which can be directly decoded back to the function's original prototype: int Foo(int, int). Dependency Walker supports C++ undecoration by using the Undecorate C++ Functions Command.

查看更多
淡お忘
6楼-- · 2019-01-10 05:21

Not sure about its parameters list, but following TotalCommander plugin is very useful.

查看更多
登录 后发表回答