【Visual Studio】 dumpbin アプリケーションを使ってDLLファイルに含まれる関数を調べる
稀にですが、バイナリファイルの依存関係を調べたいことがあります。知っておくと、いざという時に役に立つかもしれません。
目次
ツールについて
Visual Studio 2019 Community を Visual Studio Installer でインストールする際に追加インストールできる dumpbin アプリケーションを利用します。
手順:dumpbin アプリケーションのインストール
Visual Studio Installer を起動し、[C++ によるデスクトップ開発]をチェックしインストールします。
これでdumpbin ファイルがインストールされます。
使用方法 (Visual Studio経由で使う)
1.Visual Studio を起動し、[ツール] > [コマンドライン] > [開発者用 Power Shell]を選択します。
Windows Power Shell が起動出来たら、以下コマンドを実行します。
dumpbin /exports [dllファイルパス] > output.txt
結果
試しに C:\Windows\System32\amsiproxy.dll に対してDump 出力してみます。
Microsoft (R) COFF/PE Dumper Version 14.24.28314.0
Copyright (C) Microsoft Corporation. All rights reserved.
Dump of file C:\Windows\System32\amsiproxy.dll
File Type: DLL
Section contains the following exports for amsiproxy.dll
00000000 characteristics
918B159C time date stamp
0.00 version
1 ordinal base
4 number of functions
4 number of names
ordinal hint RVA name
1 0 00001080 DllCanUnloadNow
2 1 00001040 DllGetClassObject
3 2 000010E0 DllRegisterServer
4 3 00001110 DllUnregisterServer
Summary
1000 .data
1000 .pdata
2000 .rdata
1000 .reloc
1000 .rsrc
1000 .text
出力結果を見るとDllCanUnloadNow、DllGetClassObject、DllRegisterServer、DllUnregisterServer の4つの関数を含んでいることが分かりました。