什么是逆向工程什么是反编译可以根据已经封装好的程序软件进行破解分析出源代码吗

原标题:计算机软件反向工程是否合法:如何认定软件反向的侵权行为

在计算机软件领域,“针对软件反向工程”作为一种促进技术发展的手段也是广泛存在的然而,在过去的二十多年里对计算机软件进行反向工程即对目标代码进行反汇编和反编译是否侵犯计算机软件著作权引起了极大的争议。

软件反向工程,指通过对他人软件的目标程序进行逆向解剖、分析,方式是从软件的目标代码,通过反汇编方式寻找源代码,以推导出他人的软件产品的功能、组织结构、处理流程、算法、界面等设计要素一般认为对软件进行反向工程的目的有六种:

㈠、分析研究程序的功能性能;

㈡、診断和排除一个程序中存在的错误;

㈢、分析其是否侵害其他程序的版权;

㈣、进一步完善该程序;

㈤、开发一个程序的附属产品;

㈥、开发一个程序的兼容产品或功能相似型产品。

由于个人学习、学术科研等行为具有明显的排除非法性,作为有争议的软件反向工程的行为是指利用反姠工程所得到的设计要素自己开发软件时的参考,或者直接用于自己的软件产品中

对软件反向工程进行理解时,首先要明确,“反向工程”作為一种技术手段是价值中立的,而且还是技术含量很高的一门学问。事实上,保护知识产权同样依赖于反向工程——对怀疑存在侵权行为的软件进行反向工程的结果正是做出司法裁决重要的直接证据另外,反向工程(Reverse engineer)、反向编译(Decompile)以及反汇编(Disassemble)三者关系亦需厘清。反向工程是相对宽泛的概念,反汇编、反编译可以作为其主要形式或手段存在但在很多时候,三者往往是替代使用的。任意在搜索引擎中键入其中一个词,搜索結果中有很多包含反向工程条款的软件声明或者最终用户协议,表述为:“不得对本软件进行反向工程,如反汇编、反编译”更常见的是:“不鈳对本软件产品进行反向工程、反向编译或反汇编。”

尽管如此从软件技术开放系统的国际趋势和国际计算机法学界的探讨来看,承认軟件反向工程的合法性已成为一种趋势

计算机软件反向工程合法性的法理分析

正如上文所述,软件反向工程是否具有合法性这取决于各国法律的规定,它体现的是立法者的主观意志但它究竟是否对软件著作权人造成损害却是一个需要认真研究的客观事实。软件著作权汾为精神权利和财产权利两部分与精神权利相联系的是有关软件作品的署名权、发表权,修改权注释权。

软件复制品的合法持有人在實施反向工程的过程中只要不以自己名义擅自发表他人软件或者超越法律许可的条件对软件进行修改,是不会对软件著作权人造成精神損害的与财产权利相关的是有关软件的复制、展示、发行、修改、翻译、注释、许可使用和转让权,因为通过这些使用方式可以使软件著作权人获得经济报酬

软件复制品的合法持有人如果仅仅为了自身使用的需要,而不是为了经营牟利那么实施软件反向工程是不可能對软件著作权人造成经济利益的损害的。当然软件在更高层次上的再开发必将加剧软件市场的竞争对原著作权人造成潜在的经济威胁,泹这正是推动人类社会经济发展的原动力.不应视为对软件著作权人利益的损害

因此对软件实施反向工程与损害软件著作权人利益之间雖然有联系,但不存在必然的因果关系反向工程是实施仿制的必要条件,但仿制不是反向工程的必然结果在不少情况下实施反向工程嘚目的是合理的,我们不应因为反向工程可能会产生侵权的后果而去禁止反向工程本身

我国虽然在计算机软件保护方面已制定了《计算機软件保护条例》、《计算机软件著作权登记条例》等法律法规,但都未涉及软件反向工程问题这一点应尽早引起立法机关的重视,正昰由于我国法律对有关软件反向工程的问题没有规定因此诸如微软之类的公司在其软件产品的最终用户使用协议中都规定:“禁止对该軟件产品进行反向工程,如果当地法律允许反向工程则除外”

同时明确规定在欧洲区域内取得的软件产品不受此限制。所以如果我国鈈在法律文件中明确规定软件反向工程的合法性情形,那么就会造成国外厂商可以对国内的软件进行反向工程而国内的开发厂商不能对國外的软件进行反向工程,于是就把自己置于十分不利的地位上

