Windows 実行可能ファイルがある場合、どの dll が読み込まれるかを調べるにはどうすればよいですか?
LoadLibrary のようなもので動的にロードされる可能性のあるものではなく、静的にロードされるものについて話しているだけです。
Windows 実行可能ファイルがある場合、どの dll が読み込まれるかを調べるにはどうすればよいですか?
LoadLibrary のようなもので動的にロードされる可能性のあるものではなく、静的にロードされるものについて話しているだけです。
dumpbinは、VC++に付属するツールです。
プログラムがインポートするDLLを確認するには、次のようにします。
Dump of file whatever.exe File Type: EXECUTABLE IMAGE Image has the following dependencies: AIOUSB.DLL sqlite3.dll wxmsw293u_core_vc_custom.dll wxbase293u_vc_custom.dll KERNEL32.dll ole32.dll OLEAUT32.dll MSVCP90.dll MSVCR90.dll
インポートする関数(およびDLL)を確認するには、次を使用します。
C:\> dumpbin /imports whatever.exe
コマンドプロンプトを開き、以下のコマンドを入力します
tasklist /m /fi "イメージ名 eq netbeans.exe"
代わりに netbeans.exe と入力して、exe ファイル名を指定します。
Dependency Walkerは、どの .dll が読み込まれるかを判断するのに役立ちます。
コマンド プロンプトに移動して と入力するだけでtasklist /m
、特定のプログラムで使用される dll ファイルのリストが表示されます。
Microsoft .Net のソリューション:
foreach (AssemblyName a in Assembly.ReflectionOnlyLoadFrom("SAMPLE.EXE").GetReferencedAssemblies())
{
MessageBox.Show(a.Name);
}
すべてのDLL依存関係を提供するNDependと呼ばれる便利なツールがあります。
progfr はシンプルで便利です: [ http://members.fortunecity.com/michaelmoser/tip11.htm]
依存関係 - オープンソースの最新の Dependency Walkerは、Windows 実行可能ファイルがどの DLL をロードするかを示し、最新の Windows 10 でうまく機能します。
Dependency Walkerよりも少し強力ではありませんが、後者は 2006 年に最後に更新されたため、Windows 10 で機能する場合と機能しない場合があります。もう。)