搜档网
当前位置:搜档网 › 四大逆向工程软件简介

四大逆向工程软件简介

四大逆向工程软件简介
四大逆向工程软件简介

四大逆向工程软件简介

Imageware 由美国 EDS 公司出品,是最著名的逆向工程软件,正被广泛应用于汽车、航空、

航天、消费家电、模具、计算机零部件等设计与制造领域。该软件拥有广大的用户群,国外有 BMW、Boeing、GM、Chrysler、Ford、raytheon、Toyota 等著名国际大公司,国内则有上海大众、上海交大、上海 DELPHI、成都飞机制造公司等大企业。

以前该软件主要被应用于航空航天和汽车工业,因为这两个领域对空气动力学性能要求很高,在产品开发的开始阶段就要认真考虑空气动力性。常规的设计流程首先根据工业造型需要设计出结构,制作出油泥模型之后将其送到风洞实验室去测量空气动力学性能,然后再根据实验结果对模型进行反复修改直到获得满意结果为止,如此所得到的最终油泥模型才是符合需要的模型。如何将油泥模型的外形精确地输入计算机成为电子模型,这就需要采用逆向工程软件。首先利用三坐标测量仪器测出模型表面点阵数据,然后利用逆向工程软件(例如:Imageware surfacer)进行处理即可获得 class 1 曲面。

随着科学技术的进步和消费水平的不断提高,其它许多行业也开始纷纷采用逆向工程软件进行产品设计。以微软公司生产的鼠标器为例,就其功能而言,只需要有三个按键就可以满足使用需要,但是,怎样才能让鼠标器的手感最好,而且经过长时间使用也不易产生疲劳感却是生产厂商需要认真考虑的问题。因此微软公司首先根据人体工程学制作了几个模型并交给使用者评估,然后根据评估意见对模型直接进行修改,直至修改到大家都满意为止,最后再将模型数据利用逆向工程软件 Imageware 生成 CAD 数据。当产品推向市场后,由于外观新颖、曲线流畅,再加上手感也很好,符合人体工程学原理,因而迅速获得用户的广泛认可,产品的市场占有率大幅度上升。

Imageware 逆向工程软件的主要产品有:

Surfacer——逆向工程工具和 class 1 曲面生成工具

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 软件将以下工作流程的高性能工具完整的集成到一起: [弹性的曲面创建工具]:可以在一个弹性的设计环境里非常方便的直接从曲线、曲面、或测量数据创建曲面,支持贝茨尔(Bezier)和非均匀有理 B 样条(NURBS)曲面两种方法。用户可以选择适合的曲面方法,通过结合两种方法的优点来获益。 [动态的曲面修改工具]:允许用户在交互的方式下试探设计主题,立刻就可以看到是否美观和思路是否符合工程观念。设计、工程分析、制造的标准都通过精心的构造过程考虑进去,所以当每次修改曲面时不需要再重新校核标准。

[实时的曲面诊断工具]:可以提供诸如任意截面的连续性、曲面反射线情况、高亮度线、光谱图、曲率云图和园柱型光源照射下的反光图等多种方法,在设计的任何时候都可以查出曲面缺陷。.

:在复杂的曲面缝补等情况下,即使曲面进行了移动修改等操 [有效的曲面连续性管理工具] 作,也能保证曲面同与之相连的曲面间的曲率连续,避免了乏味的手工再调整过程。相当于假设雨水从上面落下,由于形状差 [强大的处理扫描数据能力 Rainbow 图法(]:根据相当于曲率大异导致雨水流速差异)、曲率大小变化云图法(对于一个完全光顺的曲面, class 1

这样可以很快地捕捉产品的主要小变化为零,对于两个不同曲面,此值会不同)将扫描数据分开,特征,并迅速建立各个相应曲面,避免了费事的分析和处理。在计算机辅助曲面检查、曲面造型及快速样件等方面具有其它软件正是由于Imageware

无可匹敌的强大功能,使它当之无愧的成为逆向工程领域的领导者。Geomagic Studio

可轻易公司出品的逆向工程和三维检测软件 Geomagic Studio 由美国Raindrop (雨滴)该软件曲面。 NURBS 地从扫描所得的点云数据创建出完美的多边形模型和网格,并可自动转换为 Imageware 以外应用最为广泛的逆向工程软件。也是除了五个模块。主要功DecimateCapture 、主要包括 Qualify、Shape、Wrap、Geomagic Studio

能包括:(Polygons) 自动将点云数据转换为多边形快速减少多边形数目(Decimate)

把多边形转换为 NURBS 曲面

曲面分析(公差分析等)

输出与 CAD/CAM/CAE 匹配的文件格式(IGS、STL、DXF等)

1.从CAD数模得到的产品模型

2.将CAD模型读入 Geomagic Studio

设计模型与从实际模型扫描所得的点云数据(不同坐标系)

4.扫描数据与CAD模型的自动对合

5.扫描数据与模型的自动对齐CAD 误差以彩色图形直观显示

6.

7.用户可标出任意点误差 HTML 格式 8. Qualify 的结果可以输出为CopyCAD

它能允许从已存在公司出品的功能强大的逆向工程系统软件,是由英国CopyCAD DELCAM

曲面的产生提供了复杂该软件为来自数字化数据的的零件或实体模型中产生三

维CAD模型。 CAD

的工具。CopyCAD 能够接受来自坐标测量机床的数据,同时跟踪机床和激光扫描器。并且能够快速掌握其功能, CopyCAD 简单的用户界面允许用户在尽可能短的时间内进行生产,产生具有既使对于初次使用者也能做到这点。 CopyCAD 的用户将能够快速编辑数字化数据,使用高质量的复杂曲面。该软件系统可以完全控制曲面边界的选取,然后根据设定的公差能够自动产生光滑的多块曲面还能够确保在连接曲面之间的正切的连续性。CopyCAD ,同时,该软件的主要功能如下:

数字化点数据输入图形和三角模型文件DUCT

CNC 坐标测量机床文件码和分隔的 ASCII NC

SCANTRON 激光扫描器、三维扫描器和PC ArtCAM

Renishaw MOD 文件

点操作能够进行相加、相减、删除、移动以及点的隐藏和标记等点编辑能够为测量探针大小对模型的三维偏置进行补偿

能够进行模型的转换、缩放、旋转和镜像等模型转换能够对平面、多边形或其它模型进行模型裁剪

三角测量在用户定义的公差和选项内的数字化模型的三角测量,包括:原始的——法线设置①尖锐——尖锐特征强化②特征匹配——来自点法线数据的特征③

④关闭三角测量——为了快速绘图可以关闭模型

