gpt4 book ai didi

c - 可执行文件的加密

转载 作者:行者123 更新时间:2023-11-30 20:12:15 25 4
gpt4 key购买 nike

是否可以加密 .exe 文件,以便用户只能执行该文件,而不允许读取或打开该文件?

我知道 C/C++ exe 文件很难反编译,但为了提高安全性,我想实现这一点。

这可能吗?

如果您需要有关我的要求的更多详细信息,请告诉我。

我想用C语言来实现这个。

最佳答案

是的,从最宽松的意义上讲,这是可能的。

为了执行代码,CPU 需要查看纯文本。所以你必须提供二进制文件中的 key 。加密和打包代码段的唯一远程有效方法是在功能边界处对它们进行加密和解密,并且只有在进入功能时进行解密,然后在离开功能时进行重新加密。这将为在运行时转储二进制文件提供一个小障碍,但必须与强大的混淆相结合,这是一种非常常见的技术,坦率地说,欺骗了许多习惯于打包可执行文件或“< em> stub ”加密方案。

当您隐藏信息时,重要的是信息在运行时也被很好地隐藏。有能力的逆向工程师将在程序运行时检查程序的状态。因此,使用加载时解密的静态变量或使用加载时完全解压的打包将导致快速查找。请注意在堆上分配的内容。所有堆操作都通过 API 调用进行,并且可以轻松记录到文件中并进行推理。堆栈操作通常更难跟踪,因为它们非常频繁。动态分析与静态分析同样重要。您需要始终了解您的程序状态以及哪些信息位于何处。

听起来您的目标是保护您的可执行文件,为此,您更直接的目标应该是确保逆向工程师几乎不可能找到稳定的心理基础。你泄露的信息越少,环境变化越大,研究就越困难。如果您不是经验丰富的逆向工程师,那么设计难以逆向工程的东西几乎是不可能的。

关于c - 可执行文件的加密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36540074/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com