c++ - 阻止程序打开您的程序

标签 c++ vb.net c#-4.0 wpf-4.0

好吧,假设我们不希望 hexworkshop 或 hxd 打开我制作的可执行文件。我该怎么做呢?有可能吗?基本上我正在寻找的是阻止其他程序在不需要我的程序当时打开的情况下打开我的程序。

注意:我确实知道如何终止进程,但只有在程序当前打开时才有效。我想要的是防止程序即使在程序未运行时也能够打开/读取 .exe。

最佳答案

要阻止 Windows 应用程序打开任何类型的文件是不可能的,除非 Windows 本身阻止您这样做。例如通过文件权限等。这几乎没用。也就是说,如果您可以执行该应用程序,您就可以打开并阅读它,因为您需要能够这样做才能运行它。基本上,您的程序是一个文件,操作系统以这种方式对待它。


由于您的目标是防止盗版或窃取您的软件,我听说的一种选择是对代码进行定期程序有效性检查。

大多数黑客只会绕过早期检查以使其运行起来,但如果您的检查分散在整个代码中,黑客就很难绕过这些检查。

另一种选择是使用加密狗。据我了解,您的程序在运行时由软件或加密狗加密和解密。但是,在某些时候它在内存中,因此内存转储将获取软件。

您能做的最好的事情就是让您的代码变得非常困难。但这并非不可能。

不易被窃取的软件的终极目标是不在您的 PC 上运行的软件。例如基于网络的服务。

顺便说一句,如您在评论中描述的那样,自毁或删除 HDD 的软件在大多数国家/地区可能是非法的。

关于c++ - 阻止程序打开您的程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15961036/

相关文章:

c++ - 使用 Visual C++ 将函数标记为没有副作用

vb.net - 向上舍入到下一个 10 vb 的倍数

vb.net - 在 VB.NET ListView 中插入控件

wpf - 如何在 XAML/WPF 中存储和检索多个形状?

c# - 如何在 C#(4.0) 中存储键/值对?

C++ 指针引用、类和指针列表、奇怪的返回

c++ - SDL 在屏幕上显示分数

c++ - std::queue 析构函数慢得要死,bug?

javascript - 如何使用javascript使服务器端的表格行可见?

c# - 如何编写通用扩展方法?