特征线的产生边界——转换模型外边缘为特征线如凸出和凹下)而探测数据里的尖锐边缘(间断——为找到简单的特征能够转换数字化扫描线为特征线输入的数据——能够从点文件中摘录多线条和样条曲线

曲面构造通过在三角测量模型上跟踪直线产生多样化曲面在连接的曲面

之间,用已存在的曲面定义带有选项的正切连续性的边界使用特征线指导和加快曲面定义

曲面错误检查比较曲面与数字化点数据报告最大限、中间值和标准值的错误背离错误图形形象地显示变化

输出CADDS4X 、IGES 码和二进制STL ASCII

DUCT 图形、三角模型和曲面分隔的 ASCII 码

RapidForm

提供了新一代RapidForm RapidForm 是韩国 INUS 公司出品的全球四大逆向

工程软件之一,后处理之最佳化的可实时将点云数据运算出无接缝的多边形曲面,运算模式,使它成为 3D Scan

接口。RapidForm 也将使您的工作效率提升,使 3D 扫描设备的运用范围扩大,改善扫描品质。

多点云数据管理介面,由于数据非常庞大,因~ 100,000 200,000点)扫描

仪会产生大量的数据高级光学 3D (可达) RapidForm 使用更少的系统资源提供

记忆管理技术(此需要昂贵的电脑硬件才可以运算,现在可缩短您处理数据的时间。

多点云处理技术不论是稀疏的点云还是跳点都可以轻易地转换成非常好的点云,可以迅速处理庞大的点云数据,扫描仪所产生的不良点云。RapidForm 提供过滤点云工具以及分析表面偏差的技术来消除 3D

快速点云转换成多边形曲面的计算法处理是同类型计 3D 及 2D 提供一个特别的计算技术,针对在所有逆向工程软件中,RapidForm

能RapidForm 算,软件提供了一个最快最可靠的计算方法,可以将点云快速计算出多边形曲面。处理无顺序排列的点数据以及有顺序排列的点数据。

彩色点云数据处理

RapidForm 支持彩色 3D 扫描仪,可以生成最佳化的多边形,并将颜色信息映像在多边形模型中。Ra成型机制作出有颜色信息的模型。 RP 在曲面设计过程中,颜色信息将完整保存,也可以运用.

pidForm 也提供上色功能,通过实时上色编辑工具,使用者可以直接对模型编辑自己喜欢的颜色。

点云合并功能

多个点扫描数据有可能经手动方式将特殊的点云加以合并,当然,RapidForm 也提供一技术,使用者可以方便地对点云数据进行各种各样的合并。

注:Roland 模具加工机随机所附的 PixForm 软件为 RapidForm 的 OEM 软件.

CATIA逆向软件

比较好的几个逆向软件中CATIA的逆向是最好的,尤其是可以结合其强大的曲面造型功能进行造型设计,其class A也是很厉害的,另外造型完后可以直接在里面做结构做摸具做加工等后续工作,这个是其他逆向软件达不到的

geomagic 感觉唯一的优点就是可以自动生成曲面,但这个也是高端用户所认为的缺点,自动生成的曲面质量是非常差的,要得到好的曲面,其前期的处理工作量又是非常大的,也失去了他快捷的优势了.另外,CATIA新版本里面也有自动拟合曲面功能,但缺点是不能进行曲面编辑调整.一般都不用这个功能.

copycad和geomagic差不多,看不到多大的好处

polyworks 等测量逆向软件,做法都差不多,但从可操作性和方便上来讲,都不如CATIA做逆向方便

IMW做逆向不错,是做逆向的专业软件中最强大的,曲面处理也很不错,

另外,逆向一般和高级曲面 A面联系在一起,所以很多做高级曲面的软件都有逆向功能,象icem surf alias 等等,这些软件的特点是曲面功能都很强大,但逆向功能很难操作,

以前很多人认为CATIA的点处理功能比较慢,功能比较差,可比较了几个逆向软件后感觉点处理速度各个逆向软件差不多,最快的还是国内的某个逆向软件, 从综合角度来考虑,我认为CATIA做逆向是个不错的选择,

最全的脱壳,反编译 ,汇编工具集合

本文由nbdsb123456贡献 最全的脱壳,反编译,汇编工具集合 破解工具下载连接 1 调试工具 Ollydbg V1.10 正式汉化修改版+最新最全插件2.02m SmartCheck V6.20 20.54M Compuware SoftICE V4.3.1 精简版10.57M Compuware (SoftICE) Driver Studio V3.1 完全版176.52M TRW2000 V1.22 汉化修改版+全部最新插件1.47Mforwin9X 动态破解VB P-code程序的工具 WKTVBDebugger1.4e 2 反汇编工具 W32Dasm是一个静态反汇编工具,也是破解人常用的工具之一,它也被比作破解人的屠龙刀。 W32Dasm10.0修改版是经Killer在W32Dasm8.93基础上修改的,修改后的W32Dasm功能更强大,能完美显示中文字符串及VB程序,内含16进制编辑器,破解修改软件更容易,真可谓是反汇编极品! W32Dasm V10.0 汉化增强版419 KB 反汇编工具老大,功能大大的胜过了w32dasm。学习加解密的朋友不可错过。即使不用你也要收藏一份。:) IDA Pro Standard V4.60.785 零售版 + Flair + SDK33.08 MB C32Asm是集反汇编、16进制工具、Hiew修改功能与一体的新工具。强烈推荐! C32Asm V0.4.12 1.97 MB C32Asm V0.4.12 破解补丁 650 KB 3 反编译工具 Delphi DeDe3.50.04 Fix增强版5.3 MB 4 PE相关工具 PE编辑工具 Stud_PE1.8 PE工具,用来学习PE格式十分方便。 https://www.sodocs.net/doc/2e3326300.html,/tools/PE_tools/Editor/stdupe/Stud_PE1.8.zip ProcDump32 v1.6.2 FINAL Windows下的脱壳工具并可进行PE编辑。可惜不更新了,己过时,现阶段一般只用来作为PE编辑工具使用。 Win9x/2K 大小:161K https://www.sodocs.net/doc/2e3326300.html,/tools/PE_tools/Editor/ProcDump/PDUMP32.ZIP LordPE DLX 强大的PE编辑工具,有了它,其它的相关工具你可以扔进垃圾堆了。 https://www.sodocs.net/doc/2e3326300.html,/tools/PE_tools/Lordpe/LPE-DLX.ZIP PEditor 1.7 可修复PE文件头,一款相当方便的PE文件头编辑工具。 417K PE Tools v1.5.4 另一款PE编辑工具。 https://www.sodocs.net/doc/2e3326300.html,/tools/PE_tools/Editor/PEditor/PEDITOR.ZIP 输入表重建工具 ImportREC v1.6 FINAL 各类插件可以手工重建Import表,支持UPX、Safedisc 1、PECompact、PKLite32、Shrinker、ASPack, ASProtect、tELock等。 160K

