逆向工程

✍ dations ◷ 2025-08-27 10:03:44 #逆向工程
逆向工程(Reverse engineering),又称反向工程,是一种技术过程,即对一项目标产品进行逆向分析及研究,从而演绎并得出该产品的处理流程、组织结构、功能性能规格等设计要素,以制作出功能相近,但又不完全一样的产品。逆向工程源于商业及军事领域中的硬件分析。其主要目的是,在无法轻易获得必要的生产信息下,直接从成品的分析,推导产品的设计原理。逆向工程可能会被误认为是对知识产权的严重侵害,但是在实际应用上,反而可能会保护知识产权所有者。例如在集成电路领域,如果怀疑某公司侵犯知识产权,可以用逆向工程技术来寻找证据。需要逆向工程的原因如下:随着计算机辅助设计的流行,逆向工程变成了一种能根据现有的物理部件通过CAD、CAM、CAE或其他软件构筑3D虚拟模型的方法。逆向工程的过程采用了通过测量实际物体的尺寸并将其制作成3D模型的方法,真实的对象可以通过如CMMs,激光扫描仪,结构光源转换仪或者X射线断层成像这些3D扫描技术进行尺寸测量。这些测量数据通常被认作是点云,缺乏拓扑信息并且同时通常会被制作成更有用格式例如多边形网格,NURBS曲线或者CAD模型。由于点云本身并不像3D软件里的模型那样直观,所以如同3-matic(英语:Materialise NV)、Imageware、PolyWorks(德语:PolyWorks)、Rapidform(法语:Rapidform)或者杰魔公司等这些软件都提供了将点云变成能可视图像,或者被其他应用软件如3D CAD、CAM、CAE识别的格式的功能。反向工程同时会被需要将真实的几何体应用在虚拟的数字开发环境中的商业活动中应用,比如将自己产品或者竞争者的三维数据数字化。通过这种手段可以分析出产品的运作方式,部件构成,估计预算和识别潜在的侵权行为等。价值工程也是商业中应用的类似手段。不过价值工程的目的是通过反构造和分析产品来找到节省开销的办法。由于“逆向工程”一词用在软件工程(简称“软工”)领域中的具体含义模糊不清,Chikofsky和Cross为此写了篇文章,以阐清及区分“逆向工程”与各种相近的概念。据文章所述,逆向工程是一种分析目标系统的过程,其目的是识别出系统的各个组件以及它们之间的关系,并以其它的形式或在较高的抽象层次上,重建系统的表征(Representations)。 软件逆向工程也可被视作“开发周期的逆行”。 在此定义下,对一项软件程序进行逆向工程,类似于逆行传统瀑布模型中的开发步骤,即把实现阶段的输出(即软件程序)还原回在设计阶段所做的构思。软件逆向工程仅仅是一种检测或分析的过程,它并不会更改目标系统(否则就成了软件再工程)。软件防篡改技术被用于遏制对专有软件进行逆向工程及再工程。实际应用中出现了两类逆向工程。第一种,软件的源代码可用,但是更高层次的部分几乎没有描述文档或者描述文档不再适用或者丢失。第二种,软件没有可用的源代码,任何能找到它的源代码的努力都被称为逆向工程。大部分人都熟悉这个词的第二种用法。软件的逆向工程可以使用净室技术来避免侵犯著作权。软工中的黑盒测试与逆向工程有很多共同点,但黑箱测试人员常供以API以作测试,并且测试的目的就是通过外部攻击,找出程序漏洞和未归档的特性。逆向工程的其他目的包括:安全审查、 解除复制保护(又称破解)、绕过消费类电子产品中常设有的访问限制、定制嵌入式系统(例如引擎管理系统)、产品内部修补或更新、给功能不全的廉价硬件(例如某些显卡芯片组)添加额外功能,或仅为满足好奇心。对最终程序的二进制代码所进行的逆向工程被称为“代码反向工程”,或简称RCE(Reverse Code Engineering)。例如,我们可以用Jad对Java平台的二进制码进行反编译。一个著名的逆向工程案例是,首个由非IBM公司所实现的IBM个人电脑中的BIOS,这开创了IBM PC兼容机产业,使得IBM PC兼容机成为多年来的主流计算机硬件平台。一个以软件逆向工程为乐的团体例子是CORE(Challenge Of Reverse Engineering,意为“挑战逆向工程”)。在美国,软件逆向工程只要遵守著作权法的合理使用规定,都是受保护的。成功的软件逆向工程项目有:软件逆向工程有多种实现方法,主要有三:许多UML工具涉及到导入源代码生成UML图,即“逆向工程”。分析智能卡的逆向工程具有侵入性和破坏性,智能卡被层层刮掉用电子显微镜拍照。这种技术可以完整地揭示出智能卡的硬件和软件部分。主要的问题就是,把所有的东西按正确的顺序放好以找出每一个部件是如何工作的。工程师们用打乱内存位置的方法隐藏密码和操作,例如busscrambling。有时甚至可以在智能卡运行的时候用探针直接测量电压,设计师则用感应器来检测和防止。破坏支付业务中使用的智能卡很困难,只有大芯片制造商使用那些专业的设备。况且,和其他安全机制例如阴影帐户相比,这种方法回报太低。逆向工程经常被用在军事上,用来复制从战场上由常规部队或情报活动获得的别国之技术、设备、信息或其零件。二战和冷战中经常被用到。二战以来的著名例子有:在美国及其他许多国家,制品或制法都受商业秘密保护,只要合理地获取制品或制法就可以对其进行逆向工程。专利需要把你的发明公开发表,因此专利不需要逆向工程就可进行研究。逆向工程的一种动力就是确认竞争者的产品是否侵权专利或侵犯著作权。为了互用性(例如,支持未公开的文件格式或硬件外围),而对软件或硬件系统进行的逆向工程被认为是合法的,虽然专利持有者经常反对并试图打压以任何目的对他们产品进行的逆向工程。为了获取一个有著作权的计算机程序中隐含的思想和功能元素且有合法的理由要获取,当只有拆解这一种方法时,根据法律判定,拆解是对有著作权作品的合理使用。

