ユニット、クラス、および関数

復元した宣言を手掛かりに、対応するDelphiおよびC++BuilderのVCLアプリケーションの構造を調べます。

ユニット宣言

Code下のユニットを選択して、その再構築された宣言リストを表示します。ユニット名、利用可能な参照、宣言されたクラス、および可視メンバーを使用して、アプリケーションのどの部分を調査しているかを特定します。

Delphiアプリケーションに対する復元したユニットおよびクラスの宣言。
Delphiアプリケーションに対する復元したユニットおよびクラスの宣言。

復元したクラス宣言の一部抜粋:

type
  TfrmMain = class(TForm)
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    PageControl1: TsPageControl;

クラスとメソッド

認識されたクラスを展開し、メソッドまたは関数を選択します。シグネチャと本体を合わせて読み解く必要があります:妥当な本体が得られたとしても、それだけでは推定されたパラメータ型やクラスフィールドの解釈が正しいことを保証するものではありません。

パブリック関数とプライベート関数

認識されたパブリック関数とメソッドは、復元された構造内に表示されます。逆コンパイラはまた、各ユニット内のプライベート関数の特定も試みます。プライベート関数の検出はヒューリスティックな手法によるものであり、予期せぬ境界線、欠落した引数、または矛盾するユニットの関連付けについては、逆アセンブリ結果を用いて調査してください。

コンパイラによって生成された匿名メソッドフレームは、通常のツリーからは非表示になります。検索結果、アドレスジャンプ、および履歴から必要なフレームを特定できます。VCLクラスを表示 (Show VCL classes)は完全なクラスビューを提供します。ユニットまたはクラスの宣言を開くために、そのすべてのメソッドをデコードする必要はありません。

名前とアナリストの注釈

バイナリに保持されている名前と、生成された識別子や解析中に割り当てられた名前を区別してください。再構築された名前またはアナリストによって割り当てられた名前は、プロシージャの動作を説明するのに役立つ場合がありますが、それが元のソースコードの識別子であったことを証明するものではありません。