逆向工程

课程名称:逆向工程实践 报告题目:使用Ollydbg破解程序课程教师:何兴高 学院:信息与软件工程学院 姓名:杨博辰 学号:201522220234

一、题目名称 《使用Ollydbg破解程序》 二、题目内容 使用C++语言通过Windows API编写一个登录程序,当用户输入正确的用户名和密码之后,提示登录成功,否则提示登录失败。通过Ollydbg软件进行反汇编,对程序进行破解。程序界面如下图。 三、知识点及介绍。 1.汇编语言介绍 汇编语言(Assembly Language)是面向机器的程序设计语言。在汇编语言中,用助记符(Mnemonics)代替机器指令的操作码,用地址符号(Symbol)或标号(Label)代替指令或操作数的地址,如此就增强了程序的可读性并且降低了编写难度,象这样符号化的程序设计语言就是汇编语言,因此亦称为符号语言。使用汇编语言编写的程序,机器不能直接识别,还要由汇编程序或者叫汇编语言编译器(即汇编器)转换成机器指令。汇编程序将符号化的操作代码组装成处理器可以识别的机器指令,这个组装的过程称为组合或者汇编。因此,有时候人们也把汇编语言称为组合语言。 汇编语言是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并

能直接控制硬件的语言。汇编语言,作为一门语言,对应于高级语言的编译器,需要一个“汇编器”来把汇编语言原文件汇编成机器可执行的代码。高级的汇编器如MASM,TASM等等为我们写汇编程序提供了很多类似于高级语言的特征,比如结构化、抽象等。在这样的环境中编写的汇编程序,有很大一部分是面向汇编器的伪指令,已经类同于高级语言。现在的汇编环境已经如此高级,即使全部用汇编语言来编写windows的应用程序也是可行的,但这不是汇编语言的长处。汇编语言的长处在于编写高效且需要对机器硬件精确控制的程序。 2.C++语言介绍 C++是在C语言的基础上开发的一种通用编程语言,应用广泛。C++支持多种编程范式--面向对象编程、泛型编程和过程化编程。最新正式标准C++14于2014年8月18日公布。其编程领域众广,常用于系统开发,引擎开发等应用领域,是至今为止最受广大受用的最强大编程语言之一,支持类:类、封装、重载等! C++语言的主要特点表现在两个方面,一是尽量兼容C,二是支持面向对象的方法。它操持了C的简洁、高效的接近汇编语言等特点,对C的类型系统进行了改革的扩充,因此C++比C更安全,C++的编译系统能检查出更多的类型错误。另外,由于C语言的广泛使用,因而极大的促进了C++的普及和推广。 3.Windows API介绍 Windows 这个多作业系统除了协调应用程序的执行、分配内存、管理资源…之外,它同时也是一个很大的服务中心,调用这个服务中心的各种服务(每一种服务就是一个函数),可以帮应用程式达到开启视窗、描绘图形、使用周边设备等目的,由于这些函数服务的对象是应用程序(Application),所以便称之为Application Programming Interface,简称API 函数。WIN32 API也就是Microsoft Windows 32位平台的应用程序编程接口。 当WINDOWS操作系统开始占据主导地位的时候,开发WINDOWS平台下的应用程序成为人们的需要。而在WINDOWS程序设计领域处于发展的初期,WINDOWS程序员所能使用的编程工具唯有API函数,这些函数是WINDOWS提供给应用程序与操作系统的接口,他们犹如“积木块”一样,可以搭建出各种界面丰富,功能灵活的应用程序。所以可以认为API函数是构筑整个WINDOWS框

四大汽车逆向工程软件简介

四大汽车逆向工程软件简介 四大逆向工程软件之一:Imageware Imageware 由美国EDS 公司出品,是最著名的逆向工程软件,正被广泛应用于汽车、航空、航天、消费家电、模具、计算机零部件等设计与制造领域。该软件拥有广大的用户群,国外有BMW、Boeing、GM、Chrysler、Ford、raytheon、Toyota 等著名国际大公司,国内则有上海大众、上海交大、上海DELPHI、成都飞机制造公司等大企业。 以前该软件主要被应用于航空航天和汽车工业,因为这两个领域对空气动力学性能要求很高,在产品开发的开始阶段就要认真考虑空气动力性。常规的设计流程首先根据工业造型需要设计出结构,制作出油泥模型之后将其送到风洞实验室去测量空气动力学性能,然后再根据实验结果对模型进行反复修改直到获得满意结果为止,如此所得到的最终油泥模型才是符合需要的模型。如何将油泥模型的外形精确地输入计算机成为电子模型,这就需要采用逆向工程软件。首先利用三坐标测量仪器测出模型表面点阵数据,然后利用逆向工程软件(例如:Imageware surfacer)进行处理即可获得class 1 曲面。 随着科学技术的进步和消费水平的不断提高,其它许多行业也开始纷纷采用逆向工程软件进行产品设计。以微软公司生产的鼠标器为例,就其功能而言,只需要有三个按键就可以满足使用需要,但是,怎样才能让鼠标器的手感最好,而且经过长时间使用也不易产生疲劳感却是生产厂商需要认真考虑的问题。因此微软公司首先根据人体工程学制作了几个模型并交给使用者评估,然后根据评估意见对模型直接进行修改,直至修改到大家都满意为止,最后再将模型数据利用逆向工程软件Imageware 生成CAD 数据。当产品推向市场后,由于外观新颖、

ARM平台下ELF文件反汇编

ARM平台下的反汇编 目的 作为代码插桩过程的前提,首先需要对于所提供的二进制代码进行必要的分析,了解ELF文件的结构以及ARM平台的指令编码,将二进制01码翻译成为用户可读的汇编代码。通过对于汇编代码的分析,用户可以得到程序应用中各个函数起始地址以及程序各个模块的流程调用等重要信息,为代码插桩提供详细的数据。经过插桩的代码最后通过再一次汇编的过程输出到目标文件。因此,正确、快速地进行平台下的反汇编工作显得十分关键。 ARM平台介绍[1-2] ARM(Advanced RISC Machines)是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC(精简指令集计算机)处理器、相关技术及软件。技术具有性能高、成本低和能耗低等特点。经历过早期自己设计和制造芯片的不景气之后,公司自己开始不制造芯片,只将芯片的设计方案授权(licensing)给其他公司,由它们来生产,形成了较为独特的盈利模式。RISC结构优先选取使用频率最高的简单指令,避免复杂指令;将指令长度固定,指令格式和寻地方式种类减少;以控制逻辑为主,不用或少用微码控制等。ARM处理器在秉承RISC体系优点的基础上,进行了针对嵌入式系统的功能扩展,使得指令更加灵活,处理器性能在嵌入式平台上更加突出。 ARM微处理器的核心结构如下图所示: Figure 1.ARM处理器核心结构示意图[2] 数据指令通过数据总线进入到处理器核心,然后在指令被执行之前经由指令解码器翻译。和所有精简指令集处理器一样,ARM采用了load-store架构,load指令将数据从内存拷贝到寄存器,store指令将数据从寄存器转储到内存,所有的数据处理在寄存器中完成。 ARM处理器是32位的处理器,所有的指令默认将寄存器视为32位的值,因此Sign extend会在数据写入寄存器之前将所有8位或者12位的数值转换为32位的数值。ARM指令通常有两个源寄存器: Rn, Rm 以及一个目标寄存器,操作数都是从寄存器通过内部总线读取得到。 核心的ALU (arithmetic logic unit) or MAC (multiply-accumulate unit) 从内部总线A,B上取得操作数进行运算,然后将结果写入目标寄存器。 ARM处理器一个很大的特色是寄存器Rm可以选择性地在进入ALU运算之前在barrel shifter中进

