第一篇:关于电子逆向工程与不正当竞争的法律争议
北京首矽致芯科技有限公司电子逆向工程芯片解密专业机构
最高法:自行研发或反向工程不是不正当竞争
以不正当方式获得其他商家的商业秘密,是一种常见的不正当竞争行为。最高人民法院17日公布“关于审理不正当竞争民事案件应用法律若干问题的解释”,首次明确规定:通过自行开发研制或者反向工程等方式获得的商业秘密,不认定为反不正当竞争法有关条款规定的侵犯商业秘密行为。
这一司法解释同时规定,反向工程是指通过技术手段对从公开渠道取得的产品进行拆卸、测绘、分析等而获得该产品的有关技术信息。当事人以不正当手段知悉了他人的商业秘密之后,又以反向工程为由主张获取行为合法的,不予支持。
我国现行反不正当竞争法把以不正当手段侵犯商业秘密作为不正当竞争行为的一种,并明确规定“商业秘密,是指不为公众所知悉、能为权利人带来经济利益、具有实用性并经权利人采取保密措施的技术信息和经营信息”。
最高人民法院的司法解释对上述条款作出了具体界定:
——有关信息不为其所属领域的相关人员普遍知悉和容易获得,应当认定为反不正当竞争法有关条款规定的“不为公众所知悉”。
——有关信息具有现实的或者潜在的商业价值,能为权利人带来竞争优势的,应当认定为反不正当竞争法有关条款规定的“能为权利人带来经济利益、具有实用性”。
——权利人为防止信息泄漏所采取的与其商业价值等具体情况相适应的合理保护措施,应当认定为反不正当竞争法有关条款规定的“保密措施”。
——商业秘密中的客户名单,一般是指客户的名称、地址、联系方式以及交易的习惯、意向、内容等构成的区别于相关公知信息的特殊客户信息,包括汇集众多客户的客户名册,以及保持长期稳定交易关系的特定客户。客户基于对职工个人的信赖而与职工所在单位进行市场交易,该职工离职后,能够证明客户自愿选择与自己或者其新单位进行市场交易的,应当认定没有采用不正当手段,但职工与原单位另有约定的除外。
——确定反不正当竞争法规定的侵犯商业秘密行为的损害赔偿额,可以参照确定侵犯专利权的损害赔偿额的方法进行。因侵权行为导致商业秘密已为公众所知悉的,应当根据该项商业秘密的商业价值确定损害赔偿额。商业秘密的商业价值,根据其研究开发成本、实施该项商业秘密的收益、可得利益、可保持竞争优势的时间等因素确定。
这一司法解释将于2007年2月1日起施行。
第二篇:电子科技大学逆向工程实验报告作业
电子科技大学
学生姓名:马侬学
号:
指导教师:何兴高
日
期:实 验 报 告
20152*03**0*
2016.7.15
一. 题目名称:简易记事本软件逆向分析 二. 题目内容
由于记事本功能简单,稍有经验的程序员都可以开发出与记事本功能近似的小软件,所以在一些编程语言工具书上也会出现仿照记事本功能作为参考的示例。为了便于分析因此选取了一个简易的记事本,因此本实验将着重研究从源程序到机器码的详细过程而不注重程序本身的功能。另一方面简易源程序代码约130多行。本实验目的是了解源程序是怎么一步步变成机器码的又是怎么在计算机上运行起来的。
三. 知识点及介绍
利用逆向工程技术,从可运行的程序系统出发,运用解密、反汇编、系统分析、程序理解等多种计算机技术,对软件的结构、流程、算法、代码等进行逆向拆解和分析,推导出软件产品的源代码、设计原理、结构、算法、处理过程、运行方法及相关文档等。随着用户需求的复杂度越来越高软件开发的难度也在不断地上升快速高效的软件开发已成为项目成败的关键之一。为了提高程序员的产品率开发工具的选择尤为重要因为开发工具的自动化程度可以大大减少程序员繁琐重复的工作使其集中关注他所面临的特定领域的问题。为此当前的IDE不可避地要向用户隐藏着大量的操作细节而这些细节包含了大量的有价值的技术。
四. 工具及介绍:
在对软件进行逆向工程时,不可避免地需要用到多种工具,工具的合理使用,可以加快调试速度,提高逆向工程的效率。对于逆向工程的调试环节来说,没有动态调试器将使用的调试工作很难进行。可以看出,各种有效的工具在逆向工程中占据着相当重要的地位,有必要对它们的用法做一探讨。
PE Explorer简介:PE Explorer是功能超强的可视化Delphi、C++、VB程序解析器,能快速对32位可执行程序进行反编译,并修改其中资源。
功能极为强大的可视化汉化集成工具,可直接浏览、修改软件资源,包括菜单、对话框、字符串表等; 另外,还具备有 W32DASM 软件的反编译能力和PEditor 软件的 PE 文件头编辑功能,可以更容易的分析源代码,修复损坏了的资源,可以处理 PE 格式的文件如:EXE、DLL、DRV、BPL、DPL、SYS、CPL、OCX、SCR 等 32 位可执行程序。该软件支持插件,你可以通过增加插件加强该软件的功能,原公司在该工具中捆绑了 UPX 的脱壳插件、扫描器和反汇编器.,出口,进口和延迟导入表的功能,使您可以查看所有的可执行文件使用的外部功能,和其中包含的DLL或库的基础上进行分类的结果。这里一个非常有用的功能是语法的Viewer,它显示功能的调用语法,它知道和可以让你扩大自己的定义的语法数据库。非常好用。
Dumpbin是VC自带的二进制转储工具可以将PE/COFF文件以文字可读的方式显示出来。Microsoft COFF 二进制文件转储器(DUMPBIN.EXE)显示有关通用对象文件格式(COFF)二进制文件的信息。可以使用 DUMPBIN 检查 COFF 对象文件、标准 COFF 对象库、可执行文件和动态链接库(DLL)。具有提供此DLL中所输出的符号的清单的功能。
LINK.exe 将通用对象文件格式(COFF)对象文件和库链接起来,以创建可执行(.exe)文件或动态链接库(DLL)。
五. 源程序
notepad.cpp:
notepad::notepad(QWidget *parent): QMainWindow(parent), ui(new Ui::notepad){ ui->setupUi(this);this->setWindowTitle(“new file”);QObject::connect(ui->NewFileaction, SIGNAL(triggered()), this, SLOT(NewFile()));QObject::connect(ui->OpenFileaction, SIGNAL(triggered()), this, SLOT(OpenFile()));QObject::connect(ui->SaveFileaction, SIGNAL(triggered()), this, SLOT(SaveFile()));QObject::connect(ui->SaveAsFileaction, SIGNAL(triggered()), this, SLOT(SaveAsFile()));QObject::connect(ui->Coloraction, SIGNAL(triggered()), this, SLOT(SetColor()));QObject::connect(ui->Fontaction, SIGNAL(triggered()),this, SLOT(SetFont()));QObject::connect(ui->Aboutaction, SIGNAL(triggered()), this, SLOT(About()));QObject::connect(ui->Helpaction, SIGNAL(triggered()), this, SLOT(Help()));} notepad::~notepad(){ delete ui;} void notepad::changeEvent(QEvent *e){ QMainWindow::changeEvent(e);switch(e->type()){ case QEvent::LanguageChange: ui->retranslateUi(this);break;default: break;} } void notepad::NewFile(){ this->setWindowTitle(“new file”);ui->Text->clear();} void notepad::OpenFile(){ QString filename = QFileDialog::getOpenFileName(this, “get file”,QDir::currentPath(), “(*.*)”);if(!filename.isEmpty()){ QFile *file = new QFile;file->setFileName(filename);if(file->open(QIODevice::ReadOnly)== true){ QTextStream in(file);ui->Text->setText(in.readAll());this->setWindowTitle(filename);} else { QMessageBox::information(this, “ERROR Occurs”, “file not exist”);} file->close();delete file;} } void notepad::SaveFile(){ QString filename = this->windowTitle();// if(filename.compare(“new file”)!= 0)// { QFile *file = new QFile;file->setFileName(filename);if(file->open(QIODevice::WriteOnly)== true){ QTextStream out(file);out
由PE格式的布局图。PE文件使用的是一个平面地址空间,所有代码和数据都合并在一起,组成一个很大的结构。主要有:.text是在编译或汇编结束时产生的一种块,它的内容全是指令代码;.rdata是运行期只读数据;.data是初始化的数据块;.bss是未初始化的数据节;.idata包含其它外来DLL的函数及数据信息,即输入表;.rsrc 包含模块的全部资源:如图标、菜单、位图等。
现在使用PEExplorer对编译的notepad.exe程序进行逆向。如图5所示。由图可以知道程序入口点是0x000028DFh。当程序被加载到内存执行时,第一条指令将从这里取得。注意,这个地址是相对虚拟地址(RVM),程序的入口点地址还要道基地址才能得出。
PEExplorer逆向notepad.exe和数据目录
节区头数据,分别是读到了数据目录和区段头信息。
4)调用协定
调用协定规定了函数调用的参数传递方式及返回值的传递方式。它是应用程序二进制兼容的必要面规范。常见的调用协定有如下方式:1__stdcall 用于调用Win32API函数。采用__stdcall约定时,函数参数按照从右到左的顺序入栈,被调用的函数在返回前清理传送参数的栈,函数参数个数固定。由于函数体本身知道传进来的参数个数,因此被调用的函数可以在返回前用一条retn指令直接清理传递参数的堆栈。2_cdecl: 是C调用约定,按从右至左的顺序压参数入栈,由调用者把参数弹出栈。对于传送参数的内存栈是由调用者来维护的(正因为如此,实现可变参数的函数只能使用该调用约定)。另外,在函数名修饰约定方面也有所不同。fastcall 快速调用方式。它的主要特点就是快,因为它是通过寄存器来传送参数的。实际上,它用ECX和EDX传送前两个双字(DWORD)或更小的参数,剩下的参数仍旧自右向左压栈传送,被调用的函数在返回前清理传送参数的内存栈。4参数传递分析在目标程序中有这样一个函数声明如下:
BOOLShowFileInfo(HWNDhwnd,HDChDC,HDROPhDropInfo)发生调用地方为:
ShowFileInfo(hwnd,hDC,hDropInfo);可以看到最后一条指令是堆栈平衡用的,传递了三个参数,每个参数的大小都为4个字节,所以大小刚好是0x0Ch。还可以看到第一个压栈的参数是hDropInfo,另外两参数都是用ebp来做基址寻址取到的,说明前两个参数不是局部变量。参数传递方向从右到左依次压栈。
5)堆栈平衡
参数传递后由调用者或被调用者负责平衡堆栈,但函数使用了局部变量,那堆栈又是如何保持平衡的呢?这里引入了一个叫栈帧(StackFrame)的概念。栈帧实质就一个函数栈所用的堆栈空间。每个函数都平衡了,那么整个程序栈也就平衡了。如图8所示,函数体的第一条指令就是保存ebp寄存器,它存的就是上一个函数的栈帧边界。第二条指令就是制定当前函数的栈帧的起始位置。第三条
指令就是为函数分配局部变量的堆栈空间了。函数栈的平衡
根椐VC/C++的调用协定,寄存器EAX、ECX、EDX是易变寄存器,也就是说调用函数不能假定被调用函数不改变它们的值。因此,调用函数想保留它们的值,在调用一个函数之前应自已先把它们保存起来了。另外的5个通用寄存器(EBX、ESP、EBP、ESI、EDI),则是非易变的。被调用函数在使用它们之前必须先保存。
所以上图的汇编指令就不难理解了。函数执行完毕后,只需把先前保存在栈中的EBP弹到ESP就保持了栈的平衡了。情况确实如此。如图9所示,最后一条指令是popebp,然后返回。根据返回指令,还可行知此函数使用的是cdecl调用协定。因为它没有参数的堆栈平衡。函数返回平衡堆栈 七. 心得体会
逆向工程是一个实践性很强的课程,通过上机实验使我在本次课程的学习中收获很多,通过对程序的逆向分析,本人对计算机技术有了更深的认识。感谢何兴高老师的谆谆教诲和精彩地讲课,何老师为人随和热情,治学严谨细心。同时希望能进一步学习更多和逆向工程相关的知识。
第三篇:逆向工程作用与缺点、改进
《逆向工程技术》
课程大作业
学 校:
系 别:
姓 名:
班 级:
学 号:
作业题目:RE技术对模具设计制造有何帮助?你认为RE技术尚存在 哪些不足,为什么?要求:
1、全文不少于2000字;
2、观
点要明确,论据应充分。
模具工业是国民经济的基础产业,模具工业的发展水平标志着一个国家的工业水平和产品的开发能力。无论是在汽车工业中新车型的开发与批量生产,还是机电及家电和轻工业产品等都与模具制造技术息息相关。随着仪器、仪表、家用电器、交通、通信和轻工业产品等行业的飞速发展,模具工业的产品已经超过机床行业。据统计在2000年,工业品零件粗加工类的75%、精加工类的50%都使用成型模具。
模具设计不同于传统的机械设计,有其专业化的特殊要求,主要体现在:
1、模具是用于批量生产的基础设备,零件的复杂性分为形体复杂性和结构复杂性。模具主要用于形体复杂零件的加工;
2、用模具生产的产品一般为最终产品,因此模具的几何设计必须能够完成零件的所有细节结构的描述,甚至包括产品的浮雕等表面细节结构的造型设计;
3、模具型腔结构必须有模有角及必要的圆弧过渡,以满足生产工艺的要求,而一般的机械设计不考虑这些问题;
4、模具工业的产品设计专业化程度很高;
5、模具具有品种多,数量大,更新换代快,单件生产等特点。
因此如何快速、准确地进行模具设计和制造变得越来越重要。
基于逆向工程技术(RE)的模具制造技术有两种:一是RE+RP(快速原型);二是RE技术和CAD/CAM的结合。基于逆向工程的模具制造的的CAD模型是来自实物或样件模型,通过数字化扫描和三维重建获得。实际上对于具有复杂外形的快速模具制造,由于很难或根本就无法建立其CAD模型,这给RP的数据来源带来不小的限制,也正好与善于制造复杂三维形体的的优势相矛盾。利用逆向工程技术则可以解决这个问题,它能根据多种数据来源(三维测量、图像、CT等)重构出事务的CAD模型,然后转换成STL文件和NC代码。对简单零件,在完全仿制的情况下,也可以不建立CAD模型,由测量数据直接生成STL文件和NC代码。
下图为两种方法的加工流程:
逆向工程模具制造流程
首先是逆向工程中与模具CAD/CAM技术的结合。在CAD阶段,设计者完成模具及模架结构的三维实体设计(造型),生成零件的凸模、凹模、上下模座等。根据需要,可通过三维转二维功能,绘制出模具零件图和装配图。CAE主要对模具的制造过程进行模拟,如对注塑产品进行注射流动、保压模拟、冷却过程分析和力学分析等。
模具CAD/CAM技术的发展。
据美国科学研究院工程技术系统委员会测算,CAD/CAM应用所得的效益为:降低工程技术成本13%~30%,减少产品从设计到投产的时间30%~60%,提高产品质量5~15倍,增加分析问题的广度和深度的能力3~35倍,增加投入设备的利用率30%~60%,降低人工成本5%~20%等。全世界CAD系统的销售额正以15%的速度递增,CAD/CAM技术在机械、电子、轻工、航天等领域的应用日益普遍。
模具CAD/CAM技术的应用价值。
模具CAD/CAM系统的应用从根本上改变了传统的模具生产方式及流程。它以计算机软件的形式提供了一种有效的辅助工具,使用户能借助于计算机对产品、模具结构、加工乃至成本等进行设计并反复的修改,直至获得最优的结果。
采用几何造型技术,产品一般不必进行原型试验,其形状能逼真地显示在计算机的屏幕上,借助于弹性有限元软件,可以对产品的力学与机械性能进行预测。采用模具CAD软件,自动绘图能够取代人工绘图,自动检索能够取代查阅手册,快速分析能够取代手工计算。模具的设计师们可以从繁重的绘图和计算中解放出来,集中精力从事诸如方案的构思和结构优化等创造性的工作。
在模具图下达生产车间之前,利用计算机分析软件,可以预测成型工艺及模具有关结构参数的正确性与合理性,避免传统模具生产中需要的“反复试模”,提高效率。例如,可以采用塑料注射成形流动分析软件,考察塑料熔体在模具腔内的流动过程,以此改进流道与浇口的设计,提高试模的成功率。借助于CAM软件,模具型腔的几何参数能交互地转换为机床刀具的曲面运动轨迹,进而生成数控加工指令,这样就可省去木模制作工序,提高模具型腔表面的加工精度和效率。
使用CAD/CAM系统后,每一种模具设计图纸、NC数据、设计数据等均可自动存储起来。如在进行类似模具的设计与制作时,可使用过去的数据,既可以积蓄和检索模具设计和制作的经验,大幅度地缩短设计制作周期,降低生产成本,并能大幅度地提高产品的质量。
其次是逆向工程中与快速模具制造技术的结合。
一般产品从设计到模具验收需要一段相当长的时间,通常模具完成后都要对模具进行修改,而且修模时间要占整个制作时间的20%~30%,使模具的制造周期加长,成本增大,一套简单的塑料模具的价值也在10万元以上。
对于小批量生产,模具的费用占有很大比重。因此,短工期和小批量的零件制造的最好方法就是用与逆向工程结合的快速原型制造模具,它能在几天之内完成非常复杂的的零部件模具的制造,而且月复杂的零件越能显示其优越性。
逆向工程技术利用原型直接作为气化模或代替蜡模进行熔模铸造,可以简化制模工序、节约制模时间。此外,也可以原型代替木模制造砂型,不仅可以降低制模成本,还可以提高模具的精度。更由于原型能够采用较好的材料,其更好的力学性能使模具在受压、受热时不易翘曲和变形。
最后是当前逆向工程技术(RE)存在下面的一些不足:
1、当前使用的逆向工程系统方面存在以下不足之处:
(1)大多数系统是针对具体的应用而开发,数据处理往往针对特定的测量设备、测量
对象,通用性差;
(2)曲面拟合系统大多是对于代数二次曲面,对自由曲面,特别是由大数据量散乱点
拟合自由曲面,系统一般没有此功能;
(3)数据区域分割往往要交互操作,降低了CAD建模的速度,自动化程度低;
(4)系统集成化程度低,有些系统只侧重与曲面的拟合,有些系统只侧重于与特定制
造技术的结合,系统只包含简单几何数据,不符合现代设计制造的并行思想。
2、测量数据处理方面
数据处理是逆向工程的一项重要的技术环节,它决定着后续的模型重建能否方
便、准确地进行。在对噪声点和异常点的处理,以及对数据进行的平滑操作,判断的依据要慎重选择,因为处理不当往往会造成特征信息的丢失。
3、模型重建技术方面
在实践中,进行模型重建时选择哪种方法取决于测量数据的类型和模型几何特
征以及曲面的复杂性。通过检测测量点到曲面模型的距离来评价重建模型的精度是
一种简单的方法,但这个评价指标没有包含测量误差,是一种近似和权宜的方法。
4、基于特征约束的模型重建方面
对于具有规则几何形状的产品已不存在技术问题,但对于由曲面和复杂曲面组
成的具有复杂的集合外形的产品,如汽车、摩托车的外形覆盖件,其特征和约束识
别仍有许多技术问题待解决。因此,对复杂曲面,基于集合特征及约束的建模技术
仍是一种不成熟技术。
5、创新方面
创新是一个国家技术进步以及发展的灵魂,如果产品的设计制造技术永远停留
在模仿和复制上,产品将失去竞争力,探讨在逆向工程中进行产品创新设计的方法,包括支持创新的模型组织和重建方法,提出基于模型几何特征及约束重建模型,是
进行模型再设计的基础,二模型的参数化和变量化表示及造型是两种可选的造型方
法,但仍存在一些技术难点有待研究解决。参考文献:
(1)逆向工程技术综合实践/成思源主编.——北京:电子工业出版社,2010.10(2)逆向工程技术/金涛 童永光等主编.——北京:机械工业出版社,2003.8(3)逆向工程技术及其应用/王宵主编——北京:化学工业出版社.教材出版中心,2004.9
第四篇:逆向工程实习报告
逆向工程实习报告
M0811 高略群
通过这一星期的逆向工程实习,本人对逆向工程有了初步的了解。
逆向工程(Reverse Engineering,RE)是对产品设计过程的一种描述。在工程技术人员的一般概念中,产品设计过程是一个从无到有的过程:设计人员首先构思产品的外形、性能和大致的技术参数等,然后利用CAD技术建立产品的三维数字化模型,最终将这个模型转入制造流程,完成产品的整个设计制造周期。这样的产品设计过程我们可以称之为“正向设计”。逆向工程则是一个“从有到无”的过程。简单地说,逆向工程就是根据已经存在的产品模型,反向推出产品的设计数据(包括设计图纸或数字模型)的过程。
随着计算机技术在制造领域的广泛应用,特别是数字化测量技术的迅猛发展,基于测量数据的产品造型技术成为逆向工程技术关注的主要对象。通过数字化测量设备(如坐标测量机、激光测量设备等)获取的物体表面的空间数据,需要经过逆向工程技术的处理才能获得产品的数字模型,进而输送到CAM系统完成产品的制造。因此,逆向工程技术可以认为是“将产品样件转化为CAD模型的相关数字化技术和几何模型重建技术”的总称。
逆向工程的实施过程是多领域、多学科的协同过程。从图1中我们可以看出,逆向工程的整个实施过程包括了测量数据的采集/处理、CAD/CAM系统处理和融入产品数据管理系统的过程。因此,逆向工程是一个多领域、多学科的系统工程,其实施需要人员和技术的高度协同、融合。
逆向工程在CAD/CAM体系中的应用:逆向工程技术并不是孤立的,它和测量技术、CAD/CAM技术有着千丝万缕的联系。从理论角度分析,逆向工程技术能按照产品的测量数据建立与现有CAD/CAM系统完全兼容的数字模型,这是逆向工程技术的最终目标。但凭借目前人们所掌握的技术,包括工程上的和理论上的(如曲面建模理论),尚无法满足这种要求。特别是针对目前比较流行的大规模“点云”数据建模,更是远没有达到直接在CAD系统中应用的程度。“点云”数据的采集有两种方法:一种是使用三坐标测量机对零件表面进行探测,另一种是使用激光扫描仪对零件表面进行扫描。采集到的数据经过CAD/CAM软件处理后,可以获得零件的数字化模型和用于加工的CNC程序。图2所示为使用激光扫描仪测量的摩托车发动机砂型排气道点云图。在实际工作中,先采用LACUS150B激光扫描仪采集上百万个点数据,形成摩托车发动机砂型排气道外形轮廓,再用Surfacer逆向软件进行由点到面的处理,图3为用Surfacer软件生成的摩托车发动机砂型排气道曲面几何形状。数据采集完成后,用户可利用CAD软件加快逆向工程的处理过程。在理想情况下,CAD软件可用于: 1.以任何格式输入虚拟的几何尺寸数据; 2.处理采集到的点数据,有时甚至需要处理数亿个点数据序列;3.通过修改和分析,处理产生的轮廓曲面; 4.将几何形状输出到下一级处理过程中; 5.分析几何形状,估算整体形状与样品的差异。最重要的是,软件能够允许用户以三维透视图的方式显示工件,它完整地定义了工件的形状,不再需要多个视角的投影图,设计者可直接对曲面轮廓进行再加工,而加工工人可以利用电子模型加工工件。后处理软件通过以下方式缩短逆向工程的时间: 1.通过平滑连续的曲线网络提高曲面的质量; 2.省去了准备加工文件的时间 3.不需要原型; 3.运用各种分析工具提高产品质量。可见,利用激光扫描仪扫描样品采集点数据,再应用Surfacer软件生成高质量曲面,相比直接在CAD系统中进行曲面造型,能节省数周的开发时间。另外,利用激光扫描仪采集的几何数据能生成符合工业标准格式的文件,如IGES、VDA-FS、ISOG代码、DXF和规定的ASCII、CAD/CAM格式,分析软件包至少能支持其中的一种格式。制造加工刀具
并对其进行检验是既耗时又费钱的过程。Surfacer软件能对各种复杂形状的样品进行快速完整的检验,从而使这一关键处理过程流水线化。用户能够参考三维模型精确地调整扫描数据以便评估样品和所需加工工件之间的差别,并计算相关变量,用彩色图表的形式加以显示,从而为几何尺寸校验作出清晰完整的说明。Surfacer软件的快速原型模块(RPM)能够快速利用数字化数据或利用其他系统的曲面几何形状生成原形,从而缩短了实际原型的数字化周期,新的RPM快速工具大幅度地提高了快速原型技术的水平。因此笔者认为,逆向工程技术与CAD/CAM系统是相辅相成的。现有CAD/CAM系统经过几十年的发展,无论从理论还是实际应用上都已经十分成熟,在这种情况下,现有CAD/CAM系统不会也不能为了满足逆向工程建模的特殊要求从系统底层结构上进行变更。另一方面,逆向工程技术中用到的大量建模方法完全可以借鉴现有CAD/CAM系统,不需要另外搭建新的平台。图4所示为用Solidworks三维软件生成的摩托车发动机砂型进排气道实体。基于这种分析,我们认为逆向工程技术在整个制造体系链中处于一个从属、辅助建模的地位,它可以利用现有CAD/CAM系统,帮助其实现自身无法完成的工作。有了这种认识,我们就可以明白为什么逆向工程技术(包括相应的软件)始终不是市场上的主流,而大多数CAD/CAM系统又均包含了逆向工程模块或第三方软件包这样一种情况。
逆向工程技术在产品研究开发中是一项开拓性、实用性和综合性很强的技术。利用光学扫描仪作为获取空间三维数据的手段,用逆向工程软件Imageware对获取的点云数据进行处理,其难点为曲线的构建、检测和修改。而只有满足曲线光顺,曲面才能光顺。曲面与点云的吻合精度主要靠关键特征线的提取和构建精度来保证。
采用逆向工程技术,不仅能够得到实物的精确数字模型和复制品,而且还可以进一步修改并生成新的数学模型和产品工程图,从而使产品的消化吸收和二次开发工作准确快捷。不但缩短了产品开发周期,而且提高了产品创新的成功率。
第五篇:逆向工程毕业设计总结
篇一:逆向工程之毕业设计(论文)西南科技大学 毕业设计(论文)
题目名称:风扇叶片的非接触测量和三维建模研究
年 级:2004级 ■本科 □专科 学生学号:20045659 学生姓名:都方军 指导教师:乐莉 学生单位:制造科学与工程学院 技术职称:副教授 学生专业:机械0408 教师单位:制造学院
西 南 科 技 大 学 教 务 处 制 风扇叶片的非接触测量和三维建模研究
摘要: 随着计算机技术的迅速发展,计算机三维造型技术特别是逆向工程技术在工业 上已经得到了广泛的应用。为了解决风扇叶片难以精确测量的问题,本文研究了风扇叶 片外形的逆向工程造型方法,并对逆向工程概念、方法进行系统的阐述。通过光学扫描 仪的非接触测量获取风扇叶片表面的云状数据,并利用imageware和geomagic软件对测 量数据进行处理,且基于nurbs曲面重构理论进行叶片造型表面重构,最终实现了风扇的 曲面重构,产生风扇的三维模型及二维图。与传统的正向设计方法相比,该方法提高了 工作效率,缩短了新产品的开发周期。
关键词:逆向工程; 非接触测量; 点云; 建模
fan blade non-contact measurement and 3d modeling geomagic, the measurement data is processed and nurbs surface reconstruction based on the theory blade shape surface reconstruction, the ultimate realization of a fan surface reconstruction, being designed with the traditional method, the method improves the working efficiency, shorten the development cycle of new products.key words: reverse engineering;non-contact measurement;point cloud;modeling 目录
第1章 绪论.............................................................1 1.1 引言............................................................1 1.2 课题提出的背景及意义............................................1 1.21逆向工程在国内外研究状况....................................1 1.22逆向工程的原理及特点........................................2 1.23逆向工程的流程及应用领域....................................3 1.24课题的目的及意义............................................5 1.3 研究内容........................................................5 第2章 逆向工程软硬件设备及过程.........................................5 2.1 扫描设备........................................................5 2.2 点云处理软件....................................................8 2.3 曲面处理软件....................................................8 2.4 实体建模软件...................................................10 2.5 实体三维数据的扫描.............................................12 2.6 点云处理.......................................................13 2.7 曲面重构.......................................................14 2.8 实体建模.......................................................19 2.9 后续加工处理...................................................20 第3章 建立风扇叶片数模的具体步骤......................................22 3.1 风扇叶片逆向开发的流程.........................................22 3.2 模型分析.......................................................22 3.3 扫描...........................................................22 3.4 点云数据处理...................................................34 3.4.1 清除噪点....................................................343.4.2 手动注册...................................................35 3.4.3 全局注册...................................................36 3.4.4 合并.......................................................36 3.4.5 补洞.......................................................37 3.4.6 边界优化...................................................37 3.4.7 简化数据及保存.............................................37 3.5 曲面造型.......................................................38 3.5.1 对齐点云...................................................39 3.5.2 建立圆柱面.................................................40 3.5.3 建立球面...................................................40 3.5.4 建立球底面.................................................40 3.5.5 偏移球面及上下底面.........................................41 3.5.6 剪切中间凹槽及洞...........................................41 3.5.7 建立小圆柱及洞.............................................42 3.5.8 提取一个叶片及建立曲面.....................................42 3.5.9 偏移扇叶曲面并倒角.........................................43 3.5.10 建立另外2个叶片面........................................43 3.5.11 数据转化导出通用格式......................................44 3.6 实体造型.......................................................44 3.6.1 数据导入...................................................45 3.6.2 曲面缝合及模型实体化.......................................46 3.6.3 产生风扇叶片的二维图.......................................46 结论....................................................................48 参考文献................................................................53 致谢....................................................................54篇二:逆向工程毕业设计开题报告 毕业论文开题报告
题 目 某典型零件的逆向工程与注塑模设计
学生姓名学号 所在院(系)专业班级 指导教师
2013 年 3月 5 日篇三:逆向工程的毕业设计 目录 毕业设计.......................................................................................................错误!未定义书签。0 摘要...........................................................................................................................................1 1 逆向工程..................................................................................................................................2 1.1 定义..........................................................................................................................................2 1.2 逆向工程的研究与发展.........................................................................................................3 1.3 逆向工程系统..........................................................................................................................4 1.4 逆向工程的关键技术..............................................................................................................4 1.5 逆向工程与正向工程的区别.................................................................................................6 1.6 逆向工程的应用......................................................................................................................7 2 maxscan激光扫描仪................................................................................................................8 3 geomagic studio.....................................................................................................................10 4 imageware...............................................................................................................................13 5 其它.........................................................................................................................................14 6 后记.........................................................................................................................................14 0 摘要
随着中国加入wto,经济迅速发展,改革开放不断深入,工业发展越来越快,就要求我们能够快速制造,提高生产力,从而降低成本,基于maxscan逆向工程就是在这个大背景下迅速发展起来的,它是通过扫描小物体,获取点云数据,再通过一些软件处理,得到我们想要的东西。
逆向工程,也有称逆向技术,是通过对某种产品的结构、功能、运作进行分析、分解、研究后,制作出功能相近,但又不完全一样的产品过程。逆向工程可能会被误认为是对知识产权的严重侵害,但是在实际应用上,反而可能会保护知识产权所有者。例如在积体电路领域,如果怀疑某公司侵犯知识产权,可以用逆向工程技术来寻找证据。1逆向工程
1.1 定义 逆向工程(又名反向工程,reverse engineering-re)是对产品设计过程的一种 描述。在2007年初,我国相关的法律为逆向工程正名,承认了逆向技术用于学习研究的合法性。在工程技术人员的一般概念中,产品设计过程是一个从设计到产品的过程,即设计人员首先在大脑中构思产品的外形、性能和大致的技术参数等,然后在详细设计阶段完成各类数据模型,最终将这个模型转入到研发流程中,完成产品的整个设计研发周期。这样的产品设计过程我们称为“正向设计”过程。逆向工程产品设计可以认为是一个从产品到设计的过程。简单地说,逆向工程产品设计就是根据已经存在的产品,反向推出产品设计数据(包括各类设计图或数据模型)的过程。从这个意义上说,逆向工程在工业设计中的应用已经很久了。比如早期的船舶工业中常用的船体放样设计就是逆向工程的很好实例。随着计算机技术在各个领域的广泛应用,特别是软件开发技术的迅猛发展,基于某个软件,以反汇编阅读源码的方式去推断其数据结构、体系结构和程序设计信息成为软件逆向工程技术关注的主要对象。软件逆向技术的目的是用来研究和学习先进的技术,特别是当手里没有合适的文档资料,而你又很需要实现某个软件的功能的时候。也正因为这样,很多软件为了垄断技术,在软件安装之前,要求用户同意不去逆向研究。逆向工程的实施过程是多领域、多学科的协同过程。软件的逆向工程可以用多种方法实现,主要的三类软件逆向工程是:通过观察信 息交换进行分析。主要流行于对协议做逆向工程,它使用总线分析器和数据包嗅探器,例如,为了访问一个总线连接或一个计算机网络连接并揭示其上的通信数据就可以使用这种方法。通过分析总线或网络的活动,做出一个独立的实现用以模拟那些活动。此法对设备驱动的逆向工程特别有用。在进行嵌入式系统的逆向工程时,厂商特意引进的工具有时能产生极大的促进作用,例如jtag端口或其他的调试法。在microsoft windows中,底层的调试器很受欢迎,例如softice。使用反汇编器进行反汇编。仅借助机器码助记符读取和理解已经被编译成原始机器码的程序。此法对任何计算机程序都有效,但是相当耗时,特别是对于不熟悉机器码的人。interactive disassembler是一个很受欢迎的反汇编工具。使用反编译器进行反编译。对只有机器码或字节码形式的程序,重建高级语言形式的源代码。这种方法得到的源代码结果不是唯一的。
1.2 逆向工程的研究与发展1980年始欧美国家许多学校及工业界开始注意逆向工程这块领域。1990年初期包括台湾在内,各国学术界团队大量投入逆向工程的研究并发表成果。逆向工程的硬件最早是运用仿制加工设备,制作出来的成品品质粗糙。后来有接触式扫瞄设备,运用探针接触工件取得产品外型。再来进一步开发非接触式设备,运用照相或激光技术,计算光线反射回来的时间取得距离。
逆向工程软件部分品牌包括surfacer(imageware)、icem、copycad、rapid form等。逆向软件的演进约略可区分为三个阶段。十一年前在逆向工程上,只能运用catia等cad/cam高阶曲面系统。市场后来发展出两套主流产品约在七、八年前技术成熟,广为业界引用。到最近四年来,发展出不同以往的逆向工程数学逻辑运算,速度快。逆向工程在台湾的发展轨迹持续在进行,工研院曾写过一套逆向工程软件,学术界不少研究团队也将逆向工程领域作为研究主题,开发出具不同功能的系统软件,但是最后这些软件都没有真正落实到产业界应用。工研院的团队后来也结束逆向工程研究,转而开发其它主题。原有的研发成果后继无人,殊为可惜。1998年,newpower启动了逆向工程的一些项目,要求是把客户的现有源代码转变成设计,如果需要的话,进一步转化成产品需求规约。这恰恰与类似于v模型的标准开发过程模型相逆。这样一来,客户就可以容易地维护他们的产品(需求,设计,源代码等等),而不需要想以前那样,每次改动产品都需要直接修改源代码。
是指从实物上采集大量的三维坐标点,并由此建立该物体的几何模型,进而开发出同类产品的先进技术。逆向工程与一般的设计制造过程相反,是先有实物后有模型。仿形加工就是一种典型的逆向工程应用。目前,逆向工程,逆向工程的应用已从单纯的技巧性手工操作,发展到采用先进的计算机及测量设备,进行设计、分析、制造等活动,如获取修模后的模具形状、分析实物模型、基于现有产品的创新设计、快速仿形制造等。通俗说,从某种意义上说,逆向工程就是仿造。这里的前提是默认我们传统的设计制造为“正向工程(当然,没有这种说法)”。
软件的逆向工程是分析程序,力图在比源代码更高抽象层次上建立程序的表示过程,逆向工程是设计的恢复过程。逆向工程工具可以从已存在的程序中抽取数据结构、体系结构和程序设计信息。
1.3 逆向工程系统 目前研究或应用中的系统可分以下几类:
(1)针对具体应用开发的系统开发了一种针对机械零件识别的逆向工程系统,此系统只能识别由平面组成的零件。开发了基于微机的逆向工程系统主要用于仿制空军部门淘汰的零件。(2)专用曲面拟合软件系统曲面拟合是逆向工程的关键过程,开发了拟合3d激光扫描数据的软件包,数据点被交互的划分区域,拟合曲面输入通用cad系统进行相交、延伸、过渡、建立完整的cad模型。此系统只处理标准的二次曲面。
(3)与商用cad系统的结合有些系统直接把数字化系统与商用cad系统结合,kwok开发的系统将cmm与autocad结合起来,每测一个点的坐标,自动转化为iges格式,系统具有实时可视化功能。
(4)测量与拟合的集成
以上系统中数字化与曲面拟合是两个分离的过程,为了提高测量精度,用拟合结果指导测量,减少测量数据,出现了测量与拟合的集成系统。liang-chia提出的集成系统,首先由用户交互地划分测量边界,每个面片的测量中实时进行b2样条曲面拟合,用拟合结果进行下一个测量点的位置预测,用实测值与预测值的误差控制测量精度和拟合精度。(5)与快速原形制造的结合
缩短产品制造的周期是逆向工程的目的之一,近年来出现了数字化系统直接用子制造的逆向工程与快速制造的集成系统,jones c开发了由激光扫描结果产生螺旋线数控加工路径的系统。
1.4 逆向工程的关键技术
当前使用的逆向工程系统存在以下不足之处:
(1)大多数系统是针对具体的应用而开发,数据处理往往针对特定的测量设备、测量对象,通用性差。
(2)曲面拟合系统大多是对于代数二次曲面,对自由曲面,特别是由大数据量散乱点拟合自由曲面,系统一般没有此功能
(3)数据区域分割往往要交互操作,降低了cad建模的速度,自动化程度低;(4)系统集成化程度低,有些系统只侧重与曲面的拟合,有些系统只侧重于与特定制造技术的结合,系统只包含简单几何数据,不符合现代设计制造的并行思想。几何建模是逆向工程的关键环节,同时也是影响逆向工程速度的瓶颈问题,因此,提高逆向工程几何建模的自动化程度和通用性是目前逆向工程研究的一个重点方向。作者提出了一种逆向工程几何建模自动化系统,具有体现设计意图的特征建模的特点,数据点的组织方式不限,输出的b-rep模型与现有商用cad系统完全兼容。系统的关键技术在于特征的自动提取、组合自由曲面的光滑连接。
提高系统的集成性,有些情况cad 模型并不是必需的,或者为了最快的制造产品,需要数字化系统与cmm 的直接结合;另外,有些产品(例如注塑模、注塑件的设计)需要多次进行cae 分析,由数据点直接产生cae 模型,可极大地提高产品的设计、分析过程,在上一节已有一些集成系统的应用实例,大多是根据具体情况的部分集成,邢渊提出了完整的逆向工程集成系统框架,具有cad、cae、cam 多个数据接口,采用了面向对象的集成方法。关键技术是通用、开放的产品数据库结构。
三坐标测量可分为接触式测量和非接触式测量两大类。接触式测量方法通过传感测量头与样件的接触而记录样件表面的坐标位置,可以细分为点触发式和连续式数据采集方法。对于航空航天、汽车等行业,大型样件的测量一般可以选用接触式测量,以满足精度要求。因为,接触式测量中的点触发式测量可以通过人为规划,使得在大曲率或曲率变化剧烈的区域获得较多的测量点,而在相对平坦的区域则可以测量较少的点。结合造型方法,人工对被测物体进行区域规划,测量对物体形状起关键作用的特征线和曲线网格,数据点可以根据需要组织成模型重建软件所需要的形式,然后根据特征线及曲线网格重建物体的cad模型,减少了数据处理的难度和工作量。其唯一的缺点是测量效率较低。
非接触式测量方法主要是基于光学、声学、磁学等领域中的基本原理,将一定的物理模拟量通过适当的算法转化为样件表面的坐标点。例如:声纳测量仪利用声音遇到被测物体产生回声的时间计算点与声源间的距离;激光测距法是将激光束的飞行时间转化为被测点与参考平面间的距离。非接触式测量使测量效率得到了极大提高,某些光学测量机可以在数秒钟内得到几十万个数据点,因而在测量过程中可以大大减少人工测量规划,在整个样件表面快速采集大量的密集点集。由于操作简便,以激光测距法为代表的非接触式测量技术近两年来,发展迅速,应用普及面越来越广。不过,非接触测量获得的海量数据的数据量非常庞大,常有几十万、上百万,甚至更多。必须配合较强功能的逆向软件和高性能的计算机设备,才能顺利使用。不过,将五年来,按照摩尔定律,计算机硬件的性能迅速提高,软件技术也今非昔比,基于光学的非接触式测量方法和三坐标测量设备在逆向工程中得到了更为广泛的应用。在工程技术人员的一般概念中,产品设计过程是一个从设计到产品的过程,即设计人员首先在大脑中构思产品的外形、性能和大致的技术参数等,然后在详细设计阶段完成各类数据模型,最终将这个模型转入到研发流程中,完成产品的整个设计研发周期。这样的产品设计过程我们称为“正向设计”过程。逆向工程产品设计可以认为是一个从产品到设计的过程。简单地说,逆向工程产品设计就是根据已经存在的产