関数名とそのパラメーターのリストを表示する無料のネイティブ Windows DLL エクスポート関数ビューアーはありますか?
4 に答える
dumpbin
Visual Studio コマンド プロンプトから:
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
Dependency Walkerを使用して関数名を表示できます。関数のパラメーターは、装飾されている場合にのみ表示されます。FAQ から以下をお読みください。
関数のパラメーターと戻り値の型を表示するにはどうすればよいですか? ほとんどの関数では、この情報はモジュールに存在しません。Windows のモジュール ファイル形式は、各関数を識別する単一のテキスト文字列のみを提供します。パラメーターの数、パラメーターの型、または戻り値の型を一覧表示する構造化された方法はありません。ただし、一部の言語は、関数「装飾」または「マングリング」と呼ばれる処理を行います。これは、情報をテキスト文字列にエンコードするプロセスです。たとえば、単純な装飾でエンコードされた int Foo(int, int) のような関数は、_Foo@8 としてエクスポートされる場合があります。8 は、パラメーターによって使用されるバイト数を表します。C++ 装飾が使用されている場合、関数は ?Foo@@YGHHH@Z としてエクスポートされ、関数の元のプロトタイプ int Foo(int, int) に直接デコードできます。
NirSoft のDLL Export Viewerを使用して、エクスポートされた関数を DLL に表示できます。
このユーティリティは、エクスポートされたすべての関数のリストと、指定された DLL ファイルの仮想メモリ アドレスを表示します。目的の関数のメモリ アドレスを簡単にコピーしてデバッガに貼り付け、このメモリ アドレスにブレークポイントを設定できます。この関数が呼び出されると、デバッガはこの関数の先頭で停止します。
ソースコードとAPIドキュメントがない場合は、マシンコードがすべてあります。IDAProなどを使用してdllライブラリを逆アセンブルする必要があります。別のオプションとして、 PEExplorerの試用版を使用します。
PEExplorerは逆アセンブラを提供します。パラメータを把握する方法は1つだけです。逆アセンブラを実行し、逆アセンブラの出力を読み取ります。残念ながら、インターフェイスをリバースエンジニアリングするこのタスクは自動化できません。
PE Explorerには、コアWindows®オペレーティングシステムライブラリ(KERNEL32、GDI32、USER32、SHELL32、WSOCK32など)、主要なグラフィックライブラリ(DDRAW、OPENGL32)など、39のさまざまなライブラリの説明がバンドルされています。
(出典:heaventools.com)