• 请不要在回答技术问题时复制粘贴 AI 生成的内容
matrix67
V2EX  ›  程序员

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

  •  
  •   matrix67 · Apr 20, 2014 · 6186 views
    This topic created in 4439 days ago, the information mentioned may be changed or developed.
    最近研究source insight这个软件已经好久没有更新了,不过他的可用度已经很高了。其注册价格有点贵,200+美刀。不过后来我去主页上看到,M$,intel,amd,三星……你叫的上名字的大公司都在用它,大公司应该都是正版用户吧。如果他有1W+的正版注册,作者应该早就财务自由了,怪不得他跑到另一个星球上度假去了:)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    看到你的回复我潜意识里觉得应该是毛子的,结果还真的是。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   946 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 79ms · UTC 21:11 · PVG 05:11 · LAX 14:11 · JFK 17:11
    ♥ Do have faith in what you're doing.