2021年四大逆向工程软件简介

四大逆向工程软件简介 欧阳光明(2021.03.07) Imageware 由美国 EDS 公司出品,是最著名的逆向工程软件,正被广泛应用于汽车、航空、航天、消费家电、模具、计算机零部件等设计与制造领域。该软件拥有广大的用户群,国外有 BMW、Bo eing、GM、Chrysler、Ford、raytheon、Toyota 等著名国际大公司,国内则有上海大众、上海交大、上海 DELPHI、成都飞机制造公司等大企业。 以前该软件主要被应用于航空航天和汽车工业,因为这两个领域对空气动力学性能要求很高,在产品开发的开始阶段就要认真考虑空气动力性。常规的设计流程首先根据工业造型需要设计出结构,制作出油泥模型之后将其送到风洞实验室去测量空气动力学性能,然后再根据实验结果对模型进行反复修改直到获得满意结果为止,如此所得到的最终油泥模型才是符合需要的模型。如何将油泥模型的外形精确地输入计算机成为电子模型,这就需要采用逆向工程软件。首先利用三坐标测量仪器测出模型表面点阵数据,然后利用逆向工程软件(例如:Imageware surfacer)进行处理即可获得 class 1 曲面。 随着科学技术的进步和消费水平的不断提高,其它许多行业也开始纷纷采用逆向工程软件进行产品设计。以微软公司生产的鼠标器为例,就其功能而言,只需要有三个按键就可以满足使用需要,但是,怎样才能让鼠标器的手感最好,而且经过长时间使用也不易

产生疲劳感却是生产厂商需要认真考虑的问题。因此微软公司首先根据人体工程学制作了几个模型并交给使用者评估,然后根据评估意见对模型直接进行修改,直至修改到大家都满意为止,最后再将模型数据利用逆向工程软件 Imageware 生成 CAD 数据。当产品推向市场后,由于外观新颖、曲线流畅,再加上手感也很好,符合人体工程学原理,因而迅速获得用户的广泛认可,产品的市场占有率大幅度上升。 Imageware 逆向工程软件的主要产品有: Surfacer——逆向工程工具和 class 1 曲面生成工具 Verdict——对测量数据和CAD数据进行对比评估 Build it——提供实时测量能力,验证产品的制造性 RPM——生成快速成型数据 View——功能与 Verdict 相似,主要用于提供三维报告 Imageware 采用 NURB 技术,软件功能强大,易于应用。Imag eware 对硬件要求不高,可运行于各种平台:UNIX 工作站、PC 机均可,操作系统可以是 UNIX、NT、Windows95 及其它平台。 Imageware 由于在逆向工程方面具有技术先进性,产品一经推出就占领了很大市场分额,软件收益正以 47% 的年速率快速增长。 Surfacer 是 Imageware 的主要产品,主要用来做逆向工程,它处理数据的流程遵循点——曲线——曲面原则,流程简单清晰,软件易于使用。其流程如下:

逆向工程及其应用

逆向工程及其应用 一、什么是逆向工程 随着科技的发展和人们生活水平的提高,产品的性能和外形发生了很大的改变,原来粗大笨重的产品,正在被小巧玲珑,造型别致的产品所代替,工业产品设计正在成为一种热门的行业,根据人机工程学和美学原理设计的各种使用方便、线条流畅的产品,如轿车、家用电器等,随处可见,这些产品一般都是由一些空间自由曲面组成的,用传统的方法很难设计、制造出来;为了设计、制造这类产品和相应的工装具,必须使用CAD/CAM,多轴加工中心等先进技术,现代逆向工程技术就是在这祥的背景下产生的。 逆向工程RE (Reverse Engineering,也称反求工程),是对产品设计过程的一种描述。在工程技术人员的一般概念中,产品设计过程是一个从无到有的过程,即设计人员首先在大脑中构思产品的外形、性能和大致的技术参数等,然后通过绘制图纸建立产品的三维数字化模型,最终将这个模型转人到制造流程中,完成产品的整个设计制造周期。这样的产晶设计过程珊们欢去“正向设计”过程。 逆向工程产品设计过程如图一所示,可以认为是一个“从有到无”的过程。简单地说,逆向工程产品设计就是根据已经存在的产品模型,反向推出产品设计数据(包括设计图纸或数字模型)的过程;它针对现有的工件(样品或模型)利用3D数字化量测仪器准确、快速的测量出工件的轮廓坐标,并加以编辑、修改、建构曲面后,传至一般的CAD/CAM系统.再由CAM软件产生刀具的NC加工路径送至CNC加工机床,制作出所需模具,或者送到快速原型成型机,将样品模型制作出来。逆向工程在某些方面很像我们常说的“仿制”;可以说,在我国正在成为世界制造中心的今天,逆向工程将大有用武之地。

逆向工程技术的应用

逆向工程技术的应用 仿制、仿造已经成为了我国一部分企业的固定生产方式,针对市场热门产品的仿造品屡见不鲜,逆向工程的广泛应用在其中起到了不可忽视的作用。于是,经常有人将逆向工程和非法仿制联系在一起,甚至提出了知识产权保护等法律层面的问题。实际上,逆向工程代表了一种非常高效的产品设计思路和方法。本文从逆向工程设计的概念出发,阐述了现代制造业中逆向工程的概念以及逆向工程在模具制造等行业中的作用。本文对于我们正确认识逆向工程技术有一定的意义。 一、引言 在国外,逆向工程已经作为一种先进的设计方法被引入到新产品的设计开发工作中。我国也有许多企业应

