# 概要 - DE Decompiler

> Delphiで記述された、またはC++Builderで作成されたVCLプログラム用の専門家向け逆コンパイラ。リバースエンジニアリングやフォレンジックに向け、Win32/Win64のコード、フォーム、ユニット、クラスを解析します。

Canonical HTML: <https://www.de-decompiler.com/help/jp/description.htm>

## イントロダクション

Delphiで記述された、またはC++Builderで作成されたVCLプログラム用の専門家向け逆コンパイラ。リバースエンジニアリングやフォレンジックに向け、Win32/Win64のコード、フォーム、ユニット、クラスを解析します。

**Delphi 3～13で記述された、またはC++Builderで作成されたWin32/Win64向けVCLアプリケーション**を、Delphi風のPascalに逆コンパイルします。機械語命令と利用可能なメタデータから制御フロー、呼び出し、フォーム、ユニット、クラスを復元し、VCLのイベントから実装へ移動できます。

復元された構造とコードを使用して、プログラムの動作、マルウェア、および潜在的に望ましくないまたは隠蔽された機能を調査してください。VCL イベントをハンドラまで追跡し、制御フローや呼び出しを調べ、逆アセンブリおよび HEX エディタを使用して詳細な検査を行ってください。

### ネイティブコードの逆コンパイル

高水準コードリストは、`if` 条件、`case` ブロック、ループ、および認識された VCL メソッドへの呼び出しを含むプログラムロジックを再構築します。認識されたユニット、クラス、および公開関数は構造的なビューを提供し、ヒューリスティックな検出は各ユニット内のプライベート関数も検索します。

### フォームとツール

読み取り専用のデザイナーで復元したVCLコントロールとプロパティを調べ、イベントからハンドラへ移動できます。ユニットとフォームはPascal/DFMプロジェクトまたは単一の`.pas`コードリストとして出力します。内蔵の[難読化ツール](https://www.de-decompiler.com/help/jp/obfuscation.htm)は、DelphiおよびC++BuilderのWin32/Win64向けVCLアプリケーションに対応します。

### バイナリに保持されている情報

出力は、元のソーステキストそのものではなく、Delphi風のPascalコードです。ネイティブコンパイルでは、ソースレベルの情報がすべて保持されるわけではありません。ローカル変数名は通常、自動生成されます。データ構造のレイアウトはメモリアクセスのサイズやアドレスから推定される場合があり、識別できない呼び出しは元のVCLメソッド名なしで表示されることがあります。コンパイラごとのRTTIに関する知識を利用して、残存する名前や型を復元します。

高水準コードリストは、その証拠によってサポートされる詳細さでネイティブプログラムロジックを再構築します。推定された型、予期しない式、および重要な結論を対応する命令に対して確認してください。[復元されたコードの解釈](https://www.de-decompiler.com/help/jp/validation.htm) を参照してください。

失われたソースの復元を支援する用途にも利用できます。ただし、出力はそのままコンパイルできるソースプロジェクトではありません。復元したコードをIDEで開く前に、逆コンパイルの不正確な箇所や互換性の問題を手動で解析・修正し、不足している依存関係を補う必要があります。

### C++Builderで作成されたアプリケーション

DE Decompilerは、C++Builderで作成されたWin32/Win64向けVCLアプリケーションに対応します。フォームの復元と表示、ユニット・クラス・関数の解析、イベントハンドラへの移動に加え、同じワークスペースでその他の解析・出力ツールも利用できます。

C++Builder固有のライブラリに対応するRTTI知識ベースは、まだ用意されていません。共通のVCLの認識範囲に含まれない関数や、識別できないオブジェクトのプロパティ・メソッドは、ライブラリ内の名前を付けずに表示される場合があります。このため、C++Builderのコードの復元品質は、Delphiで記述されたプログラムより明らかに低くなります。 この制約はコードの復元精度とライブラリ内の名前の識別に関するものです。フォーム表示や構造解析など、その他の機能はDelphiで記述されたプログラムと同じエディションの条件で利用できます。

C++BuilderのコードはDelphi風のPascalとして復元し、PAS/DFM形式で出力します。元のC++ソースには戻しません。他のネイティブコード復元と同様、IDEで利用する前に、推定された型、生成された名前、逆コンパイルの不正確な箇所を手作業で確認・修正してください。

### エディション

高水準コード逆コンパイル、AI ヘルパー、HEX エディタ、および難読化には、Single Developer または Enterprise ライセンスが必要です。無料の Lite バージョンは VCL フォーム情報を復元し、ネイティブ逆アセンブルと文字列参照を提供します。[ライセンス](https://www.de-decompiler.com/help/jp/registration.htm) を参照してください。

![復元したプロジェクト構造付きの逆コンパイルされたDelphiライクなコード。](https://www.de-decompiler.com/image/help/de_decompiler_code_overview.png)
復元したプロジェクト構造付きの逆コンパイルされたDelphi風のPascalコード。