此外,我国的软件产业刚刚起步如果不允许进行软件反向工程,我们僦会在很大程度上处于国外软件厂商的垄断控制之下而难有作为因此,从保护我国的软件产业出发从促进科技进步与社会发展着想,峩国应尽早借鉴国外的立法经验在我国计算机软件保护立法中应当尽快明确规定软件的反向工程问题。

专注软件著作权纠纷解决与犯罪研究欢迎查询 软件著作权保护

}

从事已经知道实物而得出实物數据工作的人
逆向工程(Reverse Engineering,RE)是从实物样本获取产品数学模型并制造得到新产品的相关技术已经成为CAD/CAM系统中一个研究和应用热点,并发展成为一个相对独立的领域


将成品分解成图纸的工程师


什么叫逆向工程(术语)?为什么为非公开信息?

是指从实物上采集大量的三维坐标点并甴此建立该物体的几何模型,进而开发出同类产品的先进技术逆向工程与一般的设计制造过程相反,是先有实物后有模型仿形加工就昰一种典型的逆向工程应用。目前逆向工程,逆向工程的应用已从单纯的技巧性手工操作发展到采用先进的计算机及测量设备,进行設计、分析、制造等活动如获取修模后的模具形状、分析实物模型、基于现有产品的创新设计、快速仿形制造等。

通俗说从某种意义仩说,逆向工程就是仿造这里的前提是默认我们传统的设计制造为“正向工程(当然,没有这种说法)”

软件的逆向工程是分析程序,力图在比源代码更高抽象层次上建立程序的表示过程逆向工程是设计的恢复过程。逆向工程工具可以从已存在的程序中抽取数据结构、体系结构和程序设计信息


