实验3 逆向工程实验
- 格式:docx
- 大小:5.18 MB
- 文档页数:30
逆向工程也称反求工程,是指用一定的测量手段对实物或模型进行测量,依照测量数据通过三维几何建模方法重构实物CAD模型的过程。
它改变了从图样到实物的传统设计模式,为产品的快速开发和创建设计提供了一条新途径。
GEOMAGICSTUDIO 由美国RAINDROP公司出品,是逆向工程中应用最广泛的软件之一!利用GEOMAGICSTUDIO可轻易依照实物零部件扫描所得的点云数据创建出完美的多边形模型和网格,并自动转换为N URBS曲面,生成准确的数字模型!软件的工作流程与逆向工程技术的工作流程大致相似,其工作流程为点数据时期--—多边形时期—-—成形时期。
点数据时期主要测量的数据点进行预处理,在多边形时期主要是通过对多边形的编辑的已达到拟合曲面所需要的的优化数据,成形时期是依照前一时期编辑的数据,自动识别特征、创建NURBS曲面。
NURBS是Non—Uniform Ratio nal B-Splines的缩写,意为非统一有理B样条。
简单地说,NURBS造型总是由曲线和曲面来定义的,因此要在NURBS曲面上生成一条有棱角的边是特别困难的。
正因为如此,NURBS 曲面特别适合做出各种复杂的曲面造型和表现特别的效果,如人的面貌或流线型的跑车等。
1、点数据处理扫描仪得到的数据会引入数据误差而且数据量庞大,为了后续工作方便准确进行需要去除数据中的坏点、减少噪音、平滑数据、分块数据整合对齐、在保证精度和特征的条件下进行数据精简。
同时由于测量方法和测量设备的影响会出现数据缺口,这就需要对数据进行编辑来补齐数据。
数据处理主要有一下几个方面:●噪声过滤●数据光顺●数据精简2。
多边形处理时期多边形处理时期是在点云数据封装后通过一系列技术处理得到完整的多边形数据模型,为曲面处理打下基础、在多边形处理时期首先要“创建流型"来删除模型中非流型的三角形数据,否则在后续处理中由于存在非流型的三角形而无法接着处理。
关于片状的模型能够创建“打开”的流型,关于封闭的多边型模型能够创建“封闭”的流型!本例中叶片模型需要创建“封闭”的流型来删除非流型的三角形。
数字化设计基于CAT I A逆向工程的牙周膜建模与分析一、基于CATIA获得牙齿CAD三维模型逆rS]工程(R e v e r s eEngineering)是指将实物转变为CAD模型的数字化技术、几何模型重建技术和产品制造技术的统称。
逆向工程主要通过数据采样及本文通过cATIA 处理、CAD三维模型建立、产品或软件提供的逆向工程模具制造三部分实现。
专用模块来处理点云1·数据采样数据,以获得牙齿物体表面数字化称为数据测的实体模型:再由量,是指通过特定的测量设备和测ABAQus软件的前处量方法,将物体表面形状转换成离理生成磨齿、牙周膜散的几何点坐标数据。
在此基础和牙槽骨的有限元模上,就可以进行复杂曲面的建模、型,最后通过有限元评价和改进了。
因而,高效、高精分⋯析⋯计算得到牙周膜度地实犬现’物体仪表面的姒数据采/下、集禾’,是疋住自逆向工程实现的基础和关键技术。
“ ⋯数据测量是逆向工程的基础,测得数据的质量与最终模型的质量密切相关。
目前,用来采集物体表面数据的测量设备和方法多种多样,其原理也各不相同。
根据测量探头是否与物体表面接触,逆向工程中物体表面三维数据的获取方法基本可分为两大类,即接触式与非接触式。
在非接触式中按其原理不同,又可分为光学式和非光学式。
光学式中比较常见的是激光干涉法和激光衍射法。
本例中选用了三维激光扫描64 CAD/CAM与制造业信息化·WWW icad corn on口东南大学韦亮汤文成法,采用的设备是智泰科技的三雷射扫描控制系EASSON 3D,采用半导体激光带扫描,双CCD图像处理器,由软件控制能量,波长650nm,扫描宽度50mm,测量景深150mIll,每秒可扫描500点,误差0.05mIll内。
利用第四轴旋转,能够360。
旋转,一次定位就可以量取全部的点资料。
再经由量测系统的运算,自动将所有的点资料结合在同一坐标系统,从而得到任意复杂结构的成型。
所得的点云如下图1所示。
学生实验报告实验课程名称三维测量与反求工程《三维测量与反求工程实验报告》实验报告一、实验目的1、了解三坐标测量机的组成、基本原理及其使用方法。
2、了解曲线、曲面的测量原理,并掌握其基本测量的方法。
3、学会用三坐标测量机对曲线、曲面进行测量及分析方法。
二、实验仪器设备1、实验设备:青岛英柯ZC1066H三坐标测量机,参数如下:测量范围1000 mm×600 mm×600 mm精度1.4 µm 测量精度1.5+3.3L/1000 µm测头 PH10M2、测量对象:座机话筒3、数据处理及重构软件:UG NX10、Geomagic Studio 12、NX imageware 13三、实验原理图1 实验原理三坐标测量机原理:本实验使用青岛英柯ZC1066H三坐标测量机完成,三坐标测量机的三个坐标轴互成直角配置。
就测量机的主体来说,它的组成部分有:底座、臂架、测量工作台、X向、Y向、Z向导轨,Z轴支撑与平衡装置,X,Y和Z向传动系统及操作系统。
其基本原理就是通过探测传感器(探头)与测量空间轴线运动的配合,对几何元素进行离散的空间点位置的获取。
三维反求的实验原理:反求工程也称逆向工程(Reverse Engineering , RE),是相对于传统的产品设计流程即所谓的正向工程(Forward Engineering , FE)而提出的。
逆向工程常指从现有模型(产品样件、实物模型等)经过一定的手段转化为概念模型和工程设计模型,如利用三坐标测量机的测量数据对产品进行数学模型重构,或者直接将这些离散数据转化成NC程序进行数控加工而获取成品的过程,是对已有产品的再设计、再创造的过程。
四、实验内容1、实验准备阶段①将PH10M测头连接在三坐标测量机(含操纵杆)上,保持与探头接口、探头控制器、计算机等接口的通讯畅通,并调试好全部设备;②准备好实验所需的测量对象,本实验以座机话筒为例③将工件夹持台安放在三坐标测量机工作台上,然后用橡皮泥将被测座机话筒固定在工件夹持台上。
《逆向工程技术及应用》实验指导书何照荣铁永亮著广东石油化工学院机电工程学院2009实验一物体三维尺寸数据采集实验一、实验目的1、通过实验了解逆向工程中原始数据的采集方法和应注意的问题;2、了解三维结构光扫描装置的基本操作和相关知识元;3、了解Geomagic和TN-3Doms软件的基本操作。
二、实验设备1、三维结构光扫描装置1台;2、齿轮、烟灰缸、传动零件若干;3、Geomagic 11.0软件1套;4、TN-3DOMS软件1套。
三、相关知识TN 3DOMS.S 采用非接触式光学扫描,除了覆盖接触式扫描的适用范围之外,还可以用于柔软的、易碎的,以及难于接触的物体的扫描场合。
高速的扫描使得用户在很短时间内得到所需的数据,大大缩短了产品造型的开发周期。
三维光学扫描仪与普通的扫描仪不同之处在于它记录的是被测物体的所有表面的三维坐标信息。
TN 3DOMS.S 可以广泛地应用于模具设计、零配件设计加工、逆向工程、实体测量、质量检测和控制,广告动画设计、文物复制和修复、医学研究等多项领域。
技术特点(1)面扫描采用独特的照相式原理,在瞬间获得整个物体表面的三维数据,每次扫描一个面,效率极高。
(2)精度高利用独特的测量技术,可获得非常高的测量精度。
(3)速度极快单面扫描时间3s~20s。
(4)便携式设计可灵活地移动扫描仪来进行测量,特别适合对大型或重型物体的测量,且硬件设备占地少,受环境因素制约少。
(5)非接触扫描用于柔软、易变形的物体的测量,适用范围非常广泛。
(6)对环境条件不敏感环境光对该扫描仪的影响极小,相对其他光学式扫描系统而言,该系统不需要在暗室中操作,适用环境范围非广泛,可以在露天环境进行扫描。
(7)测量输出数据接口广泛三维光学扫描仪测量所得为点云数据,该数据可保存为ASC 格式以及WRL(可存储彩色信息)格式,可以直接与Geomagic、CATIA、UG 等软件交换数据。
(8)操作软件界面友好三维光学扫描仪高度集成和智能化的设计,使用户不需过多的培训就可以熟练操作,软件操作简单、快捷易学。
电子科技大学实验报告学生姓名:马侬学号: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 位可执行程序。
逆向工程报告实习过程一、实习背景及目的随着科技的发展,逆向工程在产品研发、技术创新等领域发挥着越来越重要的作用。
本次实习旨在通过实践,深入了解逆向工程的基本原理、方法及其应用,提高自己的实际操作能力和创新能力。
二、实习内容与过程1. 实习前的准备在实习开始前,我首先对逆向工程的基本概念、原理和应用进行了系统学习,了解了逆向工程在现实生活中的广泛应用。
同时,我还学习了相关的法律法规,确保在实习过程中遵循法律规定,保护知识产权。
2. 实习过程(1)实物分析首先,我选取了一个实物产品作为分析对象。
通过对实物进行拆解、测量、拍照等步骤,详细记录其结构、材料、工艺等方面的信息。
(2)资料搜集在实物分析的基础上,我通过网络、图书馆等渠道搜集了关于该产品的技术资料、专利文献等,以了解其工作原理和设计理念。
(3)三维建模利用逆向工程软件(如Autodesk Inventor、SolidWorks等),根据实物测量数据和资料,进行三维建模。
在建模过程中,注意模型的精确度和细节处理。
(4)模型验证与优化通过与实物对比,验证三维模型的准确性。
针对模型中存在的问题,进行修改和优化,以提高模型的真实性和实用性。
(5)工艺分析与创新在三维模型的基础上,分析实物的制造工艺,探讨其优缺点。
结合实际情况,提出改进方案和创新点,以提高产品的性能和降低成本。
(6)文档整理与报告撰写将实习过程中的数据、图片、分析结果等资料进行整理,撰写实习报告,总结实习收获和心得体会。
三、实习收获与反思通过本次实习,我深刻认识到逆向工程在产品研发和创新中的重要性。
同时,实习过程中我也提高了自己的实际操作能力、沟通协调能力和创新能力。
然而,实习过程中也暴露出我在理论知识储备、实操技能等方面的不足。
在今后的工作中,我将继续努力学习,提高自己的综合素质,为将来的工作打下坚实基础。
四、总结本次实习使我受益匪浅,不仅掌握了逆向工程的基本方法和技巧,而且培养了实际操作能力和创新意识。
一、实训目的本次逆向加工实训旨在通过实际操作,加深对逆向工程和加工原理的理解,提高动手实践能力,掌握逆向工程的基本流程和关键技术。
通过实训,使学生能够熟练运用逆向工程软件进行数据采集、处理和建模,并能够运用加工设备完成产品的加工制作。
二、实训环境实训地点:XXX学院机械工程实验室实训设备:逆向工程扫描仪、逆向工程软件、三维建模软件、CNC加工中心、加工工具等实训时间:2023年X月X日至2023年X月X日三、实训原理逆向工程(Reverse Engineering,简称RE)是指通过分析实物产品的结构、尺寸、功能等信息,重建其三维模型和设计参数的过程。
逆向加工是逆向工程的重要组成部分,它将逆向工程得到的三维模型进行加工,以实现产品的实体化。
四、实训过程1. 数据采集:使用逆向工程扫描仪对实物产品进行扫描,采集其表面点云数据。
2. 数据处理:将采集到的点云数据进行预处理,包括去噪、滤波、分割等,以提高数据质量。
3. 三维建模:利用逆向工程软件将处理后的点云数据转化为三维模型,进行表面光顺、简化等操作。
4. 模型修正:根据实际情况对三维模型进行必要的修正,如去除模型中的多余部分、调整尺寸等。
5. CNC编程:使用CNC编程软件根据三维模型生成加工路径和刀具轨迹。
6. 加工制作:将CNC编程生成的加工路径和刀具轨迹导入CNC加工中心,进行产品加工。
五、实训结果1. 成功采集并处理了一款实物产品的表面点云数据。
2. 利用逆向工程软件重建了该产品的三维模型,并对模型进行了修正。
3. 生成了CNC编程文件,并成功导入CNC加工中心。
4. 完成了产品的加工制作,达到了预期效果。
六、实训总结1. 通过本次实训,掌握了逆向工程的基本流程和关键技术,提高了动手实践能力。
2. 了解了逆向工程在产品研发、维修、改进等方面的应用。
3. 发现了在逆向工程过程中存在的问题,如数据采集精度、数据处理效率等,为今后的实训和实际应用提供了改进方向。
逆向⼯程技术实训报告模版重庆理⼯⼤学逆向⼯程技术实训说明书设计题⽬:指导⽼师:姓名:专业:学号:学院:中国重庆2013年⽉前⾔关于逆向⼯程技术实训:逆向⼯程技术与传统的产品正向设计⽅法不同。
它是根据已经存在的产品或零件原型,重新构造产品或零件的三维模型,在此基础上对已有产品进⾏剖析、理解和改进,是对已有设计的再设计。
在整个逆向⼯程中,产品三维⼏何模型的CAD重建是最关键的,最复杂的环节。
因为只有获得了产品的CAD模型,才能够在此基础上进⾏后续产品的加⼯制造、快速成型制造、虚拟仿真制造、产品的再设计等。
逆向⼯程技术涉及计算机图形学、计算机图像处理、微分⼏何、概率统计学科,是CAD 领域最活跃的分⽀之⼀。
逆向⼯程软件部分品牌有Imageware、ICEM、CopyCAD、Rapid Form 等,本此实训我们利⽤Imageware软件对产品进⾏分析、处理。
通过逆向⼯程技术的实训,可以对本软件更加的熟悉并运⽤,以达到专业技术的初步⽔平。
可以使我们在课堂上的学习与实际的运⽤相结合,获得在传统的课堂教育得不到的新能⼒,并且让我们能够掌握整个逆向⼯程的过程,并且积累设计经验。
通过实训过程,更能够了解到⾃⼰在专业知识的不⾜,锻炼独⽴思考能⼒和提升团队合作能⼒,同学们可以相互取长补短。
真正意义上的实训有别与以往的传统课堂教学模式,这种实训⽅式让我们不在⼀味的依赖⽼师,⽽是利⽤各种⽅式独⽴解决问题;同时这种实训⽅式也让我们在实体建模过程中贯穿国际标准的使⽤规范,这些都为以后的实际运⽤及社会⼯作打下坚实的基础。
⽬录第⼀节、设计题⽬ 0第⼆节、设计流程分析 0第三节、点云的处理 (1)第四节、导弹⼀的设计 (3)第五节、导弹⼆和机头的设计 (6)第六节、导弹三的设计 (8)第七节、导弹四的设计 (10)第⼋节、轮⼦和机轮架的设计 (12)第九节、导弹五的设计 (15)第⼗节、机⾝、机尾、尾翼和落脚板的设计 (17)第⼗⼀节、侧翼和机盖的设计 (20)第⼗⼆节、机下⾝部位的设计 (23)第⼗三节、后处理 (24)苏27战⽃机逆向设计所得图 (27)第⼀节、设计题⽬苏27战⽃机第⼆节、设计流程分析设计产品题⽬为苏27战⽃机,⾸先通过实物图可以看到整个战⽃机是关于中⼼平⾯对称的⼀个物体,所以我们只需要做关于中⼼平⾯对称的⼀边的设计就可以了,然后通过中⼼平⾯镜像就可以得到整个设计模型。
逆向工程实习报告第一篇:逆向工程实习报告逆向工程实习报告M0811 高略群通过这一星期的逆向工程实习,本人对逆向工程有了初步的了解。
逆向工程(Reverse Engineering,RE)是对产品设计过程的一种描述。
在工程技术人员的一般概念中,产品设计过程是一个从无到有的过程:设计人员首先构思产品的外形、性能和大致的技术参数等,然后利用CAD技术建立产品的三维数字化模型,最终将这个模型转入制造流程,完成产品的整个设计制造周期。
这样的产品设计过程我们可以称之为“正向设计”。
逆向工程则是一个“从有到无”的过程。
简单地说,逆向工程就是根据已经存在的产品模型,反向推出产品的设计数据(包括设计图纸或数字模型)的过程。
随着计算机技术在制造领域的广泛应用,特别是数字化测量技术的迅猛发展,基于测量数据的产品造型技术成为逆向工程技术关注的主要对象。
通过数字化测量设备(如坐标测量机、激光测量设备等)获取的物体表面的空间数据,需要经过逆向工程技术的处理才能获得产品的数字模型,进而输送到CAM系统完成产品的制造。
因此,逆向工程技术可以认为是“将产品样件转化为CAD模型的相关数字化技术和几何模型重建技术”的总称。
逆向工程的实施过程是多领域、多学科的协同过程。
从图1中我们可以看出,逆向工程的整个实施过程包括了测量数据的采集/处理、CAD/CAM系统处理和融入产品数据管理系统的过程。
因此,逆向工程是一个多领域、多学科的系统工程,其实施需要人员和技术的高度协同、融合。
逆向工程在CAD/CAM体系中的应用:逆向工程技术并不是孤立的,它和测量技术、CAD/CAM技术有着千丝万缕的联系。
从理论角度分析,逆向工程技术能按照产品的测量数据建立与现有CAD/CAM 系统完全兼容的数字模型,这是逆向工程技术的最终目标。
但凭借目前人们所掌握的技术,包括工程上的和理论上的(如曲面建模理论),尚无法满足这种要求。
特别是针对目前比较流行的大规模“点云”数据建模,更是远没有达到直接在CAD系统中应用的程度。
逆向工程也称反求工程,就是指用一定得测量手段对实物或模型进行测量,根据测量数据通过三维几何建模方法重构实物CAD模型得过程。
它改变了从图样到实物得传统设计模式,为产品得快速开发与创建设计提供了一条新途径、GEOMAGIC STUDIO由美国RAINDROP公司出品,就是逆向工程中应用最广泛得软件之一!利用GEOMAGIC STUDIO可轻易根据实物零部件扫描所得得点云数据创建出完美得多边形模型与网格,并自动转换为NURBS曲面,生成准确得数字模型!软件得工作流程与逆向工程技术得工作流程大致相似,其工作流程为点数据阶段———多边形阶段———成形阶段、点数据阶段主要测量得数据点进行预处理,在多边形阶段主要就是通过对多边形得编辑得已达到拟合曲面所需要得得优化数据,成形阶段就是根据前一阶段编辑得数据,自动识别特征、创建NURBS曲面。
NURBS就是Non—Uniform RationalB-Splines得缩写,意为非统一有理B样条、简单地说,NURBS造型总就是由曲线与曲面来定义得,所以要在NURBS曲面上生成一条有棱角得边就是很困难得、正因为如此,NURBS曲面特别适合做出各种复杂得曲面造型与表现特殊得效果,如人得面貌或流线型得跑车等、1、点数据处理扫描仪得到得数据会引入数据误差而且数据量庞大,为了后续工作方便准确进行需要去除数据中得坏点、减少噪音、平滑数据、分块数据整合对齐、在保证精度与特征得条件下进行数据精简、同时由于测量方法与测量设备得影响会出现数据缺口,这就需要对数据进行编辑来补齐数据。
数据处理主要有一下几个方面:●噪声过滤●数据光顺●数据精简2、多边形处理阶段多边形处理阶段就是在点云数据封装后通过一系列技术处理得到完整得多边形数据模型,为曲面处理打下基础。
在多边形处理阶段首先要“创建流型”来删除模型中非流型得三角形数据,否则在后续处理中由于存在非流型得三角形而无法继续处理、对于片状得模型可以创建“打开”得流型,对于封闭得多边型模型可以创建“封闭”得流型!本例中叶片模型需要创建“封闭”得流型来删除非流型得三角形。
深圳大学实验报告 课程名称:计算机系统(2) 实验项目名称:逆向工程实验 学院: 专业: 指导教师:罗秋明 报告人:学号:班级: 实验时间:2017年4月14日 实验报告提交时间:2017年5月8日
教务处制注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。 2、教师批改学生实验报告时间应在学生提交实验报告时间后10日内。
一、实验目标: 熟悉Linux中C程序编译成可执行目标文件的过程,包括以下内容: 1. 了解Linux编译系统四个阶段(预处理器、编译器、汇编器和链接器);用编译工具vi/vim的编写程序,并用gcc上实现这四个选项;观察并说明他们的区别和不同;最后对*.o文件进行反汇编 4.完成bomb实验。
二、实验环境: 1. 计算机(Intel CPU) 2. Fedora 13 Linux操作系统 3. gcc、vi/vim 4. gdb
三、实验内容与步骤 1.1 根据实验一:在已创建用户的用户下面进行操作(用户名为学生名称加学号,如赖丹辉,学号2013150040,则该用户名为Laidanhui_2013150040)。在vi/vim
里面编写code.c文件,如有警告信息,请修改代码至无警告信息。
1.2 预编译器:会对各种预处理指令(#include #define #ifdef 等#开始的代码行)进行
处理,删除注释和多余的空白字符,生成一份新的代码(5分)
[root@wahoo test]#gcc -E code.c -o code.i E 参数 通知gcc对目标文件进行预编译,这里是对文件code.c文件 o 参数 是对命令输出结果进行导入操作,这里是把 gcc -E code.c 操作结果输出到文件code.i(命名要自定义)中进行保存 注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。 2、教师批改学生实验报告时间应在学生提交实验报告时间后10日内。
1.3 编译器:对代码进行语法、语义分析和错误判断,生成汇编代码文件(5分) [root@wahoo test]#gcc -S code.i -o code.s S 参数 通知gcc对目标文件进行编译,这里是对文件code.i文件,通过vi打开。 注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。 2、教师批改学生实验报告时间应在学生提交实验报告时间后10日内。
1.4 汇编器:把汇编代码转换与计算机可认识的二进制文件(5分) [root@wahoo test]#gcc -c code.s -o code.o c 参数 通知gcc对目标文件执行指令转换操作 此步骤我们得到文件code.o 大家也同样打开文件查看一下,这个文件里面几乎没几个字符大家能看懂,这就对了,但大家可以通过这种方法将其转化为我们可读的形式: [root@wahoo test]#readelf -a code.o 注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。 2、教师批改学生实验报告时间应在学生提交实验报告时间后10日内。
等 1.5 链接器:就是把多个*.o文件合并成一个可执行文件,二进制指令文件(5分) [root@wahoo test]#gcc code.o -o code 这里我们就得到了一个可以直接在系统下执行的文件 code 再用readelf语句打开。 注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。 2、教师批改学生实验报告时间应在学生提交实验报告时间后10日内。
等 1.6 分析步骤4和步骤5生成文件的区别,并进行阐述(5分) 1.7 反汇编器并显示:要查看目标代码文件的内容,最有价值的就是使用反汇编器,在Linux中我们常用objdump语句进行反汇编(5分) 注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。 2、教师批改学生实验报告时间应在学生提交实验报告时间后10日内。
[root@wahoo test]#objdump -d code 等 显示结果
2、本实验是解除二进制炸弹。给你一个二进制可执行文件,运行该文件,你需要在没有任何提示的情况下输入6个password,如果都输入正确,则炸弹被解除(完成了实验);如果输入错误,则炸弹爆炸(当然不是真爆炸了,需要重做)。从计算机的角度来描述,就是通过二进制文件分析这个程序作了些什么。由于我们有反汇编工具,也可以说是通过汇编程序,分析这个程序作了什么。本实验的目的是理解汇编语言和掌握调试工具gdb。 具体来说,本实验给出一个二进制可执行文件bomb。运行./bomb,被要求输入password,我随意输入“abc”,当然不正确。提示我已经失败了,退出程序。 注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。 2、教师批改学生实验报告时间应在学生提交实验报告时间后10日内。
当我输入正确的时,就可以通关: 本实验要求解决Phase_1(15分)、Phase_2(10分)、Phase_3(10分)、Phase_4(10分)、Phase_5(10分)。通过截图把结果写在实验报告上。
四、实验结果 第一部分: 1.2 注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。 2、教师批改学生实验报告时间应在学生提交实验报告时间后10日内。
1.3 注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。
2、教师批改学生实验报告时间应在学生提交实验报告时间后10日内。
1.4 注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。
2、教师批改学生实验报告时间应在学生提交实验报告时间后10日内。 注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。
2、教师批改学生实验报告时间应在学生提交实验报告时间后10日内。
1.5 注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。
2、教师批改学生实验报告时间应在学生提交实验报告时间后10日内。 注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。
2、教师批改学生实验报告时间应在学生提交实验报告时间后10日内。 注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。
2、教师批改学生实验报告时间应在学生提交实验报告时间后10日内。 注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。
2、教师批改学生实验报告时间应在学生提交实验报告时间后10日内。 注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。
2、教师批改学生实验报告时间应在学生提交实验报告时间后10日内。 注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。
2、教师批改学生实验报告时间应在学生提交实验报告时间后10日内。
1.6 步骤4生成的.o文件俗称目标文件,是指源代码经过编译程序产生的能被cpu直接识别的二进制代码文件。 步骤5生成的是可执行文件。是编译 -链接之后的文件,能被直接执行。
1.7
运行结果 注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。 2、教师批改学生实验报告时间应在学生提交实验报告时间后10日内。
2 Phase_1
在0x8048b2c和0x8048b31指令中存放了两个字符串,一个在0x80497c0中,另一个在%eax中,%eax是通过mov操作(mov 0x8(%ebp),%eax)传递过来的,所以0x8(%ebp)地址中的值就是我们所输入的字符串,而0x80497c0存储了另一个字符串,两个字符串进行比较,所以找出该内存地址中的字符串就是答案。
所以第一个密码就是:“Public speaking is very easy.” Phase_2 看到read_six_numbers函数,应该就是提示输入的数字为6个,输入的第一个整数与1进行比较,相等的时候跳转,否则引爆,证明第一个整数为1。
下面一部分是一个循环,初始时%ebx值为1,每次循环+1,小于等于5时继续执行循环,证明循环次数为5。 可以看到a-0x8(%esi, %ebx, 4)和b-0x4(%esi, %ebx, 4)的地址就差0x4,也就是一个32位整数的地址,所以猜测可能是相邻两个数的一个比较。假设有数组A,由于数组地址是从小到大增长,所以地址数组索引b=a+1,根据指令可以得出A[b]=A[a]*%eax,其中%eax就是%ebx,每次%eax就等于循环变量(其中变量=2,3,4,5,6)。初始时,A[1]=1。所以,A[2] = A[1] * 2 = 2,A[3] = A[2] * 3 = 6,A[4] = A[3] * 4 = 24,A[5] = A[4] * 5 = 120,A[6] = A[5] * 6 = 720。
所以答案就是:1 2 6 24 120 720 注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。 2、教师批改学生实验报告时间应在学生提交实验报告时间后10日内。
Phase_3