DLLファイルからクラスのソースコードをどのように抽出しますか?
-
11-10-2019 - |
質問
これを行うソフトウェアはありますか?インターネット上に有用な情報が見つからなかったので、ここでお願いしています。
他のヒント
似たような管理言語のみ c#
と Java
完全に逆コンパイルすることができます。完全なソースコードを表示できます。にとって Win32 dll
ソースコードを取得できません。
csharp dllの場合使用する dotpeek それを自由にして、同じように動作します Redgate .NETコンパイラ
楽しむ。
使用する .NETリフレクター.
使用できます リフレクター また、使用します 加える FileGenerator ソースコードをプロジェクトに抽出します。
屈折器を使用します。からダウンロードしてください ここ.
- インストール後にソフトウェアを開きます。
- Ctrl + Oを押して、DLLファイルを選択します。
- DLLは左ペインに表示されます。
- DLLを右クリックして、ソースコードをエクスポートします。
- ファイルをエクスポートするフォルダーを選択します
- しばらく待ってください。2〜3分かかる場合があります
DLLアセンブリ内の基本のみを知りたい場合は、クラス、方法など、ダイナミーにロードするために
Microsoftが提供するIL Assemblerツールを利用できます。
一般的に:「C:プログラムファイル(x86) microsoft sdks windows v7.0a bin」
使った 屈折器 DLLファイルからスクリプト/コードを回復するには。
使用できます dotpeek私が言わなければならない唯一のことは、それを使用するときに、クラスを右クリックしてダブルクリックする代わりに分解されたソースを選択することです。そうしないと、DotPeekは、分解されたコンテンツではなく、ローカルCSファイルのコンテンツのみを表示します。オプションインスタンス
var destinationfilename = "";
if (System.IO.File.Exists("nameoffile.dll"))
{
destinationfilename = (@helperRoot + System.IO.Path.GetFileName(medRuleBook.Schemapath)).ToLower();
if (System.IO.File.Exists(destinationfilename)) System.IO.File.Delete(destinationfilename);
System.IO.File.Copy(@'nameoffile.dll", @destinationfilename);
}
// use dll-> XSD
var returnVal =
await DoProcess(
@helperRoot + "xsd.exe", "\"" + @destinationfilename + "\"");
destinationfilename = destinationfilename.Replace(".dll", ".xsd");
if (System.IO.File.Exists(@destinationfilename))
{
// now use XSD
returnVal =
await DoProcess(
@helperRoot + "xsd.exe", "/c /namespace:RuleBook /language:CS " + "\"" + @destinationfilename + "\"");
if (System.IO.File.Exists(@destinationfilename.Replace(".xsd", ".cs")))
{
var getXSD = System.IO.File.ReadAllText(@destinationfilename.Replace(".xsd", ".cs"));
}
}
所属していません StackOverflow