所有软件都能破解吗?为什么开发者不阻止破解版本?
20世纪,没有互联网的时候!软件用光盘把代码写在不可复制的扇区,然后给你一个密码。光盘安装的时候会根据这个代码生成相应的密码,这个密码是软件公司给你的。破解方法是绕过密码,就是破解版!
20世纪末,互联网诞生了!一般软件采用网络注册,电脑使用。比如Photoshop8.0,你装上之后,机器会随机生成一个25位数的数字。只要发到网站上,网站会通过计算生成一个新的25位数字发给你。所以你可以用它。这个生成过程后来被名为“解码器”的解码计算软件的发明所破解。
3.21世纪软件网代码!21世纪,由于网络发达,大部分软件应该是随时随地联网的。于是我通过手机号申请了一个唯一的密码。每次启动软件都要识别地址、手机号等信息!密码在多台机器或多处使用时,会自动失效。这是我们爱奇艺会员的密码!因为这是一个一对多的绑定密码,而且一直是联网的,很长一段时间都很难免费使用。破解是不可能的!
三次,从无法应对破解软件到现在的网络软件,都没有办法破解。历史在进步!
首先,可以肯定的是,所有的软件都可以被破解,只是破解的成本不同。连IOS都能破解越狱,更别说Windows了。国内正版Windows的专业版真的不多。
为什么开发者不停止生产破解版?因为无法阻止。
爆破是一种简单的破解方法。我们可以破解软件的可执行文件,通过逆向工程重新编译,达到破解的目的。
比如我们有一个软件,每次输入注册码都会去一个网站验证。如果通过验证,它将返回一条指令。软件得到这个指令后,就相当于注册成功了。重新编译后,我们可以修改这个地址,改成自己构建的破解地址,但是无论我们键入什么,都会返回一个成功的指令,这样就可以达到破解的目的。
当然我们也可以修改验证的处理逻辑,比如用户输入错误的注册码,验证通过,也可以达到破解的目的。
另外,通过写注册机破解。所有的软件验证都有固定的逻辑算法。只要理解了这个算法,就可以根据验证码的生成逻辑,编写注册机并生成正确的注册码,利用这个注册码完成注册。
破解的方式很多,针对不同的软件会有不同的破解方式。对于开发者来说,自然不希望自己的软件被破解,所以增加了很多防破解的方法,但是这些方法都会有漏洞,因为这些防破解的方法其实就是一个软件,只要是软甲就可以被破解。
所有软件都能破解吗?为什么开发者不阻止破解版本?这个问题从以下几个方面回答。
第一,所有软件都可以破解,无非是破解的难度和价值,决定了破解者的数量。
这个问题有点类似于锁定和解锁。只要有一定的技巧和努力,可以说几乎所有的锁都可以不用钥匙打开。
第二,为什么开发者不阻止破解版?
举个例子。几年前,微软的老板说,我知道中国人喜欢偷(软件盗版),即使这样,我还是希望他们偷我们的软件。
这句话说明了一个道理,在某种程度上,大多数软件开发者更希望有人破解自己的产品,有人使用自己的盗版产品。
这是为什么呢?
其实这有两个作用。
第一个影响是盗版软件的流行可以打击其竞争对手。如果打击盗版太严厉,没人用盗版,那么他们竞争对手的产品很可能会乘虚而入,占领市场。比如windows,如果盖茨打击盗版,很可能国产操作系统会借机发展。如果对盗版听之任之,一个很重要的作用就是让用户形成习惯,堵住国产系统发展的机会。
第二个影响是他们有了新的赚钱方式。
比如现在绝大多数使用操作系统的电脑都可以联网,盖茨很容易就知道哪些机器使用的是盗版系统。如果一些小公司敢用盗版,他们会收集证据,然后给这些公司发律师函。你使用盗版的证据已经收集完毕,你要么支付10000元购买我们的购买许可证,要么作为被告上法庭。在这种情况下,可以说大概率是败诉,而且数量非常大。虽然很多软件公司不是靠盗版赚钱的,但是可以通过这种方式发财。
软件升级和破解是矛和盾的关系。具体分析如下:开发者保护自己的软件是常有的事,但应该不会有开发者觉得自己的软件无法破解。
首先你要明白,开发软件的首要目的绝对不是“保护软件不被破解”。这只是作者为了维护自己的合法权益而做出的无奈之举。加很多安全保护代码来保护软件,然后开发出来的软件都变成了网络防火墙之类的东西,是得不偿失的。
所有的加密方式都不能完全保证安全性,但破解者破解软件会考虑“效费比”。比如我破解这个软件很麻烦,可能需要我连续工作一个星期,但是这个软件只要十块钱,所以我一般不考虑浪费这个时间去破解。
另外,破解软件会破坏软件的完整性,导致一些功能异常甚至无法使用。作者只需要保护核心功能,破解后曲解这些功能(比如全程加密保存的文件)。破解这个软件,要求破解者与当前领域的开发者具有相同的技术水平。
我们又跑题了,但这很重要。有人曾经把Hacker和Cracker相提并论,但是两者的区别非常大。黑客专注于网络传输技术和操作系统,破解者专注于编译技术和底层语言;黑客不一定是为了盈利,但破解肯定是为了盈利;黑客可以有朋友也可以有敌人,但是破解会损害大家的利益(盗版猖獗会严重制约软件行业的发展,比如Windows盗版满天飞,想开发另一个系统通过卖系统收回成本的人基本是痴人说梦)。
最后总结一下。WPS的领军人物求伯君曾经说过:有人盗版他的软件,说明这个软件是被认可的。一个开发者不可能不考虑盗版的问题,但是你的软件只有先有人用才会有价值。软件保护和软件破解是一对矛和盾,敌人的存在可以让我们时刻保持警惕。
程序从调试模式,即单步。运行中的程序也可以被捕获并进入调试模式。只要找到一些关键的判断点,把程序转过来,就可以破解。
不是所有的软件都能破解。只能说所有的程序代码和数据库都在本地软件里。
比如:“云电脑”“云手机”。所有的程序代码和数据库都放在服务器端,本地手机或电脑只有一个客户端负责登录。
“云电脑”和“云手机”可以将本地的操作指令传输到服务器端的电脑或手机上,所有的程序执行过程都在服务器端的电脑或手机上完成,然后通过网络将图像实时传回本地。因为网速快,延迟低,感觉像真正的本地操作。
对于云软件或系统来说,所有的代码、数据库和执行过程都在服务器端,甚至登录时的账号和密码的验证过程都需要和服务器端的数据库进行比对。所以这类软件或系统被破解的可能性几乎为零。即使被攻破,也只能通过黑客技术或账号、密码、IP地址等敏感信息泄露。
为什么本地软件和系统可以被破解?盖一栋房子可能需要几个月,但拆掉它可能只需要一瞬间。本地软件和系统也是如此。破解过程是一个棘手的过程。不需要知道所有的代码是怎么写的,运行原理是怎样的,是怎么执行的,执行逻辑是什么。只需找到执行权限认证和授权的代码段。
你可以让软件一执行就跳转到软件的主界面,绕过输入和验证用户名和密码的过程。
也可以让软件的用户名密码验证模块无论验证成功与否都跳转到软件的主界面。
经常去“雪看”论坛的朋友都会知道,软件破解有各种各样的工具和思路。软件破解作为一门学科由来已久,有一个高大上的名字“软件逆向工程”。
软件逆向工程
软件逆向工程是指利用解密、反汇编、系统分析、程序理解等各种计算机技术,对软件结构、过程、算法、代码进行逆向反汇编和分析,推导出软件产品的源代码、设计原理、结构、算法、处理过程、操作方法及相关文档。
软件开发时,还会有防篡改技术,阻止专用软件的逆向工程和再工程。逆向工程在实际应用中有两种情况:一种是软件源代码可用,但上级部门几乎没有描述文档或描述文档不再适用或丢失。另一种是软件没有可用的源代码,任何寻找其源代码的努力都被称为逆向工程。所以不要把软件逆向工程当成一门灰暗的学科,它只是经常用在投机取巧的人身上。
软件的逆向工程可以使用“洁净室技术”来避免侵犯版权。在一些国家,软件反向工程只要遵守《著作权产业解释法》的合理使用条款,就受到保护。例如:
以上只是软件破解的基本思路,让大家更好的理解为什么本地软件和系统可以被破解。软件逆向工程没有想象的那么简单。该科目需要具备基本的编程能力,掌握shell原理和技巧,对操作系统知识有较好的理解。总之涉及的知识更多,要学的东西也更多。熟练掌握这门学科需要很长时间。
在逆向工程下,软件的加密技术和注册机制也在不断进化。最早的时候,软件只要购买了发行盘或光盘,就可以使用正版软件。但由于盗版光盘的盛行,演变成了需要输入一串激活码才能激活正版权限。很快计数程序出现了,于是有了网上验证。
但是,无论软件的外壳/加密机制多么强大,注册机制多么完善,只要软件的代码是本地的,就会被破解,只是时间长而已。
以上个人观点,欢迎批评指正。
关键是值不值得。如果现在做软件功能需要100天,那再花5天就很难被破解了。那我可能会做。如果再花五天时间让它几乎牢不可破。我可以选择不做。因为可能这部分价值不大。
如果我叫聚英,去一个国家推广软件,这个国家还有一个叫UPS的东西跟我的软件很像。我现在最想做的就是先杀了他,甚至不考虑我的推广人自己的推广费用。到时候我不仅不会做反破解,还可能会主动支持这些推手。
毕竟盗版是有风险的,新手可能会找破解版,但功能肯定不够流畅,用不上。真正需要的专业用户还是愿意花钱买正版的。
一个软件出来,破解版也是一种营销宣传手段。如果是直接收费,用户去哪里下载体验?
的确,所有软件都可能被破解,包括支付宝、微信等国民应用。
分析:黑客破解软件一方面是为了向开发者炫耀技术、炫耀技能,另一方面是为了获取利益。2019天猫双十一24小时遭遇22亿次恶意攻击。是不是说天猫是铜墙铁壁,没有漏洞?不完全是。这个级别的应用会配备专业的安全团队,从技术上过滤掉大部分“新手黑客”。顶级黑客毕竟是少数,一般不屑做这种事。同时,他们也考虑到法律的威慑力。国家级应用被黑不是小事,谁也不敢保证自己能全身而退。有句话叫“满瓶水不晃,半瓶水起波澜”。可以说,双十一攻击天猫的黑客,基本都是“半瓶水”的水平。虽然天猫经受住考验并不容易,但这并不奇怪。
一般的应用软件就不用说了,开发者把大部分心思都花在了功能研究上,在安全性上也做到了极致。如果他们想做得更好,就必须建立专门的安全团队,但这样会增加很多开发成本。即便如此,也不能保证软件零漏洞。所以在黑客眼里,大部分软件无异于“裸奔”。
总结:网络上出现很多破解版本的软件,是因为有些人版权意识不够强,抱着侥幸心理在做违法的事情。不是开发者不制止,而是维权成本高,软件开发者基本视而不见。破解软件是软件业发展的绊脚石。正版软件免费谁来买单?如果开发者赚不到钱,谁还会用心开发软件?这是一个无限循环。但随着人们版权意识的逐步提高,以及我国版权监管的不断完善,这种情况将会得到很大改善。我们普通人要做的就是支持原创。