我怎么可能保护我的特尔斐应用程序从正反编译?我知道有一些软件,如themida,我认为将这样做,但随后受保护的exe触发的防病毒软件。

有帮助吗?

解决方案

这要看你的目标是什么。结果 如果它真的只是保护源,它已经完成了!只要你不包括调试和符号的信息,并添加一些沉重的内联,好运从拆卸的EXE重建一些可用的Pascal代码。结果 如果它阻止人们看到它是如何发挥作用,并攻击它,那么你必须有一定的抗拆机保护。这是很难,但可行的。作为抵押的反盗版保护常做的。

其他提示

这一个CPU可以读,也可以“反编译”,所以没有最终安全性的一切。但通常情况下非常难以反编译的Delphi编译的代码,并且几乎所有的标识符和所有的评论都消失了,当然。

类的发布的零件,DFM文件信息和常数(包括字符串常量)存在于exe文件,以易于可读的方式。您可以通过加密的字符串,而不是减少这个问题发表使用和不使用DFM文件。然而,所有的信息仍然会出现在你的exe文件,所以通常这只会是艰苦的工作,让没有真正的安全。

如果你只是想你的源代码部分难以阅读,让你的算法难...

在结束时,一切都可以被黑客攻击。为了避免被反编译你的应用程序的唯一途径,是保持exe文件从那些可以做到这一点,当你将其部署在自己的服务器上一样遥远,但不会将客户的服务器上。

如果您正在使用德尔福棱镜那么的多的.Net反编译工具之一将使它成为一个简单的任务来获取你的源代码访问(形式)。

的唯一解决方案是使用的众多的.Net混淆工具之一。不幸的是,我不能做一个建议,因为我从来没有使用一个,但谷歌应该给你带路......

如果你的源文件本机Win32那么任何形式的混淆,甚至反调试机制,是非常浪费时间。还有人在那里为你或我阅读我们的母语谁可以读取组件容易。这些东西只减慢逆向工程过程稍微向下(且仅勉强在这一点)。

几年前,我不得不重写应用程序,通过它的开发者有什么抛弃了。

我可以恢复从DFM-S的所有东西,表单(带部件)存储在TxyzQueries查询字符串,从图像列表的位图,某些字符串与反编译,但应用逻辑无法恢复,只有内部asm源程序方法名。

有装载机(如UPX http://upx.sourceforge.net ),什么提取加密后,压缩应用程序的内存并装入开始,但AV的被感染往往标志着这样的应用程序。 :(

您可以写一个小的应用程序那样,一些提示:

www.codeproject.com/KB/cs/LoadExeIntoAssembly.aspx(.NET)  www.joachim-bauch.de/tutorials/load_dll_memory.html(对于DLL-S)

只有具有的被盗 Themida密钥保护应触发防病毒(Win32.Black卡巴斯基例如检测到的)。应用

在一般情况下,你不能真正防止反编译代码。然而,通过使用工具,如代码虚拟器可以保护关键领域,如您安装码解码器。被虚拟化的代码慢得多,并且有一定的限制,但它增加了一个合适的障碍休闲黑客麻烦。这是最好的一个构建脚本这样做,它始终添加版本 - 这样可以确保适当的保护,每次。

我建议从分离保护安装代码顺便说一句,这样就可以随时切换保护,而不必担心现有用户。

最后,Delphi的形式,很容易访问的,但它们通常是不改变是有用的。

一个完整的拆卸从来没有达到我觉得对于本土赢平台。如果不包括在编译时调试符号等,或使用一些工具隐藏这些,这是不太可能你的EXE可以被解码。不知道有关.NET的东西。

一个简单的方法来保护是可执行的运行其作为网上应用程序的互联网服务器。与德尔福和一个 阿贾克斯 图书馆(例如 过测试extpascal, 或支/VCL的网页),这是可以转换的桌面和客户/服务器应用于网络的应用程序。 (实例) -这也使得应用可用于其他操作系统和移动设备。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top