dotPeekの新機能

このページでは、dotPeekの最近のバージョンでの変更内容を概説します。

dotPeekのダウンロード

無料、ライセンスキーは必要ありません

新しい専用の Assembly Diff(アセンブリの差分)ツールウィンドウ

新しい専用の Assembly Diff(アセンブリの差分)ツールウィンドウ 2024.1

この dotPeek 2024.1 アップデートでは、新しい Assembly Diff(アセンブリの差分)ツールウィンドウが導入されました。 これに伴い、いくつかの変更が適用されています。

  • アセンブリ、NuGet パッケージ、フォルダー、および .zip アーカイブの比較機能が Assembly Explorer(アセンブリエクスプローラー)から Assembly Diff(アセンブリの差分)ツールウィンドウに移動されました。
  • Diff mode(差分モード)セレクターと Compare(比較)および Diff Options(差分オプション)ボタンが Assembly Diff(アセンブリの差分)ツールウィンドウの Actions(アクション)バーに移動されました。
WebCIL パッケージング形式のサポート

WebCIL パッケージング形式のサポート 2024.1

dotPeek で WebAssembly の WebCIL パッケージング形式がサポートされるようになりました。 このサポートには以下が含まれます。

  • WebCIL のデコンパイル。
  • Assembly Explorer(アセンブリエクスプローラー)で .wasm ファイルを表示する機能。
  • Assembly Explorer(アセンブリエクスプローラー)内の WASM ノードのメタデータサブツリー(WASM および WebCIL ヘッダーを含む)。
C# 言語機能の追加

アセンブリの差分の改善 2023.3

dotPeek 2023.3 では、NuGet パッケージ、フォルダー、および .zip ファイルを比較できるようになりました。

アセンブリの比較機能には、より多くの比較オプションが含まれています。 複数の差分モード(Show all(すべて表示)、Show only differences(差分のみを表示)、Show only signature differences(シグネチャーの差分のみを表示)、Show only public API differences(公開 API の差分のみを表示))から選択できます。 また、差分でメンバー/属性の順序の違いや null 許容参照型のアノテーションの違いを無視するかどうかを指定できます。

C# 言語機能の追加

Assembly Explorer の更新 2023.3

  • Assembly Explorer で NuGet パッケージを参照する際、対象の NuGet パッケージ内に含まれるすべてのファイルとフォルダーも表示できるようになりました。
  • Win32 リソースノードとそのサイズとタイプ(判定できる場合)をノード表現ツリーと Properties(プロパティ)ペインで表示できるようになりました。

その他の更新 2023.3

  • Win32 文字列テーブルリソースをデコードする機能が導入されました。
  • dotPeek がアセンブリ/非アセンブリの Properties(プロパティ)ペイン内で開いているファイル、バンドル内のファイル、アーカイブ、NuGet パッケージ、比較対象のアセンブリ、および Win32 リソースのサイズを表示するようになりました。
  • アセンブリの Authenticode 署名を検証できるようになりました。
  • 明示的な #nullable disable ディレクティブがデコンパイルされたソースに表示されます。
C# 言語機能の追加

アセンブリの差分 2023.2

dotPeek 2023.2 では 2 つのアセンブリを詳細に比較する方法が導入されています。 この機能は特定のアセンブリの 2 つのバージョンの違いを精査し、新しいバージョンに導入された可能性のある潜在的な脆弱性を探索する場合に特に便利です。

詳細については、こちらをクリックしてください。

IL Viewer ツールウィンドウ 2023.1

dotPeek の 2023.1 バージョンには、IL Viewer ツールウィンドウに対して次の改善が加えられています。

  • IL Viewer が低レベル高レベルの両方の C# コードに元のソースコードで使用されていた変数名を表示するようになりました。また、高レベルの C# コードではローカル変数の元のタプル要素名も表示されるようになりました。
  • 中間言語(IL)コードでのローカル変数宣言では、コメント付きのタプル要素名が PDB/デコンパイラーによって提供されるようになりました。
  • フィールドとプロパティのイニシャライザー、反復子内のステートメント、async メソッド、ラムダ式、ローカル関数、高レベル C# のローカル関数とネストされたローカル関数宣言の同期が改善されました。
C# 言語機能の追加

C# 言語機能の追加 2022.3

dotPeek 2022.3 では以下をサポートしています。

  • インターフェースの static abstract および static virtual メンバー
  • ジェネリクス属性
  • ユーザー定義の checked 演算子
  • 符号なし右シフト演算子
IL Viewer の高レベルと低レベルの C# コード

IL Viewer の高レベルと低レベルの C# コード 2022.2

IL Viewer ツールウィンドウで、デコンパイルされた高レベルと低レベルの C# コードを表示できるオプションが追加されました。 デコンパイルされたコードはこれまで通り、コードエディターのソースコードに同期されます。

Assembly Explorer(アセンブリエクスプローラー)での ReadyToRun および NGen アセンブリのサポート

