我正在编写一个类来处理我的可执行文件中的安全性(检查序列、试用日期检查等)。编译可执行文件后(即使在发布版本中,关闭所有调试和 RTTI 生成),当我在记事本中打开它并在原始数据中搜索方法名称时,我可以看到组装我的类的所有方法的名称. 代码库中的任何类中都没有已发布的成员。
这对保护不利。有没有办法告诉 Delphi 不要在可执行文件中存储方法名称?如果不需要 RTTI 且没有 COM 爆炸,为什么还要存储它们?有没有控制这个的编译器选项?
目标可执行文件中任何类的任何方法都可能以文本形式存储在可执行文件中。显然,这是由于 Delphi 2010 中所有类默认打开扩展 RTTI 造成的。