所以我试图了解对我编写的程序进行加密的过程。它是如何工作的。当您加密某些内容时,可以在没有密钥的情况下运行该可执行文件吗?有没有使用过的钥匙? 如果您可以解释这一点或添加一些很棒的链接。
答案 0 :(得分:0)
有许多不同的方法来保护代码。它们都属于DRM(数字版权管理)类别。
这些是我想到的:
加密,实际上是修改字节码,使其仅在提供密钥或密码后才能执行。
混淆,将代码重新排列为仍然可以完全执行的方式,但是手工反向操作很繁琐,因为有意将代码排列为非标准/混乱的顺序。
屏蔽,保护已加载到运行时内存中的活动代码。这可以通过另一个执行带有校验和的实时内存检查的进程来完成。或者可以通过内存代码加密将密钥存储在内存中,只有应用程序知道在哪里找到它。
DRM的选择太多了,以至于我很难挑选出此处列出的所有实现。一个简单的google搜索应该可以帮助您指出实际的实施方向。