troushoo

.NET のデコンパイル、デバッグ、ソースの編集も可能なオープンソースのツール dnSpy

概要

.NET アセンブリのデコンパイルやデバッグ、そしてソースの編集も可能なオープンソースのツール dnSpy を紹介します。

内容

dnSpy のダウンロード方法
dnSpy は、フリーでダウンロードすることが可能です。

1. dnSpy の GitHub のページに移動します。


2. 「Binaries」の「Latest release」をクリックします。


3. 最新のビルドをクリックします。


4. ダウンロードサイトより dnSpy をダウンロードします。



dnSpy の特徴
.NET アセンブリのデコンパイル
1. ダウンロードした Zip を展開した中にある dnSpy.exe (64 bit)、もしくは、dnSpy-x86.exe (32 bit) を起動します。


2. .NET アセンブリを「Assembly Explorer」のウィンドウにドラッグアンドドロップします。


3. デコンパイルされます。



.NET アセンブリのデバッグ
上記アプリの実行結果が 1 となるアプリを用いて、ソースデバッグをしてみます。デコンパイルが利用できるので、実際のソースコードは必要ありません。


1. 64bit アプリをデバッグする際は dnSpy.exe を、32bit アプリをデバッグする際は dnSpy-x86.exe を起動します。

2. 「Debug」→「Debug an Assembly」をクリックします。


3. デバッグ対象のアセンブリを「Assembly」に指定します。


4. エントリーポイントでブレークします。


5. 「Debug」→「Step Into」もしくは F11 で、Step Into を実行できます。


6. 「Locals」にはローカル変数が表示されます。


7. ローカル変数を右クリックし「Edit Value」をすると、ローカル変数の変更も可能です。
ローカル変数を 1 から 5 に変更してみました。


8. ソースの行をクリックすることで、ブレークポイントを張ることも可能です。


9. 「Debug」→「Continue」か F5 を押し、プログラムを再開します。


10. 変更した値が表示され、ローカル変数の変更がされたことが確認できます。


.NET アセンブリのソースの編集
.NET アセンブリのソースの編集も可能です。デコンパイルが利用できるので、実際のソースコードは必要ありません。

1. dnSpy.exe (64 bit)、もしくは、dnSpy-x86.exe (32 bit) を起動します。

2. ソースを編集したいアセンブリを開き、デコンパイルされたソースを右クリックし「Edit C# Code」をクリックします。


3. ソースを編集できます。IntelliSense も有効になっています。


4. 編集が終わったら「Compile」をします。


5. 「File」→「Save Module」をクリックし、保存します。



6. 保存したモジュールを実行すると、確かにコードの修正が反映されていることがわかります。



情報元
dnSpy

関連記事
共にフリーで使えるJustDecompileとReflexilで、.NETアセンブリの編集
任意のPowerShell コマンドレットのソースコードを確認


  1. 2016/10/30(日) 21:03:01|
  2. ツール
  3. | トラックバック:0
  4. | コメント:0
<<Visual Studio Enterprise 2015 で、1st チャンスの例外の発生場所、原因を調査 | ホーム | カーネルの問題でブートできない Linux のカーネルバージョンを変更する方法 : chroot>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://troushoo.blog.fc2.com/tb.php/312-11c79d54
この記事にトラックバックする(FC2ブログユーザー)

スポンサーリンク

最新記事

月別アーカイブ

カテゴリ

ツール (92)
ネットワーク (76)
Visual Studio (56)
SOS・Psscor2/Psscor4 (25)
WinDbg (25)
Linux (23)
Azure (17)
Tips (20)
英語 (1)
About Me (1)
未分類 (0)

全記事表示リンク

全ての記事を表示する

検索フォーム

RSSリンクの表示

リンク

このブログをリンクに追加する