黑客能破软件源码吗(黑客能破软件源码吗知乎)
本文目录一览:
- 1、一般黑客用什么工具把人家网站源码拿到手
- 2、为什么无法获得软件源代码?
- 3、上架App Store的App会不会被人破解得到源码
- 4、黑客能破解windows源代码吗
- 5、别人手上有拷贝我的源码,是不是可以随时修改我的软件什么的?
- 6、所有软件都可以被破解吗,为什么开发者不阻止破解版的产生?
一般黑客用什么工具把人家网站源码拿到手
应该都是利用网站漏洞,如最常见的 注入,溢出,漏洞,上传攻击等.
拿到权限后,整台主机都是您的.
当然你想要拿什么就有什么了.
前提.您要懂一些知识.这才有可能.
不然只靠工具.只能画葫芦.没那么简单能办到.
为什么无法获得软件源代码?
编译型软件的源代码几乎无法获取,可以这样子给你解释为什么从理论上无法获取:
源代码需要经过编译之后变成一连串的0和1,这一连串的0和1打包起来,就是我们日常所说的可执行文件,也就是你平时用的软件了。
OK,你想通过可执行文件,也就是这一连串的和0和1逆推回源代码,这几乎是不可能的事情,因为高级语言的源代码和最终生成的0和1不是死死的一一对应关系。高级语言需要先被转为汇编语言,然后汇编语言再转为0和1,汇编语言与0和1是一一对应关系的,但是高级语言和汇编语言就不一定了。
即便是同样的几句高级语言代码,在不同的编译器里面,也完全有可能是完全不同的汇编代码。而且同样逻辑的代码,即便是只有稍微几个关键字的不同,或者是变量的不同,都会产生不同的汇编代码。
所以,由二进制的0,1可执行文件,逆推高级语言,理论上可行,实际上不可行,因为工作量太大。类似大型软件,好几个G的,那是多少亿行的0和1,哪怕是全世界的程序员在一起逆推,都不知道需要多少年可以完全逆向出源代码。
那我们平时所说的逆向工程是什么呢?
OK,其实软件是可以逆向的,但是不是说逆向出真正的源代码,而是逆向出这个软件的汇编代码。但是需要注意,汇编代码在某种程度上并不能成为这个软件的源代码,因为汇编代码量极大,而且不具备良好的可读性,一句普通的高级语言源代码,可能就会生成好几十条汇编代码。所以汇编代码量是极大的。
同时,汇编代码几乎是不具备有架构性的,也就是说,即便你拿到了一个软件的汇编代码,你最多就是稍稍改改一些关键逻辑,比如说注册逻辑(用于破解)之类的,但是你要说通过汇编代码去改这个软件的功能,几乎就是不可能的事情。所以,汇编代码是无法用于开源的,你公开出来了,别人也没精力去看。
上架App Store的App会不会被人破解得到源码
App Store的程序都是已经加密过之后的。虽然黑客高手可以反编译出来伪代码,但是肯定拿不到源码。
黑客能破解windows源代码吗
破解,弄清其原理可以做到,反编译成源代码不现实,况且网上流传着泄露的和微软部分公开的WINDOWS源代码
别人手上有拷贝我的源码,是不是可以随时修改我的软件什么的?
我也是做软件的,你担心的情况是不存在的。
你委托第三方开发的软件,对方有源码是一个正常的事情。
你的软件运行在你的电脑上(服务器上),第三方理论上是拿不到你服务器相关设置的权限,也就无法修改你的软件代码。
即使被黑客攻击,导致服务出现故障,那也是服务器安全设置有问题,需要修复相关漏洞即可。
给你打个比方:一个炉子产出了两个烧饼,你一个,对方一个;他怎么吃他的那个饼,跟你的饼有影响吗?
放心吧,好好做自己的事情,计算对方使坏,你还有法律武器呢。
所有软件都可以被破解吗,为什么开发者不阻止破解版的产生?
并不是所有的软件都可以被破解,只能说所有的程序代码、数据库都在本地的软件可以被破解。比如:“云电脑”、“云手机”。所有的程序代码、数据库都是放在服务器端,本地手机或电脑只有一个负责登录的客户端。
“云电脑”、“云手机”可以将本地的操作指令传输到服务器端的电脑或手机上,所有的程序执行过程均在服务器端的电脑或手机上完成,再通过网络将图像实时的传输回本地,由于现在网速快、延迟低,感觉就像真的在本地操作。
云端软件或系统,所有的代码、数据库、执行过程都是在服务器端,就连登录时账户和密码的验证过程都需要和服务器端的数据库比对。所以这种软件或系统被破解的可能性几乎为零,就算会被攻破也只可能是通过黑客技术或账户、密码、IP地址等敏感信息遭到泄露。为什么说本地的软件、系统都可以被破解?建一栋房子可以要几个月,但如果要拆掉它可能只需要一瞬间。本地的软件、系统也是一样的道理,破解的过程是一个取巧的过程,并不需要知道所有的代码是怎么写的,操作原理是怎样的,怎么执行的,执行逻辑又是什么,只要找到执行权限认证和授权的代码段就可以了。可以让软件一开始执行就跳转到软件的主界面,绕过输入用户名和密码、验证用户名和密码的过程。
也可以让软件的用户名和密码验证模块不管验证成功还是失败都跳转到软件主界面。
经常会去“看雪”论坛逛的小伙伴就知道有各种软件破解的工具和思路。软件破解很早就已经形成了一门学科,并且有一个高大上的名称“软件逆向工程”。
软件逆向工程软件逆向工程是指从可运行的程序系统出发,运用解密、反汇编、系统分析、程序理解等多种计算机技术,对软件的结构、流程、算法、代码等进行逆向拆解和分析,推导出软件产品的源代码、设计原理、结构、算法、处理过程、运行方法及相关文档等。
软件开发出来也会有防篡改技术用于制止专用软件进行逆向工程及再工程。实际应用中出现了两类逆向工程:一种是软件的源代码可用,但是更高层次的部门几乎没有描述文档或描述文档不再适用或丢失。另一种是软件没有可用的源代码,任何能找到它的源代码的努力都被为逆向工程。所以不要把软件逆向工程看成是一种很灰暗的学科,它只是经常被用在投机取巧的人身上罢了。
软件的逆向工程可以使用“净室技术”来避免侵犯版权。在有一些国家软件逆向工程只要遵守版权行业释义法律的合理使用规定,都是受保护的。比如:Samba:由于微软没有公开Windows
文件共享机制的信息,Samba必须做逆向工程,才能在非Windows系统上仿真出同样的行为。Wine:对Windows
API做逆向工程。OpenOffice.org:对Microsoft Office文件格式做逆向工程。
上面只是提供的软件破解的基本思路,让大家更好的理解为什么本地的软件和系统可以被破解。软件逆向工程并没有想象中的那么简单,这门学科需要具备基本的编程能力,掌握外壳原理和技巧,并且对操作系统的知识比较了解。总之就是涉及的知识比较多,学习的东西也会比较多,要熟练掌握这门学科需要花费很长的周期。在逆向工程下,软件的加密技术和注册机制也在不断进化最早的时候,软件只要购买了发行磁盘或光盘就可以使用正版软件。但由于盗版光碟的盛行,演化成了需要输入一串激活密钥才能激活正版权限。很快算号程序就出现了,于是就有了在线验证。
但不管软件的加壳/加密机制多么强悍、注册机制多么完善,只要软件的代码在本地,就一定会被破解,只是时间的长短。以上个人浅见,欢迎批评指正。认同我的看法,请点个赞再走,感谢!喜欢我的,请关注我,再次感谢!