服务与支持 |咨询热线 0931-8733767
  • 金城在线
  • 公司简介
  • 发展历程
  • 企业文化
  • 售后服务
  • 工作机会
  • 联系我们

软件能被破解的原因

来源:发布时间:2017-12-4 10:31:35

        比喻来说的话,每个存在你的电脑上的软件就像是一本用某种奇怪的外语写的超级长的教程,这份教程的作用是告诉你的电脑应该做些什么事、怎么做。

        虽然是用奇怪的外语写的,而且非常非常长(那些大型软件可以想象成有几十亿甚至几百亿页),但毕竟是一本在你电脑上的书,你能查阅你也能篡改。对普通人来说可能太过于庞大和复杂而且读不懂,但是对于具有相关知识的人是可以找到特定的部分、篡改之,来实现改变软件功能的目的的。

        由于截至目前软件还是必须要在本地运行的,所以说到底,软件破解面对的壁垒仅仅是复杂度,不存在得不到全本书的困难。即便是需要联网验证,甚至需要联网下载代码、内容的软件,最终这些代码还是会存在本地的,因为不在本地就不能运行。

        至于破解过程,基本上说就是专业人员花一些时间找到在哪里修改,然后尝试理解这些关键部分都做了什么,最后做出绕过验证的修改。有时候他们只要读懂软件序列号是如何验证的,然后自己写这么一本书来生成可以通过验证的序列号。有时候他们干脆整个去掉这本书里关于验证的章节。所有那些联网验证、加密验证的破解也只是复杂一些,需要替换较多处验证点而且还需要破解加密,且加密往往比较复杂。但不等于不能破解。

        所以此处反对一些答案说存在不可破解的软件。只要软件还是需要在本地运行的,你就总能获得这本书的所有内容。即便用加密独立硬件存储部分关键代码,这部分代码也是可能被攻破的,毕竟它们还是在你的电脑上,只是存在另外的地方有一些保护而已。这些保护本身其实是脆弱的,因为非关键代码还是要访问这些代码的,所以访问的方法就会被破解者知道。

        我能想到唯一理论上可能无法破解的软件模式就是将关键代码放在某种特殊设备内运行,且这个设备通过独立的加密网络连接中心服务来获得代码,只对软件的其他部分开放输入参数和输出结果。但即便这样做,还是存在被破解的可能。

        顺便说到这个可以去说Intel的可信计算平台(Intel® Trusted Execution Technology)。这是目前民用的唯一一种接近于阻止破解的平台,原理是通过完全验证的执行链来防止被篡改的软件被执行。但是,这种方法仍然不能阻止破解者通过系统外的方法来绕过验证,例如伪造可验证的序列号,伪造验证服务器等。


相关文章
  • 预约专家

    为您提供一对一解决方案
    立即预约
  • 售前咨询

    周一至周五9:00——17:30
    立即咨询
  • 联系方式

    13919049954

    全国7×24小时热线服务
  • 免费报价

    专属专业顾问1对1报价
    免费报价