TechTarget信息化 > 百科词汇

reverse engineering:逆向工程

逆向工程(reverse engineering)是指剖析一个物体看它如何工作,目的是为了复制或增强这个物体。它是一个从较旧工业拿来的实践,现在时常在计算机硬件和软件上使用。举例来说,在汽车业中,一个厂商可能购买竞争者的车辆,分解它,而且检查车辆焊接处,封铅和车辆的其他成份,以达到使用类似的部件增强他们的汽车的目的。

  软件逆向工程(software reverse engineering)包括使程序的机器代码(被送到逻辑处理器的一串 0 和 1 的字符串)反向回到被写入的源代码,使用程序设计语言声明。软件逆向工程可能想要达到如下目的:因为原代码遗失,所以想要重新得到程序的原代码;研究程序如何运行特定的操作;改善程序的性能;修复一个程序错误(当原始码不可得的时候,改正程序的一个错误);识别在一个程序内的恶意的内容,像是病毒;或改编为一个微处理器写的程序以适应一个设计不同的微处理器。为复制程序这唯一的目的的逆向工程构成违反版权并且是违法的。在一些情形中,软件的得到许可的使用明确地禁止逆向工程。

  做软件逆向工程的人可能使用一些工具分解一个程序。一个工具是十六进位倾卸装置,它以十六进位的格式(这比二进位的格式容易读)印刷或显示程序的二进位数字。藉由知道代表处理器指令的位的形式和指令长度,逆向工程师能识别一个程序的特定部分看到他们如何工作。另外的通常工具是分解器。分解器读二进位的代码然后以文本形式显示每个可执行的指令。一个分解器不能够分辨在可执行的指令和被程序使用的数据之间的不同,所以调试器被用,它允许分解器避免分解程序的数据部分。这些工具可能被一个解密高手用来修改代码并且得到对一个计算机系统的进入权或引起其他的伤害。

  硬件逆向工程(hardware reverse engineering)包括拆开一个装置看它如何工作。举例来说,如果一个处理器厂商想要见到竞争者的处理器如何工作,他们能购买竞争者的处理器,分解它,然后制造一个相似的处理器。然而,这一个过程在许多国家中是违法的。大体上,硬件逆向工程需要很多的专业技术并且相当昂贵。

  另一种逆向工程涉及产生已制造的零件的3-D图形(当它的蓝图不可得的时候)以便再制造这个零件。为了对一个零件进行逆向工程,这个零件用坐标测量器(CMM)测量。当它被测量时,一个3-D 线框架图像被产生并在一个监视器上显示。在测定完成后,线框架图像被度量。使用这些方法任何的零件能够进行逆向工程。术语前向工程有时被用来对比逆向工程。

最近更新时间:2008-06-17 作者:Arleigh CrawfordEN

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