逆向工程师编译过程的逆过程
‘壹’ 逆向工程是怎么实现的能举例吗
逆向工程(又名反向工程,Reverse Engineering-RE)是对产品设计过程的一种描述。在2007年初,我国相关的法律为逆向工程正名,承认了逆向技术用于学习研究的合法性。
在工程技术人员的一般概念中,产品设计过程是一个从设计到产品的过程,即设计人员首先在大脑中构思产品的外形、性能和大致的技术参数等,然后在详细设计阶段完成各类数据模型,最终将这个模型转入到研发流程中,完成产品的整个设计研发周期。这样的产品设计过程我们称为“正向设计”过程。逆向工程产品设计可以认为是一个从产品到设计的过程。简单地说,逆向工程产品设计就是根据已经存在的产品,反向推出产品设计数据(包括各类设计图或数据模型)的过程。从这个意义上说,逆向工程在工业设计中的应用已经很久了。比如早期的船舶工业中常用的船体放样设计就是逆向工程的很好实例。
随着计算机技术在各个领域的广泛应用,特别是软件开发技术的迅猛发展,基于某个软件,以反汇编阅读源码的方式去推断其数据结构、体系结构和程序设计信息成为软件逆向工程技术关注的主要对象。软件逆向技术的目的是用来研究和学习先进的技术,特别是当手里没有合适的文档资料,而你又很需要实现某个软件的功能的时候。也正因为这样,很多软件为了垄断技术,在软件安装之前,要求用户同意不去逆向研究。
逆向工程的实施过程是多领域、多学科的协同过程。
‘贰’ 做编程的朋友们路过请进!!!
晕,朋友这个不就是逆向工程么,是把c\c++的源程序编译生成的机器码,逆向为汇编代码,这个其实个人觉得学起来比较难的,需要很深厚的汇编基础,当然逆向工具也有很多,出名的就是ollydbg,推荐一个论坛,看雪论坛,那边都是讨论这方面知识的,希望对你有帮助
‘叁’ 什么是逆向工程什么是反编译可以根据已经封装好的程序软件进行破解分析出源代码吗
逆向工程就是根据已有的程序来反推出源代码以及原来的工程设置,反编译就是具体的将已经编译好的程序进行反向工程,从而获取部分源代码。一般来说,逆向工程或者反编译是无法百分之百获得源代码的,只能从一定程度上来自源代码进行猜测,因此根据已经封装好的程序软件来进行破解分析出源代码的可能性并不大,逆向工程的意义并不在于破解源代码,而是在于了解软件本身的设计,对于复杂的程序软件而言破解源代码的可能性几乎为零。