文字列参照

[ツール] > [文字列参照] は、認識されたリテラルおよびそれに関連するプロシージャの場所を検索するのに役立ちます。文字列参照のブラウジングは、Free Lite および商用エディションで利用可能です。

文字列参照ブラウザ。
文字列参照ブラウザ。

興味のあるリテラルを検索するには、次を検索 (Find next) と 検索 を使用します。文字列をダブルクリックすると、それを参照するプロシージャが開きます。再度ダブルクリックすると、その使用箇所をさらに探すことができます。選択した文字列に移動してダイアログを閉じるには OK を使用し、ダイアログを閉じるには キャンセル (Cancel) を使用します。

リストには逆アセンブル中に収集された文字列が含まれています。高速逆コンパイルモードでは、プロトタイプの分析 (Analyze prototypes) が有効な場合、予備的な解析によってこれらの参照が提供されることがあります。DE Decompiler が全体解析が必要であると報告する場合、高速逆コンパイル (Fast decompilation) を無効にして入力ファイルを再度開きます。Lite では、参照を選択するとネイティブコードの逆アセンブルが開きます。値がどのように使用されているかを判断するために、参照元のプロシージャと対応するバイトを確認します。パス、レジストリ関連の文字列、ネットワークアドレス、コマンド断片は、コードレビューの優先順位付けに役立ちます。

参照は解析の手がかりです。プロシージャ内に文字列が存在することだけでは、それが特定の API に渡されることや、関連する分岐が実行されることを示すものではありません。暗号化されているもの、動的に構築されているもの、またはそれ以外で認識されない文字列は欠落している可能性があります。

認識された文字列の編集

サポートされている文字列を右クリックし、文字列を編集 (Edit string) を選択します。ファイルはより大きな値用のスペースを予約していないため、置換元の文字列よりも長くすることはできません。編集を確認すると、ファイルが直接変更されます。この操作ではバックアップが作成されず、文字列編集ダイアログを通じて元に戻すことはできません。コピー上で作業し、変更されていないサンプルを保持してください。

商用エディションでは、コンテキストメニューには文字列のバイトを検査するための バイナリエディタ (HEX Editor) も提供されています。HEX Editor は独自の編集に対して元に戻す操作とやり直し操作を提供します。変更後に結果のバイトと影響を受けるコードを確認してください。