DLL関数を表示する方法


回答:


73

ネイティブコードの場合は、おそらくDependency Walkerを使用するのが最善です。Visual Studioに付属しているdumpbinコマンドラインユーティリティを使用することもできます。


1
VSの新しいエディションでは、外部ツールとしてDumpBinを試してください。
Laurie Stearn 2018

Dependency Walkerに関するウィキペディアの記事があります。どうやらプログラムは古くなり、Windowsのいくつかの新しい機能では動作しませんが、代わりのものが利用可能です:github.com/lucasg/Dependencies
user1324109

50

無料のDLL Export Viewerを使用してください。非常に簡単に使用できます。


8
@sumitより具体的にできますか?このツールは私にとって長年にわたって機能します。
ケンD

6
実際、このツールは私が必要とするものだけで、素晴らしく、シンプルでシンプルに機能します。
informatik01

5
これは、メソッド/関数のリストを生成するための優れたツールですが、メソッドのパラメーター(およびそのタイプ)を表示しません。
bvdb

1
小さくてコンパクトなものを持っていることは非常に素晴らしいです、そして公式のMS製品のような膨らんだ製品は通常そうではありません。
ワイキんぐ

38

Visual Studioでオブジェクトブラウザを試すことができます。

[ カスタムコンポーネントセットの編集]を選択します。そこから、さまざまな.NET、COM、またはプロジェクトライブラリから選択するか、参照から外部DLLをインポートできます。


16
- Visual Studioは、[参照]を使用してDLLを選択すると、「選択したコンポーネントを閲覧することができない」:(言うmsdn.microsoft.com/query/...
XDG

5
オブジェクトブラウザはに移動しましたView。そして、はい、それは動作しません(なぜそれがうまくいくのか、それはマイクロソフトです)
phil294

1
MSの問題よりもベンダー。Probablayはdllにtypelibがありません。参照:stackoverflow.com/a/13903040/1614903
HolgerBöhnke2017年

@HolgerBöhnkeuserdll32にもtypelibがない
Kimmax

2
@Kimmaxはい、ただしuser32.dllはネイティブのWindows DLLであり、COMサーバーではありません。COMサーバー(たとえば、COM dll、ActiveXコントロール、*。ocx ...)だけが、コンパイルされている場合は、最初にタイプライブラリを持っている可能性があります。ネイティブ(=非COMオブジェクト)DLLの場合、ここに記載されている他のツール(dumpbinなど)の一部が機能する場合があります。つまり、DLLが機能をエクスポートする場合は、序数のみではなく名前で機能をエクスポートします。
HolgerBöhnke18年

27

dumpbinコマンドラインを使用します。

  • dumpbin /IMPORTS <path-to-file> そのDLLにインポートされた関数を提供する必要があります。
  • dumpbin /EXPORTS <path-to-file> エクスポートする機能を提供する必要があります。


8

.NET DLLの場合、ildasmを使用できます


ildasmはMicrosoft製品であり、Visual Studioがインストールされている場合はデフォルトでPCにインストールされます。これは最良のオプションだと思います。UIも備えているため、コマンドラインを使用する必要はありません。ありがとう
Mehrdad Babaki 2017

次の場所にあります:C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ <VERSION> \ bin
f4d0

6

このdll /アセンブリがどの言語からのものであるかを知らなくても、推測することしかできません。

では、.NET Reflectorはどうでしょう


2
次に、これはあなたの男でなければなりません。
Adriaan Stander、

1
.netリフレクターは以前は無料でしたが、現在は商用製品です。.net dllの「JustDecompile」は無料の代替手段です。
bvdb

逆コンパイラはそこにどんな関数があるかを教えてくれますか それらの実装も同様に確認できますか?
vipin8169

2

DLLがいずれかの.NET言語で記述されていて、どの関数のみを表示したい場合は、プロジェクトにこのDLLへの参照があります。

次に、参照フォルダーのDLLをダブルクリックすると、OBJECT EXPLORERウィンドウにDLLの機能が表示されます

そのDLLファイルのソースコードを表示する場合は、.NETリフレクターなどの逆コンパイラアプリケーションを使用できます。これがお役に立てば幸いです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.