プログラムからソースコードの復元ができる「ILSpy」

プログラムからソースコードの復元ができる「ILSpy」アプリケーションやDLLをバージョンアップしようとしたら、ソースコードが見つからない…プログラマの方であれば、そのような経験は1度があるのではないでしょうか。今回はそのような緊急事態に使えるツールを紹介します。ILSpyは.NETのプログラムやDLLからソースコードの復元ができるツールです。

ILSpyの使い方

ソースコードを復元する

SourceForgeのサイトからダウンロードしましょう。最新バージョンは2.2.0です。「ILSpy_Master_2.2.0.1706_Binaries.zip」をダウンロードしてください。SourceForgeの「iLSpy」ダウンロード画面

ZIPファイルがダウンロードできますので、解凍後、「ILSpy.exe」をダブルクリックして解凍します。iLSpyのZipファイル解凍後の画面

ILSPyの画面が表示されますので、ツールバーよりフォルダのアイコンをクリックします。「iLSpy」を起動した後の画面

対象のファイルを選択するexeまたはdllを選択します。今回はプログラム(exeファイル)を選択します。「iLSpy」のファイル選択画面

プログラムコードの逆生成が実施されます。ツリーの一番下に選択したファイルが追加され、右側にアセンブリ情報が表示されます。「iLSpy」でプログラムコードを逆生成した後の画面

左のツリーを開いていくとクラスやメソッドなどにドリルダウン表示できます、右側に表示されるソースコードをコピーすることも可能です。「iLSpy」で左のメニューを開いた後の画面

検索アイコンを押すと件落乱が表示されますので、検索することが可能です。検索結果をダブルクリックすると該当のコードにジャンプします。「iLSpy」で検索アイコンをクリックした後の画面

ソースコードを変換する

また、ソースコードを復元するだけでなく、上部にあるコンボボックスを切り替えることでソースコードの変換が可能です。例えば、C#で作成したexeをVBのコードに変換することができます。「iLSpy」でプログラム言語のプルダウンメニューを開いた状態の画面

ソースコードを保存する

また、結果をソースコードとして保存することも可能です。「File」メニューの「Save Code」をクリックします。「iLSpy」でFileメニューを開いた状態の画面

保存ダイアログが表示されますので、ファイル名を指定して保存で保存できます。ツリーのアプリケーション名の部分を選択した状態で呼び出せばプロジェクト全体(csprojファイル)として全体が出力できます。また、クラスを選択した状態で保存ダイアログを呼び出せばクラス(csファイル)単位での出力も可能です。「iLSpy」で「Save Code」を選択した後に表示されるファイルの保存ダイアログ

以上がILSpyの使い方でした。プログラムやDLLから簡単にソースコードが復元できるのがお分かりいただけたかと思います。ただし、悪用は厳禁です。自作のアプリケーションで使うのであれば問題ありませんが、その他のアプリケーションで使う場合は使用許諾等でリバースエンジニアリングの可否を確認の上、自己責任でお使いいただくようお願いいたします。また、反対に自身のアプリケーションをリバースエンジニアリングされたくない方向けに「ConfuserEx」等の.NETのコードを難読化するツールも出ています。

ILSpyの制限

対象言語はC#およびVB.NETとなります。その他の言語で作成されたアプリケーションではお使いいただけません。

ILSpyのサイト情報

URL       :https://sourceforge.net/projects/sharpdevelop/files/ILSpy/

 

ILSpyの評判

レビューを書く
1
2
3
4
5
送信
     
キャンセル

まだレビューはありません。最初のレビューを書いてみませんか?

レビューを書く

ILSpy
平均評価:  
 0 件
タイトルとURLをコピーしました