dnSpyEx
dnSpyExは、dnSpyプロジェクトの非公式な継続版です。dnSpyはデバッガーであり、.NETアセンブリエディターです。ソースコードがなくても、アセンブリの編集とデバッグを行うことができます。主な機能は次のとおりです。
- .NETアセンブリとUnityアセンブリのデバッグ
- .NETアセンブリとUnityアセンブリの編集
- ライトテーマとダークテーマ
詳細な機能は以下を参照してください


バイナリ
最新の安定版リリース: https://github.com/dnSpyEx/dnSpy/releases
最先端を行きたい場合は、最新の「ベータ」ビルドを以下から入手できます:

ビルド
git clone --recursive https://github.com/dnSpyEx/dnSpy.git
cd dnSpy
# or dotnet build
./build.ps1 -NoMsbuild
Unityゲームをデバッグするには、このリポジトリも必要です: https://github.com/dnSpyEx/dnSpy-Unity-mono
デバッガー
- .NET Framework、.NET、Unityゲームのアセンブリをデバッグ可能。ソースコードは不要
- ブレークポイントの設定や任意のアセンブリへのステップインが可能
- ローカル、ウォッチ、自動変数ウィンドウ
- 変数ウィンドウでは、変数(例: 復号化されたバイト配列)をディスクに保存したり、16進エディター(メモリウィンドウ)で表示したりできます
- オブジェクトID
- 複数のプロセスを同時にデバッグ可能
- モジュール読み込み時にブレーク
- トレースポイントと条件付きブレークポイント
- ブレークポイントとトレースポイントのエクスポート/インポート
- システムライブラリ用のオプションのJust My Code (JMC) ステッピングフィルター
- 呼び出し履歴、スレッド、モジュール、プロセスウィンドウ
- スローされた例外でブレーク(1st chance)
- 変数ウィンドウでC# / Visual Basic式の評価に対応
- 動的モジュールをデバッグ可能(ただし、CLRの制限により動的メソッドは不可)
- 出力ウィンドウはさまざまなデバッグイベントをログに記録し、デフォルトでタイムスタンプを表示します :)
- 実行時に自己復号化するアセンブリもデバッグ可能。dnSpyはインメモリイメージを使用します。ディスクファイルの代わりに常にインメモリイメージを使用するようdnSpyに強制することもできます。
- 一般的なデバッガー検出技術のバイパス
- パブリックAPI。拡張機能を書いたり、C# Interactiveウィンドウを使ってデバッガーを制御できます
アセンブリエディター
- すべてのメタデータを編集可能
- IntelliSenseを使用してC#またはVisual Basicでメソッドとクラスを編集可能。ソースコードは不要
- C#またはVisual Basicで新しいメソッド、クラス、メンバーを追加可能
- 低レベルのILメソッド本体編集のためのILエディター
- 低レベルのメタデータテーブルを編集可能。内部的には16進エディターを使用します
16進エディター
- 逆コンパイルされたコード内のアドレスをクリックすると、16進エディターの該当ILコードに移動
- 上記の逆。16進エディターのIL本体でF12を押すと、逆コンパイルされたコードやその他の高レベル表現に移動します。パッチがどのステートメントを変更したかを特定するのに役立ちます。
- .NETメタデータ構造とPE構造をハイライト
- ツールチップに、選択した.NETメタデータ / PEフィールドの詳細情報を表示
- 位置、ファイル、RVAに移動
- .NETメタデータトークン、メソッド本体、#Blob / #Strings / #USヒープオフセット、#GUIDヒープインデックスに移動
- 参照を追跡(Ctrl+F12)
その他
- BAMLデコンパイラーおよび逆アセンブラー
- ブルー、ライト、ダークテーマ(およびダークハイコントラストテーマ)
- ブックマーク
- C# Interactiveウィンドウを使用してdnSpyをスクリプト化可能
- アセンブリ内のクラス、メソッド、文字列などを検索
- クラスとメソッドの使用状況を分析、呼び出し元を検索など
- 複数のタブとタブグループ
- 参照がハイライトされ、Tab / Shift+Tabで次の参照に移動
- エントリポイントとモジュール初期化子に移動するコマンド
- メタデータトークンまたはメタデータ行に移動するコマンド
- コードツールチップ(C#およびVisual Basic)
- プロジェクトとしてエクスポート
dnSpyが使用する他のオープンソースライブラリの一覧
dnSpyの翻訳
dnSpyをあなたの母国語に翻訳するのを手伝いたい場合は、ここをクリックしてください。
Wiki
ビルド手順やその他のドキュメントについては、Wikiを参照してください。
ライセンス
dnSpyはGPLv3の下でライセンスされています。