ソース コードに使用されているプログラミング言語に関係なく、.dll ファイル内のソース コードを表示するには、どのソフトウェアを使用できますか?
10 に答える
オブジェクトコードをソースコードに逆コンパイルすることはできません(1)。インターフェイスの検査は、まったく別の問題です。存在するツールはありますが、私は手に負えないものを知りません。
(1)-ええと、OK、それはいくつかの言語と特定の条件下で可能ですが、生成されたコードは正確に読めるわけではありません...
取得できる唯一の読み取り可能なコードはアセンブリ言語です(これには多くのプログラムがあります)。Visual Basic 3など、元の(またはそれに近い)ソースコードに逆コンパイルできる言語がいくつかあります。しかし、最近VB3でプログラムを作成しているのは誰ですか?誰でもない。DLLのインポート/エクスポートを確認する限り、次の場所からDependencyWalkerプログラムを使用できます 。http ://www.dependencywalker.com/
Visual BasicやC#などの一部の言語では、優れた逆コンパイラーを使用し、コードが難読化されていない場合(ほとんどの場合、難読化されていない)、読み取り可能なソースコードを取得できます。
逆コンパイルに興味がある場合は、次のサイトを確認してください:http: //www.program-transformation.org/Transform/DecompilationPossible
.Netの場合、.NETReflectorが最適です。dllをC#またはVB.NETに逆コンパイルしますhttp://www.aisto.com/roeder/dotnet/
.NETの場合、Reflectorがこれを行います。「Pro」バージョン(現在プレビュー中)には、個別のツールではなく、VSIDE自体内のほとんどのマネージコードにデバッグできるVisualStudio用のプラグインがあります。これまでのところ、とても甘く見えます。
リフレクターEAPhttp://www.simple-talk.com/community/blogs/alex/attachment/74919.ashx
アセンブリの逆コンパイルに興味があります。さて、.NET アセンブリの逆コンパイルについて説明します: http://aspnet.4guysfromrolla.com/articles/080404-1.aspx
.NET コミュニティでアセンブリを逆コンパイルするための一般的なツールは、.NET Reflectorです。
それらは異なる形式です。
.NET dll の場合、ildasm.exe (.net フレームワークと共にインストール) または .NET Reflector (ダウンロード) を使用できます。
.NET の逆コンパイルについては十分な説明がありました。ネイティブ バイナリのリバース エンジニアリングを開始する場合は、IDAを使用することをお勧めします。
さまざまな OS、プロセッサ アーキテクチャをサポートし、標準ライブラリの使用状況を検出して表示し (関心のある場所を簡単に見つけることができます)、サブルーチン間の依存関係のグラフを表示し、スタックでのプロシージャの引数を表示します。C++ クラスと try-catch ブロックを検出し、UUID の COM インターフェイス名を見つけ、その他多くのことを行います。これは素晴らしいツールで、無料版もあります。
.Net DLLを逆コンパイルするには、 .NetReflectorを使用できます。これは、任意の.Net言語で記述されたDLLで機能します。
Java JARファイルを逆コンパイルするには、JavaDecompilerを試してください。
ネイティブコード(C ++)の逆コンパイルははるかに困難です。
.NETランドにいない限り、DLLに含まれているのはバイナリコードです。これを見ることができる唯一の言語はアセンブラーです-これは機械語を提示するための単なるニーモニックな方法です。
使用する.Net言語に関係なく、すべてがMSIL(Microsoft中間言語)にコンパイルされます。Ildasmなどのツールを使用して、読み取り可能な「分解されたテキスト」に変換できます。
http://msdn.microsoft.com/en-us/library/f7dy01k1.aspx
リフレクターを使用することもできます: http ://www.builderau.com.au/program/asp/soa/Look-inside-NET-DLL-files-with-Reflector/0,339028371,339287377,00.htm
クラスとメソッドを調べるため(さまざまな.Net言語をサポートします)
ネイティブ DLL のこのプログラムの場合、Hex-Rays Decompiler (優れた IDAPro 逆アセンブラー デバッガーの上にあるレイヤー) は、おそらく可能な限り近いものです。元のコードを復元するのではなく、逆アセンブリを C のような疑似コードに変換します。安くはないけど。