よくある質問
対応アプリケーション、ネイティブコード逆コンパイル、VCL フォームおよび拡張機能に関する回答。
対応するコンパイラとアーキテクチャは?
Delphi 3~13で記述されたプログラムと、C++Builderで作成されたWin32/Win64向けVCLアプリケーションに対応します。C++Builderでもフォーム表示、ユニット・クラス・関数の解析、その他のツールを利用でき、コードはDelphi風のPascalとして復元してPAS/DFM形式で出力します。
C++Builder固有のライブラリに対応するRTTI知識ベースは、まだ用意されていません。共通のVCLの認識範囲に含まれない関数や、識別できないオブジェクトのプロパティ・メソッドは、ライブラリ内の名前を付けずに表示される場合があります。このため、C++Builderのコードの復元品質は、Delphiで記述されたプログラムより明らかに低くなります。 この制約はコードの復元精度とライブラリ内の名前の識別に関するものです。フォーム表示や構造解析など、その他の機能はDelphiで記述されたプログラムと同じエディションの条件で利用できます。
他の製品ではなく、DE Decompilerを選ぶ理由は何ですか?
DE Decompilerは、機密性を保つオフライン解析、ネイティブ実装による高速性、長年のリバースエンジニアリングの経験を兼ね備えています。
- ネットワーク接続を必要としない機密性の高い解析。 主要な逆コンパイルと解析は、すべてお使いのコンピュータ上で実行されます。解析対象ファイルや逆コンパイル結果がDotFix Softwareのサーバーへ送信されることはなく、ネットワークを切断した環境でも使用できます。任意機能のAI HelperもOllama経由のローカルモデルで利用できます。外部APIサービスを選んだ場合は、処理を依頼したコードがそのサービスへ送信されます。
- 高速なネイティブ実装。 DE DecompilerはDelphiで開発され、機械語へ直接コンパイルされます。逆コンパイルエンジンは中間バイトコード、マネージドランタイム、ラッパーを介した実行を必要とせず、サードパーティのライブラリやフレームワークにも依存しません。専用のネイティブ実装により、比較的控えめなハードウェアでも高速に動作します。ローカルAIモデルには別途ハードウェア要件があります。
- 開発者が設計した主要アルゴリズム。 主要な逆コンパイル・解析アルゴリズムの実装には、AIが生成したコードを使用していません。専用エンジンがプログラムのロジックを復元し、型やVCL呼び出しを識別します。高水準のコードリストと機械語命令を対応付けて、詳細な調査を支援します。
- 2007年から続く開発。 DE Decompilerは2007~2008年に一般販売され、その後も社内用途で開発を継続し、今回の再公開に至りました。2001年からソフトウェアツールを開発しているDotFix Softwareの実践的なリバースエンジニアリングの経験が製品に生かされています。
- 週7日の技術サポート。 週末や祝日を含め、毎日お客様からのお問い合わせに対応しています。国によって異なる営業日や祝日に合わせて、緊急の調査を調整する必要はありません。
- 仮想環境と互換レイヤーでの動作検証。 DE DecompilerはWine、Parallels、Proton上で定期的にテストされています。アンチウイルス解析担当者やセキュリティ部門を含むお客様が利用できる、検証済みの動作環境です。
元のコードはどの程度復元できますか?
Delphiで記述されたプログラムでは、VB DecompilerのVB6 Native Codeの復元と同程度の、最大75%のコード復元が見込めます。これは目安となる上限であり、すべてのアプリケーションへの保証ではありません。コンパイラ、最適化、バイナリに残る命令とメタデータに依存します。この目安はC++Builderには適用されません。固有ライブラリのRTTI知識ベースがまだないため、C++Builderのコード復元品質は低くなります。
DE Decompilerは、条件分岐、case文、ループ、識別できたVCL呼び出しを含むDelphi風のコードを復元します。機械語には元のソーステキストが残っていないため、変数名は生成されることが多く、データの配置は推定される場合があり、一部の呼び出しには元のVCLメソッド名が付かないこともあります。この割合は復元されたコードを示し、そのままコンパイルできるソースプロジェクトの割合ではありません。IDEで使用する前に、手作業でコードを確認・修正する必要があります。
元のソースプロジェクトを完全に復元できますか?
DE Decompilerは、条件分岐、caseブロック、ループ、および認識されたVCL呼び出しを含む、フォーム、宣言、Delphiに似たプロシージャコードを再構築します。ネイティブバイナリは元のソーステキストを保持しません:変数名は一般的に生成され、レイアウトは推測される場合があり、一部の呼び出しにはVCLメソッド名が含まれていないことがあります。復元されたコードをIDEで開く前に、逆コンパイルの不正確さや互換性の問題を手動で修正し、欠落しているユニット、コンポーネント、依存関係を追加してください。
VCLフォームからそのイベントハンドラへ移動できますか?
はい。VCLフォーム表示で復元したイベントを選択すると、そのハンドラを開けます。対応するDelphiとC++Builderのどちらのプログラムでも利用できます。
復元したコードやフォームを出力できますか?
ファイル > 逆コンパイルされたプロジェクトを保存 (File > Save decompiled project) は Delphi プロジェクトの出力に使用します。ファイル > 1つのモジュールにすべて保存 (File > Save all in one module) は、.pas リストを結合して保存する場合に使用します。詳細は復元した結果の保存をご覧ください。
C++BuilderのコードはDelphi風のPascalとして復元し、PAS/DFM形式で出力します。元のC++ソースには戻しません。他のネイティブコード復元と同様、IDEで利用する前に、推定された型、生成された名前、逆コンパイルの不正確な箇所を手作業で確認・修正してください。
元の実行ファイルなしで解析結果を確認できますか?
保存された VDD データベースには、復元された構造体、フォームリソース、およびキャッシュされたネイティブコードが保持されます。デコードされていないプロシージャについては、対応する実行ファイルが必要です。解析データベースをご覧ください。
AI Helperに必要なハードウェアは?
ローカル AI 処理には、選択したモデルに適したハードウェアが必要です。スクリーンショットに示した 27B モデルの最小および推奨 GPU メモリについては、AI Helper をご覧ください。これらの要件は、Ollama を実行しているマシンに適用されます。
カスタムプラグインを使用できますか?
FRX Image Viewerは、復元されたDFM画像および認識されたネイティブImageListアイコンに対して利用可能です。インストールとダウンロードをご覧ください。プラグインインターフェースとSDKはVB Decompilerと同じです。SDKおよびAPIリファレンスを使用して、独自の解析タスク用のプラグインを開発できます。また、AIコーディングエージェントにプラグインの実装を依頼することも可能です:SDKリファレンスのリンクを提供し、必要な動作を記述してから、生成されたDLLをDE Decompilerで確認・テストしてください。
Win64アプリケーションを難読化できますか?
はい。内蔵の難読化ツールは、Delphiで記述された、またはC++Builderで作成されたWin32/Win64向けVCLアプリケーションに対応します。
Free Liteで何を確認できますか?
Free Liteでは、対応するDelphiおよびC++Builderのプログラムで、VCLフォーム表示、Win32/Win64の逆アセンブル、構文の強調表示、プロシージャ検索、文字列参照を利用できます。高水準のPascalコードへの逆コンパイル、AI Helper、HEXエディター、難読化には商用ライセンスが必要です。
Single DeveloperとEnterpriseの違いは何ですか?
Single Developerは、指定された1名の開発者が、1台の物理コンピュータまたはローカルで稼働する仮想PCで使用するライセンスです。複数の開発者で共有したり、チーム内で持ち回ったり、別の開発者へ譲渡・再割り当てしたりすることはできません。Enterpriseは、ライセンスを受けた企業内で、最大20名のユーザーが最大20台の物理コンピュータまたはローカルの仮想PCで使用できます。どちらも製品の商用機能を利用できます。
最初の契約期間終了後に何が起こりますか?
インストール済みのバージョンは、アクティベーションが行われたコンピュータ上で引き続き動作します。新バージョンの提供、技術サポート、およびアクティベーションの他のコンピュータへの移動には、有効なアップデートおよびサポート期間が必要です。両ライセンスとも1年間の更新が可能です。