用逆向工程技术,对竞争对手的产品进行改进,以避开艰苦的原型设计阶段,这是一种产品的再设计过程。所谓产品再设计,就是通过观察和测试某一种产品,对其进行初始化,然后拆开产品,逐一分析单个零件的组成、功能、装配公差和制造过程。这些工作的目的就是要充分理解产品的制造过程,并以此为基础在子系统和零件层面上,优化设计出一种更好的产品。美国的许多工程学院开设了逆向工程课程,教授学生用再设计代替原型设计,作为解决设计问题的一种方法。近年来,在汽车、电子产品等领域人们越来越多地采用逆向工程技术,来部分替代使用多年的原型设计方法。 二、逆向工程的概念 逆向工程(Reverse Engineering,RE)是对产品设计过程的一种描述。在工程技术人员的一般概念中,产品设计过程是一个从无到有的过程:设计人员首先构思产品的外形、性能和大致的技术参数等,然后利用CAD技术建立产品的三维数字化模型,最终将这个模型转入制造流程,完成产品的整个设计制造周期。这样的产品设计过程我们可以称之为“正向设计”。

UGNX逆向工程应用试卷____答案

杭州博洋科技有限公司技术考核试卷 (UG基础类40%与逆向实践类60%)(A+B)单位姓名成绩 一、填空题(每题3分,共36分) 1、为了使所建立的模型随时按需要可变,应确保模型特征的参数化和相关性。 2、UG软件不支持中文文件名,文件名的后缀是 prt 。 3、三维造型设计步骤是新建文件、调用建模模块、调用建模工具建模、保存文件。 4、草图约束分为尺寸约束和几何约束两类。 5、UG NX实体建模的基准特征包括基准平面、基准轴、基准坐标系。 6、通过抽取几何体来复制面、区域或体实现创建作用。 7、为保证逆向造型的质量,造型过程中,不得随意修改产品的外形与尺寸,严禁出现主尺寸超差。在不确定情况下,产品定位孔洞应做到宁大勿小。 8、UGNX的逆向造型遵循:点、线、面、体的一般原则。 9、在UGNX中快捷键Ctrl+J表示编辑对象颜色、Ctrl+B表示隐藏几何体、Ctrl+R 表示旋转视图对象。 10、逆向造型质量判定标准有主要分造型范围、外观、精度与配合、 尺寸、干涉、拔模、工艺性。 11、UGNX:美国麦道飞机公司开发;利用NX建模模块,工业设计师能够迅速地建立和改进复杂的产品形状 12、一般来说,创建曲面都是从曲线开始的。可以通过点创建曲线来创建曲面,也可以通过抽取或使用视图区已有的特征边缘线创建曲面。 二、选择题(每题2分,共16分) 1、下列关于参数化描述正确的是(C ) A、参数化就是指对尺寸标注进行参数化处理 B、参数化是UGNX独有的特点 C、是使用“关联性约束”来定义和修改几何模型 D、参数化设计使设计过程变的更加复杂

2、选择下列(C)哪一项,可以在进行选择操作时只选一个边缘而选中所有相切边缘? A、相连曲线 B、自动判断曲线 C、相切曲线 D、特征曲线 3、UGNX软件里的快捷键CTRL+SHIFT+U是表示(C)。 A、反隐藏 B、从隐藏的几何体中选取几何体 C、显示所有隐藏的几何体 D、隐藏选定的几何体 4、曲面上有一条样条曲线,如果要在曲面上将这条曲线偏置一段距离,应该(A)。 A、面上偏置曲线 B、表面偏置 C、偏置-〉曲线沿表面 D、编辑-〉变换-〉曲面样条 5、建模中,想用一些实体的边缘创建曲线集,应该用(D)命令来生成这些曲线。 A、转换-〉边缘到曲线 B、投影-〉边缘到曲线 C、抽取-〉Isoline曲线 D、抽取-〉边缘曲线 6、你希望创建的部件看起来真实感很强,应该用(A)方法显示。 A、用着色方式显示 B、显示隐藏边方式显示 C、带灰度的隐藏边显示 D、虚线显示隐藏边方式 7、第一次打开一个已经存在的部件,假如要想知道一个样条曲线的详细信息,应该用(D)菜单选项。 A、信息-〉自由形状-〉样条曲线 B、编辑-〉样条曲线 C、帮助-〉样条信息 D、信息-〉样条曲线 8、草图是(D) A、位于同一平面上的曲线集 B、艺术家的图纸,作为最初的草稿 C、从其他图形系统来的粗略的图象 D、一个命名的曲线集合,在指定的平面上 三、判断题:(正确写√,错误写×)(每题3分,共18分) 1、不封闭的截面线串不能创建实体。(×) 2、逆向造型中连线的方法是:先圆后直,再样条曲线。(×) 3、构建曲面时,所有构造线必须光顺连接,也就是相切或曲率连续。(√) 4、不规范的曲面间要用网格来桥接。(√) 5、逆向造型过程中所有的为了保证过点应全部用样条曲线。(×) 6、实体在求和时,通常要求求和的对象之间有相交的部分,如果没有相交部分,则不能求 和,如果两实体共面,可以求和。(√)

如何实现单片机程序代码的反汇编

如何实现单片机程序代码的反汇编 要正确获取程序的目标代码,首先要明确程序代码的存放地点。51单片机的程序存储器最大空间为64KB,在一个实际的应用系统中,程序存储器的分布情况可能有以下几种: (1)只使用了片内程序空间。而没有使用片外的程序空间。 其硬件特征为:/EA引脚接VCC;/PSEN引脚为空脚。 这种情况比较简单,全部应用程序都在单片机内部的程序存储器中,我们只要使用编程器将程序代码读出来,保存为一个目标代码文件就可以了。要注意的是,有一些新型的单片机具有加密功能,如果进行了加密,其中的程序代码就是不能读出。 (2)没有使用片内程序空间,片外程序空间由单个存储芯片构成。 其硬件特征为:/EA引脚接GND;/PSEN引脚接到一个存储芯片上。 这种情况下,全部应用程序都在单片机外部的程序存储器中,原则上我们只要使用编程器将程序代码读出来,保存为一个目标代码文件就可以了。但要注意的是,这样得到的并不一定是真正的目标代码,因为,为了防止程序代码被读取、反汇编,很多设计人员都采取跳接线的方法,将某些地址线跳接或将某些数据线跳接或将地址线、数据线都进行跳接,从而保护自己的程序不被反汇编(参见图1~图4)。这样一来,我们从存储器中读取的就不是真正的程序目标代码,必须进行某种变换,将其转换为真正的程序目标代码,才能进行反汇编。 要进行目标代码的变换,首先必须根据硬件画出实际的地址和数据的接线图,然后借助于工具软件进行变换。在“51汇编集成开发环境”(其下载网址为www1.skycn.com/SOFt/15074/html)中,提供了一个变换工具,从软件界面的[辅助工具]—[目标代码转换]-[bin代码还原]就可以启动这个工具。 单击[浏览]可以选择要转换的代码文件,注意:这里的代码文件只能是二进制代码文件,

