C++ Exe Encryption?

C++ Exe Encryption?

本文关键字:Encryption Exe C++      更新时间:2023-10-16

我需要加密microsoftvisualc++编译器为我制作的exe文件吗?我有一个用几个库制作的游戏,我已经加密了所有的资源,但我担心有人闯入exe并更改代码,这可能吗?

没有办法制造出无法破解的软件。如果它在用户机器上,理论上用户可以完全控制它。

你能做的就是让人们更难破解。你正在寻找的是所谓的"可执行压缩"。Armadillo就是这样做的,UPX也是。

一个完整的PE格式打包程序列表可以在这里找到。

要加密压缩资源,您可以使用带有支持加密的归档格式的LZMA SDK。不过要小心你试图隐藏加密密钥的地方。就像他们说的,"你可以跑,但你不能躲":)

欢迎来到DRM的丑陋世界

无论您将使用哪种技术,如果您将可执行文件和资源同时交付给最终用户并且值得这样做,那么它们最终将被破解,而您对此无能为力。你可能只会增加解密过程的难度,但增加安全性只会影响合法用户,而且你会浪费你的时间,你可以把这些时间花在改进软件上。

苹果程序员肯定比你我强,但他们所有的iphone最终都被破解了。

这没什么意义。为了执行程序,必须在内存中对其进行解密,因此解密后的代码将保存在可以转储的内存中。

但是,您可以对您的可执行文件签名(有关详细信息,您可以阅读本文)。当可执行文件被签名时,它的完整性受到保护,最好的部分是大多数操作系统(包括Windows)都支持这一点。如果可执行文件被修改,操作系统可以检测到篡改,并且不会启动它(或者至少警告用户)。