開発・運用

.NETのプログラムやDLLからソースコードの逆生成ができる「ILSpy」

投稿日:

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

このアプリで仕事が効率化できる理由

  • EXEやDLLからソースコードを表示することができる
  • プロジェクトファイルやソースファイルとして保存することもできる

使い方

ソースコードを表示する

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

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

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

対象のファイルを選択するexeまたはdllを選択します。今回はexeファイルを選択します。

ツリーの一番下に対象のファイルが追加され、右側にアセンブリ情報が表示されます。

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

ソースコードを保存する

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

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

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

解説動画(YouTube)

制限

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

サイト情報

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

-開発・運用
-, , ,

Copyright© WebCli , 2019 All Rights Reserved.