让我解释它是什么样的。 我想要一个安装在PC上的程序,但除非你插入存储程序某些部分的USB驱动器,否则你无法运行它。 所以重点是,如果你没有PC和USB驱动器,程序是没用的。 既然我希望它在Windows中运行,那么我应该使用哪种语言的.NET和C#?
我可以用Python完成吗?
答案 0 :(得分:4)
如果您正在尝试执行此操作以进行复制保护或许可证管理,则可以使用非常困难(但仍然不是不可能)的商业解决方案。对于您来说,开发一些强大的东西最终会使您获得的成本高于从Pace或Aladdin或其任何竞争对手那里获得解决方案的成本。
答案 1 :(得分:4)
商业解决方案通常具有带有微芯片的(usb)设备,可以进行公钥加密。这排除了伪装设备。
实施例: 程序生成质询代码,用公钥加密 - >设备使用密钥(存储在微芯片中)对其进行解密,然后将质询代码提交给验证码。
攻击者只能攻击程序和设备之间的通信或直接攻击程序。这是代码混淆,按需代码解密,......发挥作用。非常复杂:)并且没有系统100%安全。
答案 2 :(得分:2)
答案 3 :(得分:1)
如果您可以在插入USB驱动器后继续启动程序,那么它非常简单。 您可以将实际执行程序的代码放在一个单独的模块中,该程序在PC上运行的程序部分导入(例如使用imp module),然后启动主要部分(即是从USB驱动器导入的。)
答案 4 :(得分:1)
要回到OP的问题,您肯定需要我们的加密狗(Wibu-Systems),Aladdin(现在是SafeNet的一部分),KeyLok或类似的产品。每个人都有利弊。例如,我们的系统从未被破解,并且对VM的许可证违规提供了保护。
价格各不相同。
我知道我们的产品和SafeNet将允许您使用C ++,C#和Python编写应用程序,因为它们正在加密您的最终二进制文件(主要是它们不关心它是如何创建的)。需要进行一些研究;我列出的所有供应商都有免费的SDK,可以为您提供实际的硬件设备以及测试应用所需的工具。
要自己滚动,或检查USB闪存驱动器的SN,几乎肯定会有问题。 SN很容易破解和伪造。良好的软件保护设备将大量的思想,开发时间和技术融入到一个简单的小工具中。您也可以编写自己的BIOS或构建自己的主板,但为什么要这么麻烦?