実行可能ファイルのセキュリティを処理するクラスを作成しています (シリアルのチェック、試用日のチェックなど)。実行可能ファイルをコンパイルした後 (リリース ビルドでも、すべてのデバッグと RTTI 生成をオフにして)、メモ帳で開いて生データでメソッド名を検索すると、クラスをアセンブルするメソッドの名前がすべて表示されます。 . コード ベースのどのクラスにも、公開されたメンバーはありません。
これは保護に悪いです。メソッド名を実行可能ファイルに保存しないように Delphi に指示する方法はありますか? RTTI が必要なく、COM 爆発もないのに、なぜそれらを保存するのですか? これを制御するコンパイラ オプションはありますか?
ターゲット実行可能ファイル内の ANY クラスの ANY メソッドが、実行可能ファイル内にテキスト形式で格納されている可能性があります。これは、Delphi 2010 のすべてのクラスで拡張 RTTI がデフォルトでオンになっていることが原因のようです。