【发布时间】:2013-07-18 20:00:37
【问题描述】:
我编译我的应用程序项目的发布版本。当我用二进制编辑器查看我编译的最终 exe 时,我可以看到我自己创建的对象的所有类名,例如:TPolygon、TRectangle 等...,作为 exe 中的二进制文本数据。
如何从 exe 中删除此信息。我尝试在 dpr 中删除禁用 RTTI:
{$WEAKLINKRTTI ON}
{$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])}
但不是运气,任何提示。
【问题讨论】:
-
您可以尝试使用加密和/或混淆 exe 的工具,而不是删除类名。
-
@RRUZ,我尝试使用一些加壳程序进行混淆,但是在 exe 运行并转储内存快照后,类名在内存流中。
-
如果你只想隐藏一些名字,任何优秀的黑客都会破解你的应用程序。如果他们能够检查内存中解压缩的可执行文件,那么他们将能够完成剩下的工作。这个问题似乎有些变化。
-
不要挣扎。在 GPL 下发布。
标签: delphi security rtti delphi-xe3