逆向工程,有的人也叫反求工程,英文是reverse engineering。 逆向工程(reverse engineering)大意是根据已有的东西和结果,通过分析来推导出具体的实现方法。比如你看到别人写的某个exe程序能够做出某种漂亮的动画效果,你通过反汇编、反编译和动态跟踪等方法,分析出其动画效果的实现过程,这种行为就是逆向工程;不仅仅是反编译,而且还要推倒出设计,并且文档化,逆向软件工程的目的是使软件得以维护。
产生动机 需要逆向工程的原因如下:
●接口设计。由于互操作性,逆向工程被用来找出系统之间的协作协议。
●军事或商业机密。窃取敌人或竞争对手的最新研究或产品原型。
●改善文档。当原有的文档有不充分处,又当系统被更新而原设计人员不在时,逆向工程被用来获取所需数据,以补充说明或了解系统的最新状态。
●软件升级或更新。出于功能、合规、安全等需求更改,逆向工程被用来了解现有或遗留软件系统,以评估更新或移植系统所需的工作。
●制造没有许可/未授权的副本。
●学术/学习目的。
●去除复制保护和伪装的登录权限。
●文件丢失:采取逆向工程的情况往往是在某一个特殊设备的文件已经丢失了(或者根本就没有),同时又找不到工程的负责人。完整的系统时常需要基于陈旧的系统上进行再设计,这就意味着想要集成原有的功能进行项目的唯一方法,便是采用逆向工程的方法,分析已有的碎片进行再设计。
●产品分析:用于调查产品的运作方式,部件构成,估计预算,识别潜在的侵权行为。
作用 逆向工程被广泛地应用到新产品开发和产品改型设计、产品仿制、质量分析检测等领域,它的作用是: 1、缩短产品的设计、开发周期,加快产品的更新换代速度; 2、降低企业开发新产品的成本与风险; 3、加快产品的造型和系列化的设计; 4、适合单件、小批量的零件制造,特别是模具的制造,可分为直接制模与间接制模法。直接制模法:基于RP技术的快速直接制模法是将模具CAD的结果由RP系统直接制造成型。该法既不需用RP系统制作样件,也不依赖传统的模具制造工艺,对金属模具制造而言尤为快捷,是一种极具开发前景的制模方法;间接制模法:间接制模法是利用RP技术制造产品零件原型,以原型作为母模、模芯或制模工具(研磨模),再与传统的制模工艺相结合,制造出所需模具。
逆向工程的应用领域
汽车工业 如汽车车身、内饰件设计等
航天工业
电动工具及消费电子产品
模具行业 如模具修改,制鞋业等
人体工程 如特种服装的设计
文物保护修复
医学科技 如假肢制造、人体量测、医疗器材制作等