逆向工程技术及其发展现状

摘要 与CAD/CAM系统在我国几十年的应用时间相比,逆向工程技术为企业所接受只有十几年甚至几年的时间。时间虽短,但是逆向工程技术广阔的应用前景和对企业竞争力的巨大推动作用,已经引起了很多企业的关注。 逆向工程实现了从实际物体到几何建模的直接转换。逆向工程技术涉与计算机图形学、计算机图像处理、微分几何、概率统计等学科。本文介绍了逆向工程的基本概念,重点分析的逆向工程技术过程,阐述了现代制造业中逆向工程的的发展前景以与逆向工程技术的重要应用领域。本文对于我们正确认识逆向工程技术有一定的意义。 【关键词】逆向工程CAD/CAM solidworks surfacer 反向工程、建模

目录 1 逆向工程简介 (1) 1.1逆向工程介绍............................. 错误!未定义书签。 1.2 逆向工程的应用 (3) 2 逆向工程应用实例 (6) 3 逆向工程的其他应用领域 (7) 参考文献 (8)

1 逆向工程介绍 1. 逆向工程的概念 逆向工程(Reverse Engineering,RE)是对产品设计过程的一种描述。在工程技术人员的一般概念中,产品设计过程是一个从无到有的过程:设计人员首先构思产品的外形、性能和大致的技术参数等,然后利用CAD技术建立产品的三维数字化模型,最终将这个模型转入制造流程,完成产品的整个设计制造周期。这样的产品设计过程我们可以称之为“正向设计”。逆向工程则是一个“从有到无”的过程。简单地说,逆向工程就是根据已经存在的产品模型,反向推出产品的设计数据(包括设计图纸或数字模型)的过程。 随着计算机技术在制造领域的广泛应用,特别是数字化测量技术的迅猛发展,基于测量数据的产品造型技术成为逆向工程技术关注的主要对象。通过数字化测量设备(如坐标测量机、激光测量设备等)获取的物体表面的空间数据,需要经过逆向工程技术的处理才能获得产品的数字模型,进而输送到CAM系统完成产品的制造。因此,逆向工程技术可以认为是“将产品样件转化为CAD模型的相关数字化技术和几何模型重建技术”的总称。 逆向工程软件部分品牌包括Surfacer(Imageware)、ICEM、CopyCAD、Rapid Form等。逆向软件的演进约略可区分为三个阶段。十一年前在逆向工程上,只能运用CATIA等CAD/CAM高阶曲面系统。市场后来发展出两套主流产品约在七、八年前技术成熟,广为业界引用。到最近四年来,发展

逆向工程技术的内容及其应用范围

一、逆向工程技术的内容及其应用范围 随着计算机技术的发展,CAD技术已成为产品设计人员进行研究开发的重要工具,其中的三维造型技术已被制造业广泛应用于产品及模具设计、方案评审、自动化加工制造及管理维护各个方面。在实际开发制造过程中,设计人员接收的技术资料可能是各种数据类型的三维模型,但很多时候,却是从上游厂家得到产品的实物模型。设计人员需要通过一定的途径,将这些实物信息转化为CAD模型,这就应用到了逆向工程技术(Reverse Engineering)。 所谓逆向工程技术,是指用一定的测量手段对实物或模型进行测量,根据测量数据通过三维几何建模方法重构实物的CAD模型的过程。逆向工程技术与传统的正向设计存在很大差别。传统的产品设计一般需要经过图1所示的设计过程。而逆向工程则是从产品原型出发,进而获取产品的三维数字模型,使得能够进一步利用CAD/ACE/CAM以及CIMS等先进技术对其进行处理。它的设计流程如图2所示,与图1的不同之处在于设计的起点不同,相应的设计自由度和设计要求也不相同。 一般来说,产品逆向工程包括形状反求、工艺反求和材料反求等几个方面,在工业领域的实际应用中,主要包括以下几个内容: (1)新零件的设计,主要用于产品的改型或彷型设计。 (2)已有零件的复制,再现原产品的设计意图。 (3)损坏或磨损零件的还原。 (4)数字化模型的检测,例如检验产品的变形分析、焊接质量等,以及进行模型的比较。 逆向工程技术为快速设计和制造提供了很好的技术支持,它已经成为制造业信息传递的重要而简洁途径之一。 二、逆向工程技术实施的条件 1.逆向工程技术实施的硬件条件 在逆向工程技术设计时,需要从设计对象中提取三维数据信息。检测设备的发展为产品三维信息的获取提供了硬件条件。目前,国内厂家使用较多的有英国、意大利、德国、日本等国家生产的三坐标测量机和三维扫描仪。就测头结构原理来说,可分为接触式和非接触式两种,其中,接触式测头又可分为硬测头和软测头两种,这种测头与被测头物体直接接触,获取数据信息。非接触式测头则是应用光学及激光的原理进行的。近几年来,扫描设备有了很大发展。例如,英国雷尼绍公司的CYCLON2高速扫描仪,可实现激光测头和接触式扫描头的互换,激光测头的扫描精度达0.05mm,接触式扫描测头精度可达0.02mm。可对易碎、易变形的形体及精细花纹进行扫描。德国GOM公司的ATOS扫描仪在测量时,可随意绕被测物体进行移动,利用光带经数据影象处理器得到实物表面数据,扫描范围可达8m×8m。ATOS扫描不仅适于复杂轮廓的扫描,而且可用于汽车、摩托车内外饰件的造型工作。此外,日本罗兰公司的PIX-30网点接触式扫描仪,英国泰勒·霍普森公司的TAL YSCAN 150多传感扫描仪等,集中体现了检测设备的高速化、廉价化和功能复合化等特点。为实现从实物——建立数学模型——CAD/CAE/CAM一体化提供了良好的硬件条件。不同的测量对象和测量目的,决定了测量过程和测量方法的不同。在实际三坐标测量时,应该根据测量对象的特点以及设计工作的要求确定合适的扫描方法并选择相应的扫描设备。例如,材质为硬质且形状

逆向工程一般的步骤

在产品的开发及制造过程中,几何造型技术已使用得相当广泛。但是,由于种种原因,仍 有许多产品并非由CAD模型描述,设计和制造者面对的是实物样件。为了适应先进制造技术的发展,需要通过一定途径,将这些实物转化为CAD模型,使之能利用CAD、CAM等 先进技术进行处理。目前,与这种从实物样件获取产品数学模型技术相关的技术,已发展 成为CAD、CAM中的一个相对独立的范畴,称为“反求工程”(Reverse Engineering)。通过反求工程复现实物的CAD模型,使得那些以实物为制造基础的产品有可能在设计与制造的过程中,充分利用CAD、CAM等先进技术。由于反求工程的实施能在很短的时间内准确、可*地复制实物样件,因此反求工程成为当前企业先进制造技术的热门话题之一。利用一些非专业的逆向设计软件(如:UG、Pro/ENGINEER、CATIA等)和一些专业的逆向设计软 件(如:Surfacer、CopyCAD、Trace等)进行逆向造型是现阶段反求工程在企业应用的典型例子。

