当前位置:主页 > 大话特码 >

为什么无法获得软件源代码?

发布时间:2019-09-10   浏览次数:

  现在黑客那么多,针对各类软件的破解也很多(比如各种盗版软件,苹果系统破解等等),但为什么至今没看到哪个黑客说破解了某个软件的源代码,并使一个非开源的软件成为开源软件(真正...

  现在黑客那么多,针对各类软件的破解也很多(比如各种盗版软件,苹果系统破解等等),但为什么至今没看到哪个黑客说破解了某个软件的源代码,并使一个非开源的软件成为开源软件(真正意义上的永久破解)?是哪些因素阻碍了软件源代码的获取?理论上就不可能,还是说客观条件限制(比如计算机处理速度),还是技术没达到?

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  展开全部编译型软件的源代码几乎无法获取,可以这样子给你解释为什么从理论上无法获取:

  源代码需要经过编译之后变成一连串的0和1,这一连串的0和1打包起来,就是我们日常所说的可执行文件,也就是你平时用的软件了。

  OK,你想通过可执行文件,也就是这一连串的和0和1逆推回源代码,这几乎是不可能的事情,因为高级语言的源代码和最终生成的0和1不是死死的一一对应关系。高级语言需要先被转为汇编语言,然后汇编语言再转为0和1,汇编语言与0和1是一一对应关系的,但是高级语言和汇编语言就不一定了。

  即便是同样的几句高级语言代码,在不同的编译器里面,也完全有可能是完全不同的汇编代码。而且同样逻辑的代码,即便是只有稍微几个关键字的不同,或者是变量的不同,都会产生不同的汇编代码。

  所以,由二进制的0,1可执行文件,逆推高级语言,理论上可行,实际上不可行,因为工作量太大。类似大型软件,好几个G的,那是多少亿行的0和1,哪怕是全世界的程序员在一起逆推,都不知道需要多少年可以完全逆向出源代码。

  OK,其实软件是可以逆向的,但是不是说逆向出真正的源代码,而是逆向出这个软件的汇编代码。但是需要注意,汇编代码在某种程度上并不能成为这个软件的源代码,因为汇编代码量极大,而且不具备良好的可读性,一句普通的高级语言源代码,可能就会生成好几十条汇编代码。所以汇编代码量是极大的。

  同时,汇编代码几乎是不具备有架构性的,也就是说,即便你拿到了一个软件的汇编代码,你最多就是稍稍改改一些关键逻辑,比如说注册逻辑(用于破解)之类的,但是你要说通过汇编代码去改这个软件的功能,几乎就是不可能的事情。所以,汇编代码是无法用于开源的,你公开出来了,别人也没精力去看。追问恩,大致明白了,那就是说理论上讲可以实现,不过现在的超级计算机不是每秒多少万亿次的计算速度么,那么为啥连一个小软件(比如QQ这种只有一两百兆的软件)的源代码也没见“被开源”过呢?难道逆推过程不能通过一定的模式交由计算机完成么?必须人工?追答呵呵,计算机只能处理固定逻辑的运算。从0和1到汇编代码这一步,计算机的运算可以完成。现在也有很多逆向软件,可以帮助你把可执行文件逆向成汇编代码,普通的个人电脑就可以,不需要超级计算机。

  但是从汇编代码到高级语言这一步,涉及到的是人类的智慧和智能了,计算机并不能处理(目前的计算机),也许未来人工智能发展到极致了,可以模拟人脑了,说不定就可以处理了。呵呵,目前世界上最强大的人工智能模拟,大致相当于三岁儿童的智商。

  逆向汇编语言到高级语言这一步,需要的是一个至少30岁,拥有10年以上高级汇编经验的专家。

  这么说吧,逆向汇编语言到高级语言,这一步,可以打个比方相当于解高等数学题,需要记忆,需要逻辑,需要推理。目前的计算机并不具备人类这方面的智能,再快的运算速度,也只能够是对既有逻辑模型上说的。

  然后你说了一个QQ的例子,呵呵。其实QQ在05年,最晚07年之前,是曾经有大神逆向出了QQ的源代码的,因为当时的QQ很小很迷你,也很简单。不过当时的逆向,也不属于真正的逆向,只是逆推出了QQ的大致逻辑和代码。

  但是今天的QQ,恐怕是几乎没有人能够再逆向出来了。QQ虽然只有200MB左右,但是QQ经历了十余年的发展。甚至可以这么和你说,QQ代表了中国目前最高软件水准的PC软件之一。

  QQ中运用到的技术,是非常先进和强大。而且整个QQ的软件架构,是极为复杂的。前几天才出来一个新闻,QQ达到了2亿人同时在线亿人同时在线,这是一个什么概念。这个世界上除了QQ,就再也没有任何一款即时通讯软件能够支持2亿人同时在线亿,这个数字即便是放在大型数据库上,例如oracle上,也都是一个不小的数字了。QQ的技术已经堪比移动,联通这类的基础通讯架构了。

  很多人黑QQ,但是从专业角度去评判QQ,QQ的技术经历10年的积累,是无数顶尖软件工程师和程序员的智慧和心血结晶。更是腾讯的重要财产,所以QQ主动开源几乎是不可能的事情,就像是windows一直没有开源一样。金算盘

  况且,未来的软件趋势是云,客户端软件的比重会越来越少,就像QQ,QQ强大的不仅仅是它的客户端,更是它的后台,超大规模的服务器和数据库集成架构。

Copyright 2017-2023 http://www.lv3824.com All Rights Reserved.

金财神开奖| 抓码王彩图| 香港赛马会| 同福心水论坛| 红姐图库电信主图库| 手机报码室现场报码| 码会特供资料| 管家婆心水| 一肖一码| 彩霸王心水| 黄大仙主论坛| 管家婆| 白小姐心水论坛| 大丰收心水论坛| 一肖中特|