构建一个 delphi EXE 其中没有过程名称?

Build a delphi EXE which has no procedure names in it?

出于安全原因,一位客户询问我们是否可以构建他的可执行文件的一个版本,其中不包含对我们在代码中使用的过程名称的引用。起初我认为这相对容易,并且可以通过不使用调试信息进行构建来实现。

遗憾的是...用记事本之类的文本编辑器打开EXE时,我们的EXE还是能看到很多信息。特别是 public 的过程名称。我认为如果没有调试信息,所有这些都会被混淆。

现在我想知道是否有一种简单的方法可以实现这一点。构建我的 EXE,它没有引用过程名称。

欢迎提出任何建议。

您可以在不希望发出扩展 RTTI 信息的单元中包含以下编译器指令,并且仅保留 RTTI 用于流式传输或通常使用的已发布属性、字段和方法其他基于 RTTI 的机制。

{$RTTI EXPLICIT METHODS([vcPublished]) PROPERTIES([vcPublished]) FIELDS([vcPublished])}

但是,这不会混淆 class 名称,并且会完整保留 RTL/VCL/FMX RTII 信息。

Any suggestion is welcome.

在主窗体中嵌入网络浏览器并将所有代码移至网络应用程序。然后在您的 Delphi 程序中启动网络应用主页。现在尝试使用记事本 - 和宾果游戏。 :)