逆向工程就是根据已有的程序来反推出源代码以及原来的工程设置,反编译就是具体的将已经编译好的程序进行反向工程,从而获取部分源代码。一般来说,逆向工程或者反编译是无法百分之百获得源代码的,只能从一定程度上来自源代码进行猜测,因此根据已经封装好的程序软件来进行破解分析出源代码的可能性并不大,逆向工程的意义并不在于破解源代码,而是在于了解软件本身的设计,对于复杂的程序软件而言破解源代码的可能性几乎为零。
题主的问题跟昵称真对应“计算机新手”,呵呵。
题主只需要略懂些反汇编(别想着什么反编译了,一旦高级语言源代码编译成机器语言后是不可能再反编译回高级语言,网上所谓的“反编译”就是反汇编。另注:Java 能较完美的反编译是因为它是在虚拟机上的)的基本原理,就知道这是不可能实现的了。
注意,这是计算机编译原理(题主大学不是学计算机专业的吧?这门课程可是计算机的专业课哟~)所决定的,不是软件层面上能做到的事情。
用某些工具可以查看出未加壳的程序的界面图像或者封装了哪些API、调用了哪些DLL,因为这些信息往往封装在头文件中,但是得到源代码?还“只要能得到源代码就可以了”?我只能说呵呵。
暴力修改软件运行机制或者分析软件相关算法使免费使用商业软件。称为软件破解。
逆向工程是反汇编程序而分析出软件的源代码。
逆向工程包括
分析恶意软件
分析闭源软件的源代码
分析闭源软件的互 *** 作性
分析编译器产生的代码来验证编译器的性能和正确性(软件注册)
1、一款知名的开源软件,大部分都有自己的官方网站,我们可以从它的官方网站上去下载。
比如,下载linux内核源码,我们可以搜索一下官网,然后去下载。
2、除去官网找代码的方法,我们可以直接使用命令行方式下载发行版的代码。
先查看一个软件工具属于哪一个包,比如,我要下载linux下最常用的一个命令的源码,‘ls’命令。
先查看'ls'命令属于哪一个包。使用命令:#dpkg-S'ls'。
3、通过上面我们看到属于‘coreutils’这个包。然后下载源代码。
使用命令:#apt-get-dsource"coreutils"
这里,我们出现了一个错误,没有指定源码的URI。
4、我们在系统设置中的“软件和更新”这一项,选中源代码。然后就会更新系统源。
5、再次执行第三步骤,下载源码。将下载下来的压缩包解压开,就能找到‘ls'命令的源码了。
以上就是关于什么是逆向工程什么是反编译可以根据已经封装好的程序软件进行破解分析出源代码吗全部的内容,包括:什么是逆向工程什么是反编译可以根据已经封装好的程序软件进行破解分析出源代码吗、怎么才能破解vb的程序 只要能得到破解这个程序的源代码就可以了。、软件破解是什么意思得到源码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)