アプリケーションやDLLをバージョンアップしようとしたら、ソースコードが見つからない…プログラマの方であれば、そのような経験は1度があるのではないでしょうか。今回はそのような緊急事態に使えるツールを紹介します。ILSpyは.NETのプログラムやDLLからソースコードの復元ができるツールです。
ILSpyの使い方
ソースコードを復元する
SourceForgeのサイトからダウンロードしましょう。最新バージョンは2.2.0です。「ILSpy_Master_2.2.0.1706_Binaries.zip」をダウンロードしてください。
ZIPファイルがダウンロードできますので、解凍後、「ILSpy.exe」をダブルクリックして解凍します。
ILSPyの画面が表示されますので、ツールバーよりフォルダのアイコンをクリックします。
対象のファイルを選択するexeまたはdllを選択します。今回はプログラム(exeファイル)を選択します。
プログラムコードの逆生成が実施されます。ツリーの一番下に選択したファイルが追加され、右側にアセンブリ情報が表示されます。
左のツリーを開いていくとクラスやメソッドなどにドリルダウン表示できます、右側に表示されるソースコードをコピーすることも可能です。
検索アイコンを押すと件落乱が表示されますので、検索することが可能です。検索結果をダブルクリックすると該当のコードにジャンプします。
ソースコードを変換する
また、ソースコードを復元するだけでなく、上部にあるコンボボックスを切り替えることでソースコードの変換が可能です。例えば、C#で作成したexeをVBのコードに変換することができます。
ソースコードを保存する
また、結果をソースコードとして保存することも可能です。「File」メニューの「Save Code」をクリックします。
保存ダイアログが表示されますので、ファイル名を指定して保存で保存できます。ツリーのアプリケーション名の部分を選択した状態で呼び出せばプロジェクト全体(csprojファイル)として全体が出力できます。また、クラスを選択した状態で保存ダイアログを呼び出せばクラス(csファイル)単位での出力も可能です。
以上がILSpyの使い方でした。プログラムやDLLから簡単にソースコードが復元できるのがお分かりいただけたかと思います。ただし、悪用は厳禁です。自作のアプリケーションで使うのであれば問題ありませんが、その他のアプリケーションで使う場合は使用許諾等でリバースエンジニアリングの可否を確認の上、自己責任でお使いいただくようお願いいたします。また、反対に自身のアプリケーションをリバースエンジニアリングされたくない方向けに「ConfuserEx」等の.NETのコードを難読化するツールも出ています。
ILSpyの制限
対象言語はC#およびVB.NETとなります。その他の言語で作成されたアプリケーションではお使いいただけません。
ILSpyのサイト情報
URL :https://sourceforge.net/projects/sharpdevelop/files/ILSpy/
ILSpyの評判
レビューを書く | |
まだレビューはありません。最初のレビューを書いてみませんか?