您是否曾使用代码虚拟器或vmprotect来防止逆向工程?

时间:2008-12-10 00:01:02

标签: reverse-engineering cracking

我知道没有办法完全保护我们的代码。 我也知道,如果用户想要破解我们的应用程序,那么他或她不是购买我们的应用程序的用户。 我也知道改善我们的应用程序更好..而不是害怕防裂技术。 我也知道没有商业工具可以保护我们的应用.... 我也知道......

确定。足够。我听到了一切。 我真的认为增加一点保护不会受到伤害。

所以....你曾经使用过来自oreans或vmprotect的代码virtulizer吗? 我听说他们有时会被某些杀毒软件检测为病毒。

在购买之前我应该​​注意的任何经验。 我知道它会创建一些虚拟机并对代码进行模糊处理,以便更难找到注册例程的弱点。

我应该知道有什么警告吗?

感谢。 任何建议将不胜感激。

杰格

3 个答案:

答案 0 :(得分:9)

以我的拙见,你应该是幸运的,甚至渴望被盗版,因为这意味着你的产品是成功和受欢迎的。

这是不正确的。我工作了很多个月的软件在它发布的那一刻就破解了。有组织的破解小组通过download.com的RSS频道等提供支持,并破解出现的每个应用程序。提取任何应用程序的keygen代码是一块蛋糕,所以我的回答是:

a)使用无法伪造的数字证书密钥文件,因为它们由私有AES密钥签名并由应用程序中嵌入的公共密钥验证(请参阅:aquaticmac.com - 我使用跨平台的stl c ++实现,以及。

b)优秀的 Code Virtualizer™。我会说,当我开始使用 Code Virtualizer™时,我收到一些或两个用户关于应用程序崩溃的投诉。当我从他们的构建中删除它时,崩溃停止了。尽管如此,我不确定CV本身是否存在问题,因为它可能是我的代码中一个模糊不清的错误,但我自从重新调整了我的代码,之后我没有听到任何抱怨。

以上之后,不再有裂缝。有些人认为这是一个积极的事情,因为它是一个免费的宣传渠道,但这些人通常没有花费数月/数年的时间只是发现你被扯掉了。很难接受。

答案 1 :(得分:6)

不幸的是,受传统保护的软件比传统的打包软件更容易受到误报的影响。其原因在于,由于AV保护非常复杂,AV软件通常无法分析受保护的代码,并且可能依赖于模式库,或者可能对由其无法分析的系统保护的任何文件发出通用警告。如果您的首要任务是消除误报,我建议选择一种广泛使用的保护解决方案,例如: AsProtect(虽然Oreans的产品也变得非常受欢迎)。

答案 2 :(得分:3)

软件虚拟机保护在当今非常流行,特别是因为它现在以小公司和独立软件开发商可以获得的价格提供。与非VM技术相比,它还需要花费大量精力才能破解 - 封装器通常具有其他保护所具有的标准反调试技巧,以及VM保护。由于虚拟机是在每次构建时随机生成的,因此破解者需要分析VM指令集并将受保护的代码反向工程回到机器代码。

VM保护的主要缺点是,如果过度使用(用于保护代码的过多部分),它可能会大大减慢您的应用程序 - 因此您只需要保护关键部分(注册检查等) 。它也不适用于某些应用程序类型 - 它可能不适用于用于注入的DLL以及设备驱动程序。

我也听说过StrongBit EXECryptor是一个体面的保护套餐,价格不错。 (我与上述公司没有任何关系,也不保证任何质量,只是口口相传,值得一看IMO)。