由于公司新产品开发需要,笔者利用UG软件进行零件的反求在外形复杂的汽车冲压件的逆向造型设计中取得较好应用效果。我们选择的测量设备是英国LK公司的三坐标测量机,可以用来测量特征的空间坐标、扫描剖面、测量分型线以及轮廓线。此设备获得点的数据 量不像激光扫描仪扫描的那么大,所以用一些非专业的逆向设计软件是很合适的。UG的逆向造型遵循:点→线→面→体的一般原则。一、测点测点之前规划好该怎么打点。由设计 人员提出曲面打点的要求。一般原则是在曲率变化比较大的地方打点要密一些,平滑的地 方则可以稀一些。由于一般的三坐标测量机取点的效率大大低于激光扫描仪,所以在零件 测点时要做到有的放矢。值得注意的是除了扫描剖面、测分型线外,测轮廓线等特征线也 是必要的,它会在构面的时候带来方便。

二、连线(1)点整理连线之前先整理好点,包括去误点、明显缺陷点。同方向的剖面点放在同一层里,分型线点、孔位点单独放一层,轮廓线点也单独放一层,便于管理。通常这个 工作在测点阶段完成,也可以在UG软件中完成。一般测量软件可以预先设定点的安放层,一边测点,一边整理。

(2)点连线连分型线点尽量做到误差最小并且光顺。因为在许多情况下分型线是产品的装 配结合线。对汽车、摩托车中一般的零件来说,连线的误差一般控制在0.5mm以下。连线要做到有的放矢,根据样品的形状、特征大致确定构面方法,从而确定需要连哪些线条, 不必连哪些线条。连线可用直线、圆弧、样条线(spline)。最常用的是样条线,选用“through point”方式。选点间隔尽量均匀,有圆角的地方先忽略,做成尖角,做完曲面后再倒圆角。(3)曲线调整因测量有误差及样件表面不光滑等原因,连成spline的曲率半径变化往往存在突变,对以后的构面的光顺性有影响。因此曲线必须经过调整,使其光顺。调 整中最常用的一种方法是Edit Spline,选Edit pole选项,利用鼠标拖动控制点。这里有许 多选项,如限制控制点在某个平面内移动、往某个方向移动、是粗调还是细调以及打开显 示spline的“梳子”开关等。另外,调整spline经常还要用到移动spline的一个端点到另一 个点,使构建曲面的曲线有交点。但必须注意的是,无论用什么命令调整曲线都会产生偏差,调整次数越多,累积误差越大。误差允许值视样件的具体要求决定。三、构面运用各 种构面方法建立曲面,包括Though Curve Mesh、Though Curves、Rule、Swept、From point cloud 等。构面方法的选择要根据样件的具体特征情况而定。笔者最常用的是

第二章逆向与反汇编工具

第二章逆向与反汇编工具 知道了一些反汇编的背景知识后,在开始深入学习IDA pro之前,了解一些其他用于逆向工程的工具知识也会非常有用。这些工具大部分都要早于IDA出生并且依然是很好的快速分析二进制文件的工具,同时它们也可以用来与IDA对照。就如我们所见到的,IDA已把这些工具的许多功能都集合到了它的用户界面中,这为逆向工程提供了一个简一的,集成的环境。然而,尽管IDA拥有一个集成的调试器,但我们并不打算讨论它,因为单就这个主题就可以出本书了。 分类工具(Classification Tools) 当我们一开始遇到一个不熟悉的文件时,问一些比较简单的问题,如“这是什么文件”,通常会很有用的。回答这问题的首要原则就是千万不要依靠这文件的扩展名来决定它是什么类型的文件。这甚至也是第二、三、四条原则。一旦你已经明白了文件扩展名对确定文件的类型没有任何意义之后,你也就会考虑学习使用如下的几个工具了。 file file是一个标准的工具,存在于*NIX类操作系统和Windows下的Cygwin[1]程序中。file试图通过检查文件里的某些特定域来确认文件的类型。在某些情况下,file能检测出常见的字符串,如“#!/bin/sh”(shell 脚本文件),或“”(HTML 文件)。然而检测某些非ASCII 文件将会变得更加困难,在这种情况下,file首先判断该文件是否是符合某定已知的文件格式。在大多情况下,它是通过搜索一个唯一的已知特征值(通常被称为幻数(magic number)[2])来决定文件的类型的。下面的十六进制表列出了一些常用文件类型的幻数。 file可以识别大量的文件格式,这其中包括许多ASCII文本格式,许多可执行文件格式和一些数据文件格式。file使用magic file来管理幻数检测。不同的操作系统拥有不同的magic flie,但是一般情况下位于/usr/share/file/magic,/usr/share/misc/magic或/edt/magic文件里。请参阅file的文档查询更多关于magic file的信息。 1. 更多资料请访问https://www.sodocs.net/doc/2e3326300.html,/. 2. 幻数(magic number)被很多文件格式规范用来表明该文件符合该文件格式。有时候幻数的选择还伴随着有趣的原由呢,如,MS-DOS可执行文件文件头的MZ特征值是由一位最初的MS-DOS结构师Mark Zbikowski的名字的每个单词的第一个字母组成,又如,十六进制数0xcafebabe是众所周知的Java .class文件的幻数,选择它仅公是因为它是一个很容易记的十六进制串。

计算机编程基本功:用IDA反汇编动态库

用IDA反汇编动态库 最近,一直在学习如何利用IDA来反汇编动态库,这里把我的学习心得写下来。为简单起见,这里就自己所写的一个动态库里的一个简单函数进行一下反汇编,给出如何写出其C代码的详细过程,希望对新手有点帮助。废话少说,先给出其动态连接库的C代码如下_declspec(dllexport) int add(char a, int b, int c[2]) { int d = a + b + c[0] + c[1]; return d; } 至于为什么要设置这样的参数,待会在反汇编时进行说明。下面给出其详细的反汇编过程,并补充相关的经验总结。 第一步、装载动态库文件” first .dll”,装载之后得到下面的截图: 通过在Functions一栏中双击add函数,我们来到add()函数的地方(同上图),我们看到”text:10001010 add proc near ; CODE XREF: add(char,int,int * const) j”这样一栏显示了add函数的参数,虽然有点出入,但大体正确。可能是因为add函数本身比较简单,所以IDA很容易就识别出了其参数,一般地,IDA是识别不出来的,网上有一个插件