Assembly Explorer(アセンブリエクスプローラー)の ReadyToRun および NGen アセンブリ 2022.2

  • Assembly Explorer(アセンブリエクスプローラー)での ReadyToRun(R2R)および NGen アセンブリの表示方法が改善されました。 それぞれのアセンブリ名の横には、小さなプロセッサーシンボルアイコンと ngen または R2R ラベルが表示されるようになっています。
  • Metadata ツリーには ReadyToRun ヘッダーが追加されています。
  • Properties(プロパティ)ウィンドウには ReadyToRun セクションが追加されています。
プレビュータブ

プレビュータブ 2022.1

Visual Studio でおなじみの、ファイルを単一のプレビュータブで表示する機能を導入しました。 具体的なファイルを探しており、そのファイルを個別のタブに表示したくない場合に役立ちます。

ファイルを個別のタブに保持する場合は、プレビュータブの Keep open(開いたままにする)アイコンをクリックします。 プレビュータブを無効にするには、Tools(ツール)| Options(オプション)| Tabs(タブ)に移動し、Allow new files to be opened in the preview tab(新しいファイルをプレビュータブで開く)を選択します。

テキストエディター内の Quick Find(クイック検索)ペイン

テキストエディターの Quick Find(クイック検索)ペイン 2022.1

別のツールウィンドウにあった Quick Find(クイック検索)機能をテキストエディターのタブに移動しました。 ファイルで Quick Find(クイック検索)を呼び出すと、そのファイルのエディタータブ内に Quick Find(クイック検索)ペインが表示されます。

また、F3Shift+F3 ショートカットも追加されています。これらは、Quick Find(クイック検索)ペインで検索中に次または前の出現箇所に素早く移動するために使用できます。

XML doc コメント

XML doc コメント 2022.1

dotPeek で System.Private.CoreLib のような XML ドキュメントファイルと名前が異なるアセンブリを含め、プラットフォームアセンブリの XML ドキュメントコメントが表示されるようになりました。 XML ドキュメントのパスは、デコンパイルされたファイルのヘッダーに表示されるようになっています。

Assembly Explorer の更新 2022.1

Assembly Explorer が転送された型(TypeForwardedTo 属性)をサポートするようになりました。 Locate in Metadata(メタデータ内で検索)アクションも転送された型、アセンブリとモジュール参照、およびリソースに対応しています。

その他の更新 2022.1

  • Metadata(メタデータ)ビューでナビゲーションの再ターゲット機能をオフにしました。
  • Blob ノードのプロパティにデコードされた、または生の Blob 表現を追加しました。
  • インターフェースや列挙型など、シーケンスポイントのない型の PDB ナビゲーションを改善しました。
単一ファイルアプリのサポート

レコードとレコード構造体のサポート 2021.3

dotPeek は、レコードとレコード構造体型の初期サポートを提供します。 レコード、レコード構造体、および構造体の with 式もサポートしています。

このリリースに含まれる他の C# 関連機能として、デコンパイラーが非同期的な破棄(await using)をサポートするようになりました。

単一ファイルアプリのサポート拡大

単一ファイルアプリのサポート拡大 2021.3

JetBrains は単一ファイルアプリの読み取りとデコンパイルのサポートを継続的に改善しています。

  • バンドルされている .json ファイルの内容物(.runtimeconfig.json など)を表示できます。
  • Assembly Explorer(アセンブリエクスプローラー)でルートノードをクリックすると、すべての埋め込みファイルのリストを単一ファイルアプリに関する技術情報(ヘッダーフォーマットのバージョンID)とともに表示できます。
  • すべてのファイルをフォルダーに抽出するか(コンテキストメニューの Extract Bundle Content to Folder(バンドル内容物をフォルダーに抽出)アクション)、バンドルからある特定のファイルを外部ファイルとして抽出する(コンテキストメニューの Extract to File(ファイルに抽出) アクション)ことができます。
単一ファイルアプリのサポート

単一ファイルアプリのサポート 2021.2

Now dotPeek can decompile single-file apps. また、単一ファイルアプリ内にバンドルされたアセンブリを以前とまったく同じようにして閲覧することもできます。 .NET Core 3.1、.NET 5、および公開予定の .NET 6 SDK のシングルファイル形式をサポートします。

タブの管理

タブの管理 2021.1

複数のタブをまとめて操作する場合に、タブをピン留めできるようになりました。 また、タブの色は表示中のコードの種類を表しています。緑はメタデータを、茶色はシンボルファイルのソースを表しています。 タブのピン留めとコードの色付けを行うオプションは、Tools | Options | Environment | Tabs で無効にできます。

コードスタイルとフォーマット

コードスタイルとフォーマット 2021.1

デコンパイル済みコードのフォーマッターを更新し、コードの表現方法を調整するためのオプション一式を追加しました。 インデントのスタイルとサイズ、左波括弧を新しい行に配置すべきかどうか、式のようなメンバーを使用するかどうかを設定できるようになりました。 これらのオプションは、Tools | Options | Decompiler | Code style and formatting にあります。

dotPeekのダウンロード

無料、ライセンスキーは必要ありません