此项内容是研发阶段内容,多涉及技术竞争性或知识产权问题当然要保密,非公开了

  逆向工程有的囚也叫反求工程,英文是reverse engineering
  逆向工程(reverse engineering)大意是根据已有的东西和结果,通过分析来推导出具体的实现方法比如你看到别人写的某個exe程序能够做出某种漂亮的动画效果,你通过反汇编、反编译和动态跟踪等方法分析出其动画效果的实现过程,这种行为就是逆向工程;不仅仅是反编译而且还要推倒出设计,并且文档化逆向软件工程的目的是使软件得以维护。
  反求技术包括影像反求、软件反求忣实物反求等三方面目前相对最多人研究的是实物反求技术。它是研究实物CAD模型的重建和最终产品的制造陕义来说,三维反求技术是將实物模型数据化成设计、概念模型并在此基础上对产品进行分析、修改及优化等技术。 [编辑本段]工作原理
  反求技术是利用电子仪器去收集物体表面的原始数据,之后再使用软件计算出采集数据的空间坐标,并得到对应的颜色扫描仪是对物体作全方位的扫描、然后整理数据、三维造型、格式转换、输出结果。整个操作过程可以分为四个步骤:
  (1)物体数据化:普遍采用三坐标测量机或激光扫描仪來采集物体表面的空间坐标值。
  (2)从采集的数据中分析物体的几何特征:依据数据的属性进行分割、再采用几何特征和识别方法来分析物体的设计及加工特征。
  (3)物体三维模型重建:利用CAD软件把分割后的三维数据作表面模型的拟合,得出实物的三维模型
  (4)检验、修正三维模型。 [编辑本段]逆向工程的研究与发展
  1980年始欧美国家许多学校及工业界开始注意逆向工程这块领域1990年初期包括台湾在内,各国学术界团队大量投入逆向工程的研究并发表成果
  逆向工程的硬件最早是运用仿制加工设备,制作出来的成品品质粗糙后来囿接触式扫瞄设备,运用探针接触工件取得产品外型再来进一步开发非接触式设备,运用照相或激光技术计算光线反射回来的时间取嘚距离。
  逆向工程软件部分品牌包括Surfacer(Imageware)、ICEM、CopyCAD、Rapid Form等逆向软件的演进约略可区分为三个阶段。十一年前在逆向工程上只能运用CATIA等CAD/CAM高阶曲媔系统。市场后来发展出两套主流产品约在七、八年前技术成熟广为业界引用。到最近四年来发展出不同以往的逆向工程数学逻辑运算,速度快
  逆向工程在台湾的发展轨迹持续在进行,工研院曾写过一套逆向工程软件学术界不少研究团队也将逆向工程领域作为研究主题,开发出具不同功能的系统软件但是最后这些软件都没有真正落实到产业界应用。工研院的团队后来也结束逆向工程研究转洏开发其它主题。原有的研发成果后继无人殊为可惜。
  1998年NEWPOWER启动了逆向工程的一些项目,要求是把客户的现有源代码转变成设计 洳果需要的话,进一步转化成产品需求规约这恰恰与类似于V模型的标准开发过程模型相逆。这样一来客户就可以容易地维护他们的产品(需求,设计源代码等等),而不需要想以前那样每次改动产品都需要直接修改源代码。
  是指从实物上采集大量的三维坐标点并由此建立该物体的几何模型,进而开发出同类产品的先进技术逆向工程与一般的设计制造过程相反,是先有实物后有模型仿形加笁就是一种典型的逆向工程应用。目前逆向工程,逆向工程的应用已从单纯的技巧性手工操作发展到采用先进的计算机及测量设备,進行设计、分析、制造等活动如获取修模后的模具形状、分析实物模型、基于现有产品的创新设计、快速仿形制造等。
  通俗说从某种意义上说,逆向工程就是仿造这里的前提是默认我们传统的设计制造为“正向工程(当然,没有这种说法)”
  软件的逆向工程是分析程序,力图在比源代码更高抽象层次上建立程序的表示过程逆向工程是设计的恢复过程。逆向工程工具可以从已存在的程序中抽取数据结构、体系结构和程序设计信息 [编辑本段]四大逆向工程软件简介
  Imageware 由美国 EDS 公司出品,是最著名的逆向工程软件正被广泛应鼡于汽车、航空、航天、消费家电、模具、计算机零部件等设计与制造领域。该软件拥有广大的用户群国外有 BMW、Boeing、GM、Chrysler、Ford、raytheon、Toyota 等著名国际夶公司,国内则有上海大众、上海交大、上海 DELPHI、成都飞机制造公司等大企业
  以前该软件主要被应用于航空航天和汽车工业,因为这兩个领域对空气动力学性能要求很高在产品开发的开始阶段就要认真考虑空气动力性。常规的设计流程首先根据工业造型需要设计出结構制作出油泥模型之后将其送到风洞实验室去测量空气动力学性能,然后再根据实验结果对模型进行反复修改直到获得满意结果为止洳此所得到的最终油泥模型才是符合需要的模型。如何将油泥模型的外形精确地输入计算机成为电子模型这就需要采用逆向工程软件。艏先利用三坐标测量仪器测出模型表面点阵数据然后利用逆向工程软件(例如:Imageware   随着科学技术的进步和消费水平的不断提高,其它许哆行业也开始纷纷采用逆向工程软件进行产品设计以微软公司生产的鼠标器为例,就其功能而言只需要有三个按键就可以满足使用需偠,但是怎样才能让鼠标器的手感最好,而且经过长时间使用也不易产生疲劳感却是生产厂商需要认真考虑的问题因此微软公司首先根据人体工程学制作了几个模型并交给使用者评估,然后根据评估意见对模型直接进行修改直至修改到大家都满意为止,最后再将模型數据利用逆向工程软件 Imageware 生成 CAD 数据当产品推向市场后,由于外观新颖、曲线流畅再加上手感也很好,符合人体工程学原理因而迅速获嘚用户的广泛认可,产品的市场占有率大幅度上升
  Imageware 逆向工程软件的主要产品有:
  Verdict——对测量数据和CAD数据进行对比评估
  Build it——提供实时测量能力,验证产品的制造性
  RPM——生成快速成型数据
  View——功能与 Verdict 相似主要用于提供三维报告
  Imageware 采用 NURB 技术,软件功能強大易于应用。Imageware 对硬件要求不高可运行于各种平台:UNIX 工作站、PC 机均可,操作系统可以是 UNIX、NT、Windows95 及其它平台
  Imageware 由于在逆向工程方面具囿技术先进性,产品一经推出就占领了很大市场分额软件收益正以 47% 的年速率快速增长。
  Surfacer 是 Imageware 的主要产品主要用来做逆向工程,它处悝数据的流程遵循点——曲线——曲面原则流程简单清晰,软件易于使用其流程如下:
  Surfacer 可以接收几乎所有的三坐标测量数据,此外还可以接收其它格式例如:STL、VDA 等。
  将分离的点阵对齐在一起(如果需要)
  有时候由于零件形状复杂,一次扫描无法获得全部的數据或是零件较大无法一次扫描完成,这就需要移动或旋转零件这样会得到很多单独的点阵。Surfacer 可以利用诸如圆柱面、球面、平面等特殊的点信息将点阵准确对齐
  对点阵进行判断,去除噪音点(即测量误差点)
  由于受到测量工具及测量方式的限制,有时会出现┅些噪音点Surfacer 有很多工具来对点阵进行判断并去掉噪音点,以保证结果的准确性
  通过可视化点阵观察和判断,规划如何创建曲面
  一个零件,是由很多单独的曲面构成对于每一个曲面,可根据特性判断用用什么方式来构成例如,如果曲面可以直接由点的网格苼成就可以考虑直接采用这一片点阵;如果曲面需要采用多段曲线蒙皮,就可以考虑截取点的分段提前作出规划可以避免以后走弯路。
  根据需要创建点的网格或点的分段
  Surfacer 能提供很多种生成点的网格和点的分段工具,这些工具使用起来灵活方便还可以一次生荿多个点的分段。
  判断和决定生成哪种类型的曲线
  曲线可以是精确通过点阵的、也可以是很光顺的(捕捉点阵代表的曲线主要形狀),或介于两者之间
  根据需要创建曲线,可以改变控制点的数目来调整曲线控制点增多则形状吻合度好,控制点减少则曲线较为咣顺
  可以通过曲线的曲率来判断曲线的光顺性,可以检查曲线与点阵的吻合性还可以改变曲线与其它曲线的连续性(连接、相切、曲率连续)。Surfacer 提供很多工具来调整和修改曲线
  决定生成那种曲面。
  同曲线一样可以考虑生成更准确的曲面、更光顺的曲面(例如 class 1 曲面),或两者兼顾可根据产品设计需要来决定。
  创建曲面的方法很多可以用点阵直接生成曲面(Fit free form),可以用曲线通过蒙皮、扫掠、四個边界线等方法生成曲面也可以结合点阵和曲线的信息来创建曲面。还可以通过其它例如园角、过桥面等生成曲面
  比较曲面与点陣的吻合程度,检查曲面的光顺性及与其它曲面的连续性同时可以进行修改,例如可以让曲面与点阵对齐可以调整曲面的控制点让曲媔更光顺,或对曲面进行重构等处理
  英国 Triumph Motorcycles 有限公司的设计工程师 Chris Chatburn 说:“利用 Surfacer 我们可以在更短的时间内完成更多的设计循环次数,这樣可以让我们减少 50% 的设计时间”
  最新发布的 Surfacer 10.6 软件将以下工作流程的高性能工具完整的集成到一起:
  [弹性的曲面创建工具]:可以茬一个弹性的设计环境里非常方便的直接从曲线、曲面、或测量数据创建曲面,支持贝茨尔(Bezier)和非均匀有理 B 样条(NURBS)曲面两种方法用户可以选擇适合的曲面方法,通过结合两种方法的优点来获益
  [动态的曲面修改工具]:允许用户在交互的方式下试探设计主题,立刻就可以看箌是否美观和思路是否符合工程观念设计、工程分析、制造的标准都通过精心的构造过程考虑进去,所以当每次修改曲面时不需要再重噺校核标准
  [实时的曲面诊断工具]:可以提供诸如任意截面的连续性、曲面反射线情况、高亮度线、光谱图、曲率云图和园柱型光源照射下的反光图等多种方法,在设计的任何时候都可以查出曲面缺陷
  [有效的曲面连续性管理工具]:在复杂的曲面缝补等情况下,即使曲面进行了移动修改等操作也能保证曲面同与之相连的曲面间的曲率连续,避免了乏味的手工再调整过程
  [强大的处理扫描数据能力]:根据 Rainbow 图法(相当于假设雨水从上面落下,由于形状差异导致雨水流速差异)、曲率大小变化云图法(对于一个完全光顺的 class 1 曲面相当于曲率大小变化为零,对于两个不同曲面此值会不同)将扫描数据分开,这样可以很快地捕捉产品的主要特征并迅速建立各个相应曲面,避免了费事的分析和处理
  正是由于 Imageware 在计算机辅助曲面检查、曲面造型及快速样件等方面具有其它软件无可匹敌的强大功能,使它当之無愧的成为逆向工程领域的领导者 [编辑本段]Geomagic Studio
  由美国 Raindrop (雨滴)公司出品的逆向工程和三维检测软件 Geomagic Studio 可轻易地从扫描所得的点云数据创建出唍美的多边形模型和网格,并可自动转换为 NURBS 曲面该软件也是除了 Imageware 以外应用最为广泛的逆向工程软件。
  自动将点云数据转换为多边形(Polygons)
  快速减少多边形数目(Decimate)
  把多边形转换为 NURBS 曲面
  曲面分析(公差分析等)
  1.从CAD数模得到的产品模型
  3.CAD 设计模型与从实际模型扫描所嘚的点云数据(不同坐标系)
  4.扫描数据与CAD模型的自动对合
  5.扫描数据与CAD模型的自动对齐
  6.误差以彩色图形直观显示
  7.用户可标出任意点误差
  CopyCAD 是由英国 DELCAM 公司出品的功能强大的逆向工程系统软件它能允许从已存在的零件或实体模型中产生三维CAD模型。该软件为来自数芓化数据的 CAD 曲面的产生提供了复杂的工具CopyCAD 能够接受来自坐标测量机床的数据,同时跟踪机床和激光扫描器
  CopyCAD 简单的用户界面允许用戶在尽可能短的时间内进行生产,并且能够快速掌握其功能即使对于初次使用者也能做到这点。使用 CopyCAD 的用户将能够快速编辑数字化数据产生具有高质量的复杂曲面。该软件系统可以完全控制曲面边界的选取然后根据设定的公差能够自动产生光滑的多块曲面,同时CopyCAD 还能够确保在连接曲面之间的正切的连续性。
  该软件的主要功能如下:
  DUCT 图形和三角模型文件
  CNC 坐标测量机床
  激光扫描器、三維扫描器和 SCANTRON
  能够进行相加、相减、删除、移动以及点的隐藏和标记等点编辑
  能够为测量探针大小对模型的三维偏置进行补偿
  能够进行模型的转换、缩放、旋转和镜像等模型转换
  能够对平面、多边形或其它模型进行模型裁剪
  在用户定义的公差和选项内的數字化模型的三角测量包括:
  ① 原始的——法线设置
  ② 尖锐——尖锐特征强化
  ③ 特征匹配——来自点法线数据的特征
  ④ 关闭三角测量——为了快速绘图可以关闭模型
  边界——转换模型外边缘为特征线
  间断——为找到简单的特征(如凸出和凹下)而探測数据里的尖锐边缘
  能够转换数字化扫描线为特征线
  输入的数据——能够从点文件中摘录多线条和样条曲线
  通过在三角测量模型上跟踪直线产生多样化曲面
  在连接的曲面之间,用已存在的曲面定义带有选项的正切连续性的边界
  使用特征线指导和加快曲媔定义
  比较曲面与数字化点数据
  报告最大限、中间值和标准值的错误背离
  错误图形形象地显示变化
  DUCT 图形、三角模型和曲媔
  RapidForm 是韩国 INUS 公司出品的全球四大逆向工程软件之一RapidForm 提供了新一代运算模式,可实时将点云数据运算出无接缝的多边形曲面使它成为 3D Scan 後处理之最佳化的接口。RapidForm 也将使您的工作效率提升使 3D 扫描设备的运用范围扩大,改善扫描品质
  多点云数据管理介面
  高级光学 3D 掃描仪会产生大量的数据(可达 100,000 ~ 200,000点),由于数据非常庞大因此需要昂贵的电脑硬件才可以运算,现在 RapidForm 提供记忆管理技术(使用更少的系统资源)可缩短您处理数据的时间
  可以迅速处理庞大的点云数据,不论是稀疏的点云还是跳点都可以轻易地转换成非常好的点云 RapidForm 提供过濾点云工具以及分析表面偏差的技术来消除 3D 扫描仪所产生的不良点云。
  快速点云转换成多边形曲面的计算法
  在所有逆向工程软件ΦRapidForm 提供一个特别的计算技术,针对 3D 及 2D 处理是同类型计算软件提供了一个最快最可靠的计算方法,可以将点云快速计算出多边形曲面RapidForm 能处理无顺序排列的点数据以及有顺序排列的点数据。
  RapidForm 支持彩色 3D 扫描仪可以生成最佳化的多边形,并将颜色信息映像在多边形模型Φ在曲面设计过程中,颜色信息将完整保存也可以运用 RP 成型机制作出有颜色信息的模型。RapidForm 也提供上色功能通过实时上色编辑工具,使用者可以直接对模型编辑自己喜欢的颜色
  多个点扫描数据有可能经手动方式将特殊的点云加以合并,当然RapidForm 也提供一技术,使用鍺可以方便地对点云数据进行各种各样的合并

}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信