为”Flair.v5.20”据说可以部分地解决函数的参数识别问题,但这个软件我没有下载到,就不说这个了。 第二步、我们看到”.text:10001010”这些栏有很多标示,在下面的汇编语句中会用到。我们看接下来的三行代码: .text:10001010 push ebp .text:10001011 mov ebp, esp .text:10001013 sub esp, 44h 这三行代码模式基本上是固定的,(至少我遇到的都是这样)首先是保存ebp, 然后用ebp来保存esp的原始指向,再将esp的指向向上移动44h个字节,(当然这里44h不是固定的)为什么会有这样固定的代码呢?就代码“sub esp 44h”而言,在原esp的基础上向上移动44h 的字节空间,而esp ----- esp-44h这个44h的空间是为了存放一般变量的。其他两行相信读者很容易理解其理由。 第三步、看下面三行代码. .text:10001016 push ebx .text:10001017 push esi .text:10001018 push edi 当我们在函数的开头看到这样的代码时,而后面又没有紧跟着”call + function”时,我们大可不用理解,因为这些push语句目的都是为了不破坏原始ebx,esi,edi的值而将他们保存起来,并且这里我们可以看到,是保存在esp-44h之上的。也就是说,如果我们看到函数的开头出现将寄存器push进esp-x之上的空间(我们将”esp-x 至esp”的堆栈空间成为“一般变量栈空间”),这里就是指push进esp-44h之上的堆栈空间,我们不用去关心,在函数末尾肯定会有相应的代码将他们还原的。(待会我们会看到) 第四步、继续向下看,进入关键代码段。在做进一步解释之前我先画一幅堆栈图。如下:

逆向工程关键技术的研究

逆向工程关键技术的研究 姓名:于海江 学号:1082000504 班级:10级5班 专业:车辆工程 沈阳理工大学研究生学院 2011年3月

摘要 逆向工程技术能够降低成本、缩短交货时间、提高产品质量,提高企业在市场中的竞争力,在产品开发中具有重要的作用。本文对逆向工程中的关键技术进行了深入的研究和探讨。 本文主要研究了逆向工程技术的三个关键环节:数据采集、数据处理和曲面重构。依据样件模型的外形特征,总结归纳了规划测量路径的策略,在对各种测量方法研究、对比和分析的基础上提出了数据采集方法选择的原则;结合实例研究了数据重定位、噪声去除、数据精简、数据光顺和数据分割五种数据处理技术,探讨了不同形状点云数据应采取的具体处理方法,提出了点云数据处理的原则;通过对比分析Bezier曲线曲面、B一Spline曲线曲面、NURBS曲线曲面三种曲面的数学模型,得出NURBS曲线曲面具有诸多优点,己成为当前曲线曲面模型的主流,合理的规划路径、恰当的选择数据采集方法和数据处理方法能够构建高品质的曲面,而且能量光顺算法也能够提高曲面的光顺程度。该论文的研究工作丰富了工业产品造型设计的理论和方法,将促进逆向工程在工业设计中的应用和推广。 关键词:逆向工程点云数据 NURBS曲线曲面重构曲面光顺 1.1逆向工程概述 “逆向工程”(Reverse Engineering,RE),也称反求工程、反向工程等 逆向工程起源于精密测量和质量检验,它是设计下游向设计上游反馈信息的回路 [1] 传统的产品实现通常是从概念设计到图样,再制造出产品,最后通过检测和性能测试,这种开发模式的前提是已完成了产品的蓝图设计或CAD造型,称为预定模式(Prescriptive Model),我们也称之为正向工程(或顺向 工程)。正向工程流程如图1-1所示。 图1-1正向工程开发流程图 Fig.1-1 Forward engineering flow chart 产品的逆向工程是根据零件(或原型)生成图样,再制造出产品。它是 一种以先进产品设备的实物、样件、软件(包括图样、程序、技术文件等)或影像(图像、照片等)作为研究平台,应用现代设计方法学、生产工程学、材料学和有关专业知识进行系统分析和研究、探索掌握其关键技术,进而开发出同类的更为先进的产品的技术,是针对消化吸收先进技术采取的一系列分析方法和应用技术 的结合[2] 。逆向工程的流程如图1-2所示。广义的逆向工程包括形状(几何)逆向、

Rational Rose逆向工程介绍

2004年10月,IBM推出了支持最新的UML2.0的可视化建模工具 Rational Software Architect(见注释①)和IBM Rational Software Modeler(见注释②)。虽然它们支持在建模功能上有了更好的改进、支持了更新的标准,但是RSA的精彩功能主要是集中在对Java应用的支持,而IBM Rational Software Modeler则是主要关注系统的模型设计,如果要从结构上分析C++编写的系统的代码,Rational Rose还是首选的工具。 接下来的文章将会对如何利用Rational Rose 的逆向转出工程来进行系统分析进行更加详细地阐述。 一.Rational Rose逆向工程介绍 逆向工程(Reverse Engineer)就是从现有系统的代码来生成模型的功能。分析已有的代码其主要的目的就是了解代码结构和数据结构,这些对应到模型图就是类图、数据模型图和组件图(对UML各种模型图的描述见注释③),也就是通过Rational Rose 的逆向工程所得到的结果。Rational Rose所支持的逆向工程功能很强大,包括的编程语言有C++, VB, VC, Java, CORBA,以及数据库DDL脚本等等,并且可以直接连接DB2, SQLServer, Oracle和Sybase等数据库导入Schema并生成数据模型。 很多大型的C++开发的产品都涉及到数据库的使用,对这种大型系统的开发,尤其是做二次开发的情况下,主要的难点就是对源码和数据库结构的分析。而利用Rose的逆向工程这一功能,就可以完成代码'类图以及数据库Schema->数据模型图的转换,解决这两大难点,可以使开发和设计人员在对这种大型系统的升级、分析和开发中,更为方便、快捷、有条理地掌握系统结构,不用再为分析庞大的系统结构而头疼。 二.如何用Rational Rose进行C++代码分析 这一节主要介绍用户如何使用Rose的逆向工程生成UML模型,并用来进行C++代码的结构分析。 Rational Rose可以支持标准C++和Visual C++的模型到代码的转换以及逆向工程。下面将详细地说明这两种C++ project的逆向工程的步骤和具体操作。 1.ANSI C++(标准C++)逆向工程(Reverse Engineer)使用标准C++逆向工程,需要在组件图(component view)中创建一个组件(component),设置好需要进行转换的组件的信息,也就是该组件的语言、所包含的文件、文件所在的路径、文件后缀等等信息,然后Reverse Engineer就可以根据给定的信息将代码转换成类图了。 a) 右键点击组件视图(Component View),选择New->Component,创建一个新的组件 b) 将component的language属性设定为ANSI C++ ①选中创建的component,点击右键,选中Open Specification

相关主题