创业 我的软件防破解解决方案,如何推广?请大家支招

sound_of · 2013年05月23日 · 最后由 sound_of 回复于 2013年05月26日 · 4717 次阅读

目前我和朋友有一个软件防破解的解决方案,具体内容请参阅 www.niantang.cn/nvm

该技术依赖加密锁或网络服务器,大家都知道,普通的 usb 加密锁和验证服务器都是很容易被破解的,但采用该技术后破解难度大幅提升。众所周知,没有破解不了的软件。对于一般的软件,一个熟悉破解的人可能几天就能搞定,但采用此技术后,对于破解牛人也起码需要几个月才可能破解。

目前有几个客户采用了该解决方案,其中包括销往中国的国外企业,他们的产品是 ERP 系统。

个人觉得可以用在局域网系统、网络软件、手机软件上。比如 ERP,比如手机软件,比如行业软件等。

大家觉得应该如何推广这款解决方案啊

可以像 chrome 什么的,办一个黑客大会,让人去破解他 如果破解了,奖励多少 即是宣传,也是改进自己技术的机会

不过前提是对自己的产品有信心

靠关系呗 还能咋

玩过破解,你的想法太理想了 网络验证神马的是最好爆破的情形之一

话说,玩加密却不玩破解,跟闭门造车一样一样滴

#3 楼 @leopku 一般的网络加密是好破解,破解也分难度,我们的产品就是使原先好破解的东西更难破解。

可以去业内的一些论坛注册几个账号,然后发帖询问别人如何推广

感觉你现在就是在推广

特殊定制的方案就是,知道的人越少越安全...

楼主给出一个加密后的 Demo 让大家玩玩呗;)

#7 楼 @luikore 没错,我们现在就是自己定制的虚拟机,也准备想客户提供定制的虚拟机,通过这种方式大幅提高破解难度。

#7 楼 @luikore 知道的人越少不代表越安全,其实往往意味着更不安全,除非你已经是该领域的顶尖人物了

软件为什么要防破解?

为什么要加壳?太恶心了

#10 楼 @bhuztez 一个闭源方案是不能指望别人贡献 pull request 的,还是越推广越不安全...

#13 楼 @luikore 但是,你落后时代太多的话,就算完全保密也是白搭

#14 楼 @bhuztez 基于 VM 的壳已经出现 N 年了,自己也写过。不知道 LZ 的壳 是否可以加密一个程序,让大家看看吧;)

#16 楼 @skandhas 看我贴的那个地址,要是是强的那种,还是很恶心的

#16 楼 @skandhas 我觉得加壳不是个好主意。假设可写的页不能执行的话,就直接运行不了了。要是允许可写的页可执行,那是拿客户的安全换厂商臆想的安全,不划算啊。

#14 楼 @bhuztez 论文里提的 VMProtect 是经典的虚拟壳了,刚出来时,保护强度高。现在的版本应已被破解圈里基本搞定了。 我觉得大多数的软件根本没有加壳的必要,花费大量精力放在防破解上,不如好好提高软件质量;) 倒是有些专有领域的软件,有可能需要保护一下,但是,破解版也会很快就出现的。

#19 楼 @skandhas 不如自己放假冒破解版...

#20 楼 @bhuztez 哈哈,这也是不错的思路咧,又学习到新东西了。

提价大搞 SaaS 才是人类的希望吧........

#23 楼 @bhuztez 果真是个好思路!👍

#16 楼 @skandhas 我们不是加壳工具,基于 VM 的加壳工具是有,但因为广泛使用,而且又是通用的而非定制的,所以现在保护效果有效。我们的产品是针对各个用户定制的。

大家觉得给一些收费的手机游戏和手机应用做保护可行吗?有没市场。

#26 楼 @sound_of 呵呵,我曾经也有这个想法。只是加壳后的 App 能放在 App Store 上去卖吗?

额,声明一下,不是加壳。我们是对核心算法提取然后进行保护。

人呢人呢

#28 楼 @sound_of 如何保护?混淆?

ruby 代码可以自己替换说有的变量名为 a,b,c,d 这种不?也算是混淆了

#30 楼 @bhuztez 不是。让他无法从汇编代码中找到关键点。

软件未来的趋势是和云端的数据结合在一起。未来不联网的软件没有什么价值,或者降低价值。另外一个大趋势软件基本开源,公司买拷贝基本不会挣到钱。楼主搞的东西和潮流向背,推广起来估计不是太容易。一点冷水,仅供参考。

#28 楼 @sound_of 程序应该不需要一直在线吧

#34 楼 @hpviewer 如果是采用服务器认证方式,当然服务器要一直开着。如果是 usb 加密锁认证,就是程序启动时候认证一下。

#32 楼 @sound_of 为啥找不到?你又不加壳,又不混淆...

一般破解都是看反汇编代码来找到需要修改的地方,我定义了自己的语法语义,你看不明白我的代码也就没法修改了。

#37 楼 @sound_of 难道你最终的二进制里不需要有解释器来解释执行你的代码?

我有自己的虚拟机

#39 楼 @sound_of 虚拟机的代码不需要出现在发布的二进制文件里面?

这是一种基于虚拟机的保护机制,为用户定制虚拟机

#41 楼 @sound_of 就是说,你怎么防止我直接把二进制文件改了,把你所谓的虚拟机整个拿掉,直接跳到真正的功能那里开始执行

关键代码都是在远端的,你拿掉虚拟机软件是不能工作的。

#43 楼 @sound_of 原始软件的功能在二进制文件里吧,你既不加壳又不混淆,凭什么我不能跳过你的虚拟机呢

好,我来解释一下。首先我的关键代码在远端(USB 锁或者远程服务器)中,虚拟机和远端进行通信。你要破解,除非你能尝试写出关键代码,这样软件才能运行。而你如果绕过虚拟机,是没法写出关键代码的,因为虚拟机和远程通信着。

同样,绕过虚拟机,本地没有关键代码,软件无法运行。

关键代码是什么东西,我把我软件里面某一部分代码拿掉?

对,有软件本身的代码改写而成,通常是一些条件语句。

#45 楼 @sound_of 这也太不方便了,没有 usb 或者你远程服务器 down 掉,或者用户没网络,那软件就不运行了?

首先,现在的技术足以解决服务器不 down 机的问题,比如你无论什么时候访问百度都是可访问的。至于 USBkey,很多软件都是支持的,比如很多行业软件。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号