Delphi dfm编译错误

时间:2010-11-01 15:24:32

标签: delphi hex decompiling dfm

编译的所有exes都可以反编译(但有一些困难) 但delphi应用程序表单被保存为exe内部的dfms,可以很容易地看到(使用reshacker)(很容易),我可以克服这些问题,首先我想到将dfm数据复制到oncreate过程,这样我就可以隐藏我的表单信息。

告诉我一个很好的解决方案,

我不喜欢使用压缩机

我的应用程序有点大,所以我不能将端口重新连接到一个dll。我需要一个有效的解决方案。

2 个答案:

答案 0 :(得分:10)

当.dfm文件链接到最终的PE文件时, 存储为txt。它们被转换为标记的二进制格式,放置在RCDATA Windows资源中。对于图像,它们存储为原始二进制文件。在构建应用程序时,.dfm文件可以存储为文本或二进制文件(右键单击表单设计器,可以选择一个或另一个)。这只会影响.dfm文件本身的格式。一旦链接到最终二进制文件,它对其格式没有任何影响。

您可以尝试将图像转换为常量数组(有许​​多工具可以读取二进制文件并以各种语言格式写出数组decl)并将其用作包含文件。另一件事是使用RSA或PGP等单向算法加密图像。这不会阻止某人解密图像,但它会阻止某人替换它,因为他们没有私钥。

答案 1 :(得分:1)

如果这是关于保护您的应用程序图像,那么您已经处于失败的一面:

https://stackoverflow.com/questions/455623/how-can-i-prevent-users-from-taking-screenshots-of-my-application-window

始终可以制作正在运行的应用程序的屏幕截图。