相关

  • 气胸气胸(英语:pneumothorax),又称肺膜穿、爆肺,系指空气不正常地积聚在肺部与胸壁(英语:chest wall)之间的胸膜腔,典型症状有突发性单边胸部刺痛发作和呼吸困难,少部分案例中,受损的组织区
  • 食道癌食管癌指的是发生在食道的癌症。常见的症状包括吞咽困难与体重减轻,其他症状还有吞咽疼痛、沙哑(英语:Hoarseness)、锁骨周边淋巴结肿大、干咳、以及咳血或吐血。有两大类食管癌
  • 关于化学品注册、评估、许可和限制法案《关于化学品注册、评估、许可和限制法案》(REACH,Registration, Evaluation, Authorization, and Restriction of Chemicals)是欧洲联盟关于进入欧盟市场的所有化学品强制要求
  • 谷氨酸脱氢酶谷氨酸脱氢酶是变构酶的一种,该酶通过氧化脱氢、转氨、联合脱氢和非氧化脱氢,等反应在体内产生。其中以联合脱氢最为重要,它催化可逆反应。EC 1.1/2/3/4/5/6/7/8/9/10/11/12/13
  • 特伦蒂诺-上阿迪杰特伦蒂诺-上阿迪杰(意大利语:Trentino-Alto Adige,发音:,德语:Trentino-Südtirol; 拉登语:Trentin-Südtirol),非正式名称特伦蒂诺-上阿迪杰/南蒂罗尔,是意大利北部的一个自治区。自
  • span class=chemf style=white-space:nowrap;Csub7/subH庚烷的化学式为C7H16,烷烃中的第七个成员。有9种同分异构体,若考虑到光学异构则有11种同分异构体:其中大多数存于石油的汽油馏出物中。其直链化合物是正庚烷CH3(CH2)5CH3(沸点98
  • 松叶蕨纲瓶尔小草亚纲(Ophioglossidae)是链束植物四个亚纲之一。本亚纲已知有松叶蕨科和瓶尔小草科两科,分属松叶蕨目和瓶尔小草目两目。松叶蕨纲是其他蕨类植物(包括合囊蕨科与木贼科)的
  • 金矿金矿开采是指从富含金的地层中开采黄金的过程。目前有多种技术可以从地层中开采出黄金,最原始的方法是淘金。目前工业上多用氰化法提纯金,但氰化物有毒,因此正在开发新的提金试
  • 北象海豹北象海豹(学名:Mirounga angustirostris)是两种象鼻海豹之一,属于海豹科。它们是两性异形的,雄象鼻海豹平均长4米及重2300公斤,而雌象鼻海豹则长3米及重640公斤。它们是高度一夫多
  • 蔡伦蔡伦(63年-121年),字敬仲,东汉桂阳郡耒阳(今湖南省耒阳市)人。他改进了东汉时的造纸技术,扩大了造纸原料的来源,把树皮、破布、麻头和鱼网这些废弃物品都充分利用起来,降低了纸的成本,