V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
matrix67
V2EX  ›  程序员

如何让本地程序不被破解?

  •  
  •   matrix67 · 2014-04-20 13:47:45 +08:00 · 5582 次点击
    这是一个创建于 3871 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近研究source insight这个软件已经好久没有更新了,不过他的可用度已经很高了。其注册价格有点贵,200+美刀。不过后来我去主页上看到,M$,intel,amd,三星……你叫的上名字的大公司都在用它,大公司应该都是正版用户吧。如果他有1W+的正版注册,作者应该早就财务自由了,怪不得他跑到另一个星球上度假去了:)

    话说他的防盗版措施其实很不严格,另一款看代码的神器understand也是(授权高达800+美刀)。这么贵的东西为啥不用一把好一点的锁锁起来呢。

    我想了一想,如果程序放在本地的话,不联网,很难不被破解的吧。你一个用户一个序列号,要是有谁把它发到网上去了就没用了。

    要是提取机器某些特征,如mac地址,硬盘序列号,我又可以把它们改掉。

    那就只能用加密狗了,这样做全球化工作又不好做。

    最好是要某一段信息传到服务器中去,服务器再返回结果,理论上讲,桌面软件是不可能不被破解吧。

    所以桌面程序员把程序写的好好的,让大公司都用上,才能不差钱吧。

    哎,感叹一下!
    25 条回复    1970-01-01 08:00:00 +08:00
    cxe2v
        1
    cxe2v  
       2014-04-20 13:58:38 +08:00
    完善的法律制度才是保护不被破解的唯一途径,我之前所在的公司客户都是国外的软件公司,产品也就一个授权码验证一下,而且还是本机验证,可想如果有谁买了一个授权码然后发网上去,全世界都能用,但是老外就没有这么干的,因为这么干了要受到法律制裁!
    akfish
        2
    akfish  
       2014-04-20 15:35:37 +08:00
    你个人用用,人家其实无所谓,在天朝的大环境下,也不能把你怎样对吧,反而还起到推广作用。
    但如果一个企业敢用盗版,呵呵,等着被起诉赔款吧,在天朝也是一样的。
    法律对于企业级的版权纠纷,还是解决得很热情的。
    而这些企业也就只需要斗几个大地主,就够活下去了,更何况别人其实本来合法用户也不少。

    想起之前曾经看到过某行业内论坛扒的事情,说某行业应用开发商A,会定期假装成另一个开发商B的销售人员,给各个公司打电话假装推销他们的产品/做市场调查。
    其中就有一个问题就是:”你们现在有在使用同类产品吗?“
    如果回答是有,而且是A家的产品,别人一看正版用户列表里面没有,第二天律师函就发过去了。
    结果这些公司就只得买N套正版授权,才能避免法律诉讼。

    所以这个故事告诉我们,把羊养肥了,再剪毛,比简单粗暴的上锁可操作性更强,收益更高。
    jsonline
        3
    jsonline  
       2014-04-20 15:53:00 +08:00
    法律
    yangff
        4
    yangff  
       2014-04-20 16:19:38 +08:00
    不可能。
    在中国你也别指望什么法律了,让破解成本>>购买成本吧。
    guoruei
        5
    guoruei  
       2014-04-20 16:21:11 +08:00
    相比之下 copyleft 比较爽,大部分情况下可以随意修改,可以重新打包再发出去。也可以付款给开发者开发新功能。
    tmqhliu
        6
    tmqhliu  
       2014-04-20 16:28:01 +08:00
    行业软件都是有锁的 从国产的 Senselock 到国外的 HASP Sentinel 等等

    但即使这样,也难逃被破解的命运。破解之后,这些人会给软件加上自己的锁——当然都是入门级的那种便宜锁,然后以盗版锁的名义放到淘宝上卖。 一套正版的行业软件,便宜的上万,贵的十万百万都有,淘宝上卖的盗版,只要上百元,这样的盗版仍然是很有销路的,做盗版的人一个月卖几十把锁,也挣了不少钱。

    这些人有点像应用商店里的打包党,以重新打包出售别人的版权作品获利。虽然是违法,但目前的管理仍然是空白。
    dianso
        7
    dianso  
       2014-04-20 16:35:29 +08:00   ❤️ 3
    在程序目录放一个txt文档,写上最恶毒的诅咒就可以,然后找和尚开下光。
    dong3580
        8
    dong3580  
       2014-04-20 16:56:57 +08:00
    @matrix67
    不管桌面程序还是非桌面,只要在需要在本地运行,都需要将资源加载到本地的内存中,都有办法破解,只不过难度不一样。如果害怕破解,可以选择部分开源,核心收费,这样,常见的基本功能免费,针对软件的功能进化不错,针对大众;核心保留授权。
    imsuwj
        9
    imsuwj  
       2014-04-20 17:13:35 +08:00
    让你的程序值得购买。
    qian19876025
        10
    qian19876025  
       2014-04-20 17:17:36 +08:00
    只要是在桌面被破解可行性是很高的 当然要对得起破解的费用

    现在的企业都在做的神码云 就是楼主说的那种 只提供服务 把软件重新安装回 企业的机器

    Google 就是成功的例子 别个提供的服务就让你欲罢不能 从而达到让你付费的 (当然别个是饶了个大弯 向投广告的 要钱) 你普通人看广告
    zakokun
        11
    zakokun  
       2014-04-20 18:18:04 +08:00 via iPhone
    本地程序不可能完全保护的。即使有,那花的成本太高,反而得不偿失。都是靠法律的。
    andrewhxism
        12
    andrewhxism  
       2014-04-20 19:23:14 +08:00
    本地程序不可能,微软的windows和office基本上是这个星球上最高水平的软件了吧,不联网验证都是白瞎。
    yingluck
        13
    yingluck  
       2014-04-20 19:30:33 +08:00
    @dianso 让我想想,能对诅咒开光的,要么是藏传的什么活佛,要么就是街上骗人的假和尚了吧
    wdlth
        14
    wdlth  
       2014-04-20 19:42:49 +08:00
    当年育碧的DRM连育碧自己都觉得恶心……
    还搞“最好是要某一段信息传到服务器中去,服务器再返回结果”这种,用户不会买账的。
    matrix67
        15
    matrix67  
    OP
       2014-04-20 20:16:06 +08:00
    楼主懂了,楼主做了一番research,从技术角度上说,《保护软件着作权要注意避免的思路误区》这篇文章基本把破解-保护的思路都点到了,另外,另一位小哥说道:

    ===
    ECC是防注册机,不是防爆破的。如果所有的软件都使用签名算法,KeyGen这东西基本上就要消失了。
    关于防爆破问题,从理论上说,只要软件可以在机器上正常运行所有功能一次,这个软件就可以有爆破版,因此无论你如何做,也无法防止正版用户的破解。 这也是就是说,随着保密技术的不断加强,Cracker业余爱好者将无软件可pj。
    因为pj模式会变成这样:
    1、D版商或Cracker业余爱好者从软件作者那里购得软件正确的注册码或Keyfile
    2、实行pj
    3、将pj版发布到网上供他人下载
    因为要涉及到购买环节,所以说Cracker为了自己的爱好,很难不和盗版商勾结。(不幸)

    我认为彻底解决这个问题只有Server-Client模式
    将关键代码做成接口,放在服务端。客户端只有输入正确的用户名和密码,服务器才会运行这个接口,并将结果返回给客户程序。当然客户端增多,会加大服务器的负担。
    这样所有的Cracker就要转行当hacker了。
    ==

    以上基本上是桌面软件所有反破解方法了。

    其实根源上,就是yuange1975的那个思想,安全是一个条件语句,而反盗版也是一个条件语句的检查,爆破总可以找到这个条件语句,而你的反制措施就是花大力气做检查(术语称为暗桩),付出的代价是软件结构化问题,效率问题,稳定性问题等等。

    为了保护好利益,一是开发面向版权意识比较发达国家为目标用户的软件,对于行业软件,则需要做大做强,拿起法律的武器~
    shierji
        16
    shierji  
       2014-04-20 20:40:13 +08:00
    我总感觉。本地的程序应该都难保不被破解吧。。。
    66450146
        17
    66450146  
       2014-04-20 21:17:15 +08:00
    原谅我又把这个例子搬出来了

    Oracle 做得最绝,什么注册码都不用,几百万授权费花出去,让你去官网下载。。。。
    sandtears
        18
    sandtears  
       2014-04-20 21:19:52 +08:00
    便宜的东西加大破解难度,不会有人为了破解一百人民币的软件忙上一下午吧?

    贵点的东西就靠法律途径来保护。
    jarnanchen
        19
    jarnanchen  
       2014-04-20 22:08:13 +08:00
    我一直不能理解为什么没有一款面向C++编辑器可以超越SI,SI已经那么久没更新了,那个界面我看了都难受。
    C++的程序员都比较守旧么难道?
    alexapollo
        20
    alexapollo  
       2014-04-20 22:31:11 +08:00
    @jarnanchen SI是全语言的。

    另外,我觉得VS比SI好太多了。。
    Mutoo
        21
    Mutoo  
       2014-04-20 23:19:01 +08:00
    自己写个虚拟机,然后用自己的汇编指令,然后让GCC兼容你这套汇编指令,最后让你的程序运行在这个虚拟机上。
    davidli
        22
    davidli  
       2014-04-21 04:15:19 +08:00
    太深的东西不懂,但直觉上同样认为“桌面软件是不可能不被破解”
    确实还是要靠法律。
    曾经我有两个学长在工作之后用盗版软件, 被工作单位发现后跟我学校反应了。 从此我们大四多了一门计算机行业道德规范的必修课。
    xsziran
        23
    xsziran  
       2014-04-21 07:39:04 +08:00
    我见到的软件中唯一没被破解的只有xrumer这个软件,有高手搞了破解但不是真正的破解,而是把软件装在虚拟机中打开软件激活然后大虚拟机镜像。这样软件只要不关闭就可以用 一旦关禁闭不能用了。
    yangff
        24
    yangff  
       2014-04-21 08:12:38 +08:00
    @matrix67 只要有人的地方就有漏洞,hacker和cracker没有本质区别。
    WildCat
        25
    WildCat  
       2014-04-21 08:44:36 +08:00 via iPhone
    @xsziran

    看到你的回复我潜意识里觉得应该是毛子的,结果还真的是。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5935 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 02:58 · PVG 10:58 · LAX 18:58 · JFK 21:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.