有没有完美的方法来保护可执行文件?

逆向工程 包装工 复制保护
2021-07-06 06:52:19

我尝试了UPX、ASPack等保护器,但似乎我的应用程序保护较弱。

保护程序的最佳方法是什么?使用打包机还是其他什么?

至少对于初学者来说;因为我想在这个星球上没有专家无法逆转的完美保护。

2个回答

不,那里没有。您可以使逆向工程变得更难,但如果有足够的动力对您的应用程序进行逆向工程,您实际上无法做任何事情来使其不可能。专业的恶意软件研究人员通常会对比公开发现的任何内容都复杂得多的内容进行逆向工程。

从理论上讲,使用完全同态加密是可能的,但实际困难使得它在实践中变得不可能和不可取,即使它在理论上是可能的。

至于最好的保护方法,我想说的是首先消除对其进行逆向工程的动机。我会更具体,但尚不清楚您要防御哪种攻击者。

答案是否定的。如果需要,您所做的任何保护仍然可以得到改进。

这个问题有点不清楚,因为可能有许多不同的保护措施。- 防止逆向工程 - 防止在错误的计算机上执行 - 防止复制 - 防止修改。- ...无论哪种方法最适合一个目的,对于其他目的可能并不适合。当你知道你所反对的是什么,你真的处于更好的境地来做出很好的保护。

您也可以说没有完美的保护,因为任何保护都可能被破坏。但这也许并不重要:也许以今天的计算机速度来阻止特定保护的时间与宇宙的年龄相似?也许保护就足以保护您的可执行文件,直到不再需要保护。也许它已经足够好,以至于攻击者在成功之前就放弃了?也许这让它变得足够困难,以至于攻击者选择在另一个程序上工作。也许它在发布后几分钟内就坏了......

实践中:除非您是经验丰富的保护工程师或非常优秀的黑客和逆向工程师,否则您的保护将在极短的时间内被破坏。另一方面,如果你明白你在做什么:知道编译器生成什么,知道什么很难逆向工程,知道要保护的程序,知道机器架构,从一开始就建立保护,或者使用一些专业的保护工具,了解应用程序的性能要求,您可以或多或少地将所有人拒之门外。对此有一些争论。在保护最终被破解之前,保护者因想太多而犯错;逆向工程师错误地认为这太容易了。实际上,当您创建高端保护时,您可能永远不会知道,因为高端产品的攻击者不会告诉您他们是否/何时成功。

有很多工具可以帮助进行保护,这些工具的价格范围从免费到天文数字。我不知道这个讨论列表是否允许我命名公司。如果您想找出我的或其他任何人,请使用谷歌进行防篡改。