逆向工程中的开放编译技术研究

逆向工程中的开放编译技术研究

一、开放编译技术在逆向工程中的研究(论文文献综述)

何易飞[1](2021)在《基于BIM-WMS技术的建筑拆除废弃物逆向物流优化研究》文中研究表明城镇化进程加快促使了大规模的城市建筑拆除活动,未来将加大了对建筑拆除废物管理的需求。逆向物流被建筑行业普遍认为是对建筑废弃物有效管理的措施,但是其在建筑行业的执行仍然存在一些障碍。为了促进建筑拆除废弃物的有效管理,运用信息技术优化建筑拆除逆向物流成为新的研究方向和课题。本论文主要对整合BIM与WMS技术应用于建筑拆除废弃物逆向物流做了以下研究:首先,借助过程拓扑法构建了建筑拆除废弃物逆向物流运营模式,即从建筑拆除产生建筑废弃物到各相关方处理处置的过程。采用专家访谈和现场调研分析出高昂运输成本和信息闭塞是目前逆向物流运营缺陷的核心。其次,采用调查问卷的方式收集了资源回收利用方所需废弃物供应量产率的数据,并提出了废弃物供应量计算公式。并应用Dynamo可视化编程技术和Revit API开发了具有拆除废弃物供应量计算功能的Ribbon命令按钮,为提取拆除建筑的资源回收利用方所需供应量信息提供了BIM技术的智慧解决方案。然后,通过百度地图Java Script API、Excel读写的第三方类库、Java Script与C#的信息交互和筛选算法,开发了能制定建筑拆除废弃物最短运输方案的窗体应用程序,其集成于Revit软件环境中有机整合了BIM和WMS技术,形成了基于BIM-WMS的废弃物回收利用方选择系统。最后,以两栋不同结构的拆除建筑为工程实例,验证了基于BIM-WMS的废弃物回收利用方选择系统的有效性和实用性。通过研究表明:建立的基于BIM和WMS的废弃物回收利用方选择系统能够匹配在满足供应的同时选择运输路径最短的需求方,实现了建筑拆除废弃物最短运输方案的制定,在一定程度上解决了供需信息闭塞和高昂运输成本的问题,优化了建筑拆除废弃物逆向物流。

陈泽伦[2](2021)在《基于TEE的Android软件安全加固技术研究》文中指出Android系统的广泛性和开放性使它面临着各种各样的攻击。Android平台中的软件容易遭受逆向分析、动态调试和修改运行时数据等恶意攻击。为增强Android软件的安全性,先后出现了动态加载、内存加载、指令抽取和指令虚拟化等安全加固技术。前三种技术不仅增强了 Android系统中的DEX文件在安装和加载的安全性,同时保证其在文件系统和内存中难以被获取,但难以保护DEX文件的函数执行过程安全。尽管指令虚拟化技术既可以利用自定义指令隐藏DEX文件中函数的实现逻辑,又可以利用自定义虚拟机隐藏指令的执行过程,但现有的指令虚拟化加固方案中存在一定的安全缺陷:指令映射简单、缺少对自定义虚拟机和Android系统的保护。为解决上述指令虚拟化加固方案中存在的问题,本文提出了一种基于TEE的Android软件安全加固方案,实现从内核层、应用层、指令层等不同层面对应用进行全面安全加固。首先,该方案利用TEE系统增强内核页表、代码段的数据安全,保证内核安全机制正常运行,避免恶意调试自定义虚拟机;然后,提出了基于虚拟机的随机内存、模拟堆栈和延迟异常等方法,保证函数执行、调用和异常处理的安全;最后,提出了随机指令的映射、编码和跳转等方法,分别保证指令解码、执行和跳转的安全。具体地,本文的主要贡献总结如下:1)提出了基于TEE的页表内存保护方法和周期性安全检查方法,保证了应用软件的内核层安全。页表内存保护利用TEE安全硬件增强了内核页表的读写权限控制,在不信任内核的前提下提高了页表数据的安全性。周期性安全检查通过在TEE中周期性检查内核和自定义虚拟机的运行状态和代码完整性,确保内核层和应用层的安全功能正常运行。2)提出了基于虚拟机的函数安全运行方法,保证了应用软件的应用层安全。函数安全运行方法分别从函数执行、调用、异常处理三个角度对函数提供安全保护:随机内存技术,实现函数堆栈数据在虚拟地址空间中随机分布,减少程序空间局部性的影响;模拟堆栈技术,在自定义虚拟机中实现函数调用和堆栈维护,减少JNI接口和Android虚拟机的数据泄漏;延迟异常技术,隐藏了自定义虚拟机中函数的异常处理过程,在退出自定义虚拟机时,才将捕获的异常抛给Android虚拟机,减少Java异常的数据泄漏。3)提出了基于指令虚拟化的随机指令技术,保证了应用软件的指令层安全。随机指令技术分别从指令操作码、指令操作数、指令跳转三个角度对指令提供了安全保护:随机指令映射技术,基于指令频率实现了一对多的指令操作码随机映射,提高了指令映射的随机性,消除了指令序列中的指令频率特征;随机指令编码技术,重新定义指令的编码格式,改变指令长度,隐藏指令序列中的操作码和操作数;随机指令跳转技术,实现自定义虚拟机随机取指方式,避免指令顺序执行,增强自定义指令序列的安全性。4)实现了一套完整的软件加固系统,加强了软件抵御自动化攻击以及人力攻击的能力。加固后,软件能够防御绝大多数重打包攻击、反编译攻击、动态调试攻击、指令还原攻击和系统堆栈攻击,系统内核增强抵御恶意修改页表攻击的能力,整体运行性能降低30%左右。

韩潇宁[3](2021)在《基于遗传算法的安卓恶意软件检测技术》文中研究指明自2007年发布以来,Android操作系统逐渐在智能终端的操作系统领域占据领先地位。官方平台和许多第三方市场都允许用户轻易地查找,下载以及使用大量的第三方应用程序,具有较好的用户体验。但与此同时,Android平台逐渐变成了恶意软件的主要攻击目标,恶意软件广泛存在各大应用市场,对用户的使用安全造成威胁。因此,高效地提高恶意软件的检测效率,提升模型鲁棒性,对其在现实背景下的实用性和维护Android平台使用者的信息安全有着重要意义。但目前检测技术的检测率仍需进一步提升,其检测率的实现对数据集的质量也有较大的依赖。本文的研究内容主要基于遗传算法,将其利用在恶意软件检测的特征选择和多分类器组合方式上,从而对恶意软件的检测效率和鲁棒性进行了一定优化。本文的主要研究工作如下:(1)提出以遗传算法为特征选择方式的恶意软件检测技术。采用静态分析方式,反编译应用程序安装包并提取了文件中的五类代表性特征,生成高阶表征向量。采用遗传算法为降维方式,将其与后续检测模型效果相结合,迭代构建最终检测模型,识别恶意软件。实验表明,该技术的恶意软件检测率可达98.77%。相较于对比方法,精确率与召回率均有2%左右的提升。(2)在维持检测效率的同时,为了进一步提升检测模型的鲁棒性以增强技术实用性。提出了基于遗传算法为多分类器权重选择方式的恶意软件检测技术。该技术在方案一的基础上,将遗传算法与集成学习方式相组合,以基学习器间的多样性和基学习器组合的准确率为标准,通过遗传算法迭代得出多分类器的组合方式并进行类别预测。实验表明,该技术实现了98.02%的恶意软件检测率与97.82%的召回率,具有较高的检测效率。为了进一步对其鲁棒性进行检测,对原始数据集交换了10%与15%的良恶性标签,生成具有人工扰乱性的修改后数据集。在该数据集上,单一检测分类方式与传统硬投票检测方式的检测准确率分别下降了7.03%与1.59%,召回率分别下降了6.82%与1.01%。而本文中的检测技术在修改后数据集上其恶意软件检测率仍维持在98.10%,召回率也维持在了97.99%左右,其检测效率并没有随着数据集质量的降低而降低。其检测效率与主流的动态检测方法Droid Cat相比,提升了1%左右的恶意软件检测率。综上,本文基于Android恶意软件的研究基础,提出了基于遗传算法以提升检测效率和鲁棒性为目标的恶意软件检测技术的思路。在提升检测效果及鲁棒性的同时,为后续检测框架的改进提出了参考方向。

申少泽[4](2021)在《五轴并联自动钻铆机在线逆向编程系统设计》文中研究说明在飞机部件数字化装配领域,蒙皮自动钻铆加工越来越普及,自动钻铆技术已成为航空制造领域中的一项重要技术。但是,随着飞机产品种类的增加、复杂度的提高以及对交付质量的严苛要求,很多飞机蒙皮产品无法采用自动钻铆装配,尤其是薄壁易变形曲面蒙皮,由于受自身重力、装夹力的影响,使得蒙皮实际装夹位姿以及外形轮廓与理论数模相差较大,难以采用传统的自动钻铆离线编程系统进行编程加工,所以当前的自动钻铆加工编程方式在一定程度上制约了自动钻铆技术的发展和应用。为了解决上述问题,本文对自动钻铆加工编程技术进行了研究,探索了一种适应实际飞机蒙皮形状的在线自动编程方法,采用在线检测示教方式,利用逆向拟合手段,重构实际蒙皮加工轨迹,重置实际蒙皮装夹位姿,进而后置处理生成加工程序,使得飞机蒙皮自动钻铆由基于数模的塑造性加工编程方式转变为基于实物的适应性加工编程方式,让自动钻铆装配对已变形的飞机蒙皮具有更好的适应能力,解决当前此类蒙皮无法自动钻铆或者自动钻铆质量差的问题。本文基于五轴并联自动钻铆机,重点研究了在线自适应测量与逆向重构技术、五轴并联钻铆机空间旋转变换算法以及多平台软件功能设计等,综合运用了西门子数控系统HMI二次开发技术、PLC控制技术、数据库技术及工业以太网通讯技术等,开发了一套五轴并联钻铆机在线逆向编程系统。本系统包括数控界面功能二次开发软件和上位集控软件,数控界面功能二次开发是基于西门子数控HIM Advance Program Package软件包及DDE服务器通讯协议,采用VB、C++两种开发语言进行设计,实现了法向检测调整、视觉找正及示教数据采集的人机界面与运动控制等功能;上位集控软件采用VB开发语言,运用了Auto CAD VBA技术进行设计,实现了前置运算、加工轨迹重构、后置运算、坐标系拟合变换及RTCP轨迹规划等数据运算处理,以及工艺编制、工艺模型、示教校验、程序生成、位姿修正及简易运动仿真等人机界面功能。实践应用表明,本文研究的五轴并联钻铆机在线逆向编程系统彻底解决了对无数模和薄壁易变形飞机蒙皮无法自动钻铆装配的问题,在运算控制精度、系统易操作性、稳定性等方面达到了使用单位要求,本系统技术较为先进,工作可靠稳定,可进一步推广应用。

余文健[5](2021)在《基于逆向工程的攻击与检测算法及其应用研究》文中指出目前,针对游戏进行逆向分析并开发外挂程序进行攻击和检测非法行为已成为游戏安全领域的重点问题。其中攻击需要基于数据,而针对数据的分析存在明文call难以寻找的问题;检测则需要从不同的角度和出发点进行考量,而针对修改PE输入表注入DLL和外挂运行时恶意行为方面的检测还存在不足。据此,本文研究基于逆向工程的攻击与检测算法,设计并实现一套可用于网络游戏的攻击与检测软件系统,主要贡献如下:(1)提出逆向分析网游明文call的方法。通过对发包函数设置断点,分析封包内容的写入操作或者跟踪封包长度,在逆向追踪的过程中,针对是否触发保护的情况,灵活选择中断还是监控;在层层返回时,根据封包数据的变化规律以及指令中出现的地址,其内部包含的内容何时发生变化,从而进行分析点的更换。实验结果表明,所提出的分析方法能够分析出不同网游的明文call,并在此基础上快速获得其他功能call的地址。(2)提出函数内部调用路径的挖掘算法。主要针对某个API功能失效,发现是其内部调用的某个子API被设置钩子的缘故,若要绕过则需要知道该API内部这个子API被调用的完整路径,从而从被调用的上层进行绕过。实验结果表明,能够对复杂内核API的内部调用路径进行较为完整地挖掘,挖掘总耗时不到35s。(3)提出修改PE输入表注入DLL的检测算法和外挂运行时隐藏恶意行为的检测算法。前者分为两种检测策略,分别是基于合法范围的普通检测算法和基于异常回溯的深度检测算法,从静态和动态的角度对注入的DLL进行检测。后者针对外挂程序已经完全运行的情况下,游戏本身的保护措施不含有对恶意行为的检测功能,从该角度出发提出恶意行为检测算法。实验结果表明,能够有效地检测出修改PE输入表注入的DLL以及外挂运行时的恶意行为并输出警告提示。

赵玉洁[6](2021)在《基于逆向分析的二进制代码混淆保护方法研究》文中研究表明二进制代码是计算机软件存在的一种重要形式。在缺乏源代码的情况下,很多不法分子试图分析二进制代码以窃取软件核心算法。代码混淆是一种保持程序语义不变,通过转换程序代码形式以增加逆向分析难度的软件保护技术。在代码混淆领域研究者们普遍认为并不存在绝对安全的代码混淆算法。因此,尽管如何构造混淆算法已经被研究了很多年,但是可混淆规模复杂性和混淆有效性验证依然是研究热点。通常使用“强度、隐蔽性、抗攻击性、性能开销”四个指标评估混淆算法的有效性,分别表征混淆后代码被安全专家理解和分析的程度,被发现的难易程度,抵御自动化反混淆的能力,引入的额外性能开销。逆向分析是为获得程序内部模块细节及模块间关系而对程序进行分析的过程。代码混淆本质上就是为了抵御逆向分析,二者相互制约又彼此促进。因此,对混淆后程序展开逆向分析,如混淆评估、混淆检测和反混淆,有助于指导混淆算法设计,提升混淆强度、隐蔽性和抗攻击性。然而,从逆向分析角度指导混淆算法设计面临如下问题:(1)现有代码混淆强度的量化评估指标大多基于软件工程领域复杂性度量,评估维度比较单一;(2)现有二进制代码混淆检测方法一般针对特定混淆类型,且未考虑对多重混淆的检测。(3)现有反混淆算法大都假设已知混淆代码片段所在位置,并且受专家经验和领域知识的限制,导致反混淆效率较低。(4)现有虚拟化混淆算法移植到移动应用上时,存在安全漏洞并且执行效率低下。本文从逆向分析的角度入手,分别从混淆评估、混淆检测、反混淆、性能与安全平衡四个方面开展研究。主要工作和贡献包括:提出了一种面向逆向分析的混淆强度评估方法及其度量指标,拓展了代码混淆强度量化评估的维度。该方法将程序属性抽象为指令、控制流和数据流,分析论证了在对混淆后程序实施逆向分析过程中指令是控制流和数据流的基础。分别从语法和语义的角度提出了指令熵和指令N-gram两个度量指标量化混淆强度。实验中使用两种混淆工具、八种混淆算法验证这两个评估指标的有效性。实验结果表明指令熵和指令N-gram能够有效量化混淆算法强度,并可用于不同混淆算法之间的对比。提出了一种基于程序语义信息的混淆检测方法OBFEYE,实现了对多种单一混淆和多重混淆的高精度检测。该方法借鉴自然语言处理的思想,将指令、基本块、程序分别看做单词、句子、文档,采用Skip-gram、CNN、LSTM构建的语义神经网络模型生成程序上下文语义信息的表征向量,通过分类器实现对混淆的有效检测。实验中OBFEYE的预测精度至少为83%,最高可达98%。实验结果表明OBFEYE是一个高精度二进制代码混淆检测工具。提出了一种基于程序合成技术的代码反混淆方法Auto Simpler,提高了目标程序中混淆代码片段的定位精度和反混淆效率。该方法采用机器学习来识别混淆代码片段,打破现有工作对混淆代码片段已知的假设。通过将程序合成与嵌套蒙特卡洛搜索算法相结合,快速合成与目标程序语义相似但更容易理解的程序,提升了反混淆的效率。实验中Auto Simpler对混淆代码片段的定位准确率为99.29%,反混淆成功率在90%以上,且处理一个目标程序的平均时间约21s。与当前最先进的反混淆工具相比,执行效率提升了75%,准确率提高了5%。实验结果表明Auto Simpler是一个执行效率很高并保持一定成功率的自动化数据反混淆工具。提出了一种基于编译时虚拟化的代码混淆方法Dex2VM,解决了虚拟化混淆算法在移动设备上应用时存在安全漏洞并且执行效率低下的问题。该方法在预编译阶段筛选DEX字节码中执行开销较大的函数,利用反编译引擎将其转换为Native层执行速率更高的C/C++代码,解决性能问题。在编译阶段依赖LLVM编译框架的前端,将上一步生成的C/C++代码转换为LLVM的中间代码LLVMIR,使用LLVM的后端对LLVMIR实施虚拟化,解决安全问题。实验分别从抗攻击性、隐蔽性、强度、性能开销、功能一致性五个维度验证混淆算法的有效性。实验结果表明Dex2VM是一个抗攻击性强、隐蔽性好、强度大、开销适度的代码安全保护方法。

教育部[7](2020)在《教育部关于印发普通高中课程方案和语文等学科课程标准(2017年版2020年修订)的通知》文中研究指明教材[2020]3号各省、自治区、直辖市教育厅(教委),新疆生产建设兵团教育局:为深入贯彻党的十九届四中全会精神和全国教育大会精神,落实立德树人根本任务,完善中小学课程体系,我部组织对普通高中课程方案和语文等学科课程标准(2017年版)进行了修订。普通高中课程方案以及思想政治、语文、

李宜卓[8](2020)在《基于机器学习的ARM平台二进制代码函数识别研究》文中认为二进制代码函数识别是许多二进制代码检测和分析任务的基础,如二进制代码重用、控制流图生成和执行语义分析。它是逆向工程的一个基本问题。二进制代码分析的难点在于多数软件发布时不会附带编译调试信息,所以其二进制代码文件中通常没有函数信息。本文重点研究ARM平台二进制代码的函数识别,提出了两种新的自动函数识别算法。对当前函数识别软件和方法分析发现,大多数要么只能分析x86精简二进制文件,而不能分析ARM二进制文件;要么因为函数起始指令的多样性适用性较差;还有文献中使用返回指令来识别函数,因为一个函数通常有一个返回指令,ret是x86下常见的返回指令,遗憾的是,由于ARM指令的不同,在ARM中没有与之相似的指令。在数据收集方面,对多个开源软件进行交叉编译,对二进制代码反汇编获取其汇编指令对应的机器码,分别输入到机器学习模型和神经网络中进行预处理和最终分析,得到二进制代码的分类,即是否为一个函数的入口点。本文方法自动学习识别函数的关键特性,从识别反汇编二进制码的起始指令开始分析,将二进制代码中一个字节周围的32字节作为字节的特征,利用XGBoost集成学习方法和基于Doc2Vec的Text-CNN网络分别建立分类模型,然后对模型进行训练。在多个流行的开源软件上进行实验,结果表明基于Doc2Vec的Text-CNN模型效果较好,识别准确率和召回率都在90%以上,对软件逆向工程和软件安全分析有实际意义。

刘俊秋[9](2019)在《面向APP识别的流量采集和应用逆向技术研究》文中研究说明随着信息技术的不断发展和网络基础设施的不断建设壮大,移动互联网已经成为当今互联网的主要组成部分,针对移动互联网的取证研究和流量分析等领域的重要性日益凸显。针对移动互联网的数据研究以人为捕获的移动端流量为基础,如何高效率地捕获具有详细信息的流量数据是当今移动流量研究的难题之一;移动互联网流量以各类APP产生的流量为主体,通过对移动APP的逆向研究辅助移动互联网流量研究也是常用的技术手段之一。本文首先提出了一种针对iOS设备的应用级别的流量采集标记系统,并结合逆向工程展开了对微信客户端的逆向分析。本文主要的工作内容总结如下:(1)提出一种面向iOS设备的应用级移动流量标记方法,通过iOS 9+的NetworkExtension支持,能够准确标记产生每条流的APP名称。采用该方法标记的移动网络流量,应用标签具备极高可信度,可以有效支撑流量识别、用户画像等基于移动网络流量的数据挖掘分析研究。(2)设计实现了 iOS端应用级移动流量采集标记原型系统iMonitor,只需要设置待采集APP的BundleID列表,就能够高效地捕获APP所产生的网络流量,并且提供准确详尽的流量信息,如每条五元组流所属的移动用户和APP名称等。Monitor弥补了当前iOS设备流量采集标记工具的缺失,能够有效地提高科研工作者在相关流量采集过程中的效率。(3)全面测试了 iMonitor对移动设备性能的影响,真机安装测评结果表明,iMonitor不会对用户正常使用的网络吞吐、资源占用产生任何负面影响,在流量采集过程中用户的原有体验不会被影响。(4)对微信应用开展了逆向工程分析,详细分析了微信秘钥协商的过程,解析了微信各类消息的处理流程和流量加密格式,通过对比逆向过程中的插桩输出与真实网络流量数据,证实了面向移动应用的逆向分析对移动流量研究具有积极的辅助作用。

郑豪[10](2019)在《基于程序的工控协议逆向分析方法研究》文中研究表明工业控制系统广泛应用于工业生产的各个领域,其安全性对于人民生活至关重要。在工业互联网的背景下,工控系统变得更加开放与智能,同时也面临着更大的挑战。协议作为工控系统的重要组成部分,是许多工控安全研究的关键。而工控网络中存在的许多来自不同厂商的私有协议,给系统安全带来了巨大的隐患。一方面,没有经过公开测试,协议在设计上的缺陷可能会被利用。另一方面,许多依赖协议格式的防御手段无法被用于增强系统安全性。因此,为了增强工控系统的安全性,对私有协议逆向分析非常有必要。为了逆向分析工控协议,本文调研了协议逆向分析的研究现状和相关应用,分析现有方法应用于工控协议的不足。在此基础上,提出了一种基于动态污点分析技术的工控协议格式分析方法,包括污点分析平台和格式分析算法两个部分。该方法的原理是将协议报文看作污点数据,通过动态二进制分析工具对工控协议的程序进行插桩,记录协议报文处理过程中程序的污点数据轨迹,并根据设计的分析算法从轨迹中离线分析出协议格式。在污点分析平台中,本文定义了污点数据的生命周期和状态,特别是污点数据的字节数和大小端格式,设计了平衡效率和准确性的污点数据初始化和传播规则,并基于插桩工具Pin在Linuxx64操作系统上进行实现。协议格式包含了字段的边界和语义,对于字段边界,本文设计了字段树生成算法,从污点分析平台生成的轨迹日志中提取字段边界信息,并按照树状结构可视化输出。对于字段语义,本文定义了工控协议中常见的字段类别,并分别根据其特点设计了不用的识别方法。最后,本文在开源社区中选取了 Modbus、DNP3、S7这三个工控协议的五个实现程序,测试了原型系统的效果,并将得到的结果和协议标准规范进行了对比。

二、开放编译技术在逆向工程中的研究(论文开题报告)

(1)论文研究背景及目的

此处内容要求:

首先简单简介论文所研究问题的基本概念和背景,再而简单明了地指出论文所要研究解决的具体问题,并提出你的论文准备的观点或解决方法。

写法范例:

本文主要提出一款精简64位RISC处理器存储管理单元结构并详细分析其设计过程。在该MMU结构中,TLB采用叁个分离的TLB,TLB采用基于内容查找的相联存储器并行查找,支持粗粒度为64KB和细粒度为4KB两种页面大小,采用多级分层页表结构映射地址空间,并详细论述了四级页表转换过程,TLB结构组织等。该MMU结构将作为该处理器存储系统实现的一个重要组成部分。

(2)本文研究方法

调查法:该方法是有目的、有系统的搜集有关研究对象的具体信息。

观察法:用自己的感官和辅助工具直接观察研究对象从而得到有关信息。

实验法:通过主支变革、控制研究对象来发现与确认事物间的因果关系。

文献研究法:通过调查文献来获得资料,从而全面的、正确的了解掌握研究方法。

实证研究法:依据现有的科学理论和实践的需要提出设计。

定性分析法:对研究对象进行“质”的方面的研究,这个方法需要计算的数据较少。

定量分析法:通过具体的数字,使人们对研究对象的认识进一步精确化。

跨学科研究法:运用多学科的理论、方法和成果从整体上对某一课题进行研究。

功能分析法:这是社会科学用来分析社会现象的一种方法,从某一功能出发研究多个方面的影响。

模拟法:通过创设一个与原型相似的模型来间接研究原型某种特性的一种形容方法。

三、开放编译技术在逆向工程中的研究(论文提纲范文)

(1)基于BIM-WMS技术的建筑拆除废弃物逆向物流优化研究(论文提纲范文)

摘要
abstract
1 绪论
    1.1 研究背景及意义
        1.1.1 研究背景
        1.1.2 研究意义
    1.2 研究方法
    1.3 国内外研究现状分析
        1.3.1 建筑工程逆向物流相关研究
        1.3.2 信息技术在逆向物流中的应用相关研究
        1.3.3 研究评述
    1.4 研究内容及技术路线
        1.4.1 研究内容
        1.4.2 技术路线
2 建筑拆除废弃物逆向物流研究
    2.1 建筑拆除废弃物相关概念
        2.1.1 建筑拆除废弃物定义
        2.1.2 建筑拆除废弃物的特点
        2.1.3 建筑拆除废弃物资源化利用途径
    2.2 建筑拆除废弃物逆向物流理论
        2.2.1 建筑拆除废弃物逆向物流定义
        2.2.2 建筑拆除废弃物逆向物流中的利益相关方
        2.2.3 建筑拆除废弃物逆向物流运营模式
    2.3 建筑拆除废弃物逆向物流现存问题研究
        2.3.1 专家访谈法
        2.3.2 逆向物流的供需信息流与运输分析
    2.4 本章小结
3 BIM与 WMS技术在建筑拆除废弃物逆向物流中的应用
    3.1 BIM与 WMS技术
        3.1.1 BIM技术
        3.1.2 Revit二次开发
        3.1.3 WMS技术相关内容
    3.2 BIM技术在拆除废弃物供应量提取中的应用
        3.2.1 废弃物回收利用方所需废弃物产率及计算
        3.2.2 Dynamo可视化编程原理
        3.2.3 Dynamo可视化编程的一般流程
        3.2.4 Dynamo拆除废弃物供应量提取
        3.2.5 自定义命令按钮的建立
    3.3 WMS技术在废弃物供应路径规划中的应用
    3.4 本章小结
4 基于BIM-WMS技术的废弃物回收利用方选择系统
    4.1 系统的功能需求分析
    4.2 系统的窗体应用程序开发
        4.2.1 功能模块和系统框图
        4.2.2 实现信息处理的自建类
        4.2.3 核心功能实现
        4.2.4 开发的窗体应用程序集成于Revit
    4.3 本章小结
5 基于BIM-WMS的废弃物回收利用方选择系统实证分析
    5.1 某拆除工程概况
    5.2 BIM-WMS系统应用研究
    5.3 结果分析
    5.4 本章小结
6 结论与展望
    6.1 研究结论
    6.2 研究展望
参考文献
研究生期间的科研成果
附录
致谢

(2)基于TEE的Android软件安全加固技术研究(论文提纲范文)

摘要
ABSTRACT
第一章 绪论
    1.1 研究背景和意义
    1.2 国内外研究现状
        1.2.1 软件加固技术发展
        1.2.2 基于TEE的安全技术
        1.2.3 基于虚拟机的加固技术
    1.3 研究目标及内容
    1.4 论文组织结构
第二章 Android系统及基于TEE的加固方案
    2.1 Anroid系统介绍
    2.2 安全问题分析
        2.2.1 Android系统安全威胁
        2.2.2 Android应用安全威胁
        2.2.3 现有加固技术及其缺陷分析
    2.3 基于TEE的加固方案设计
        2.3.1 基于TEE的加固方案总体架构
        2.3.2 基于TEE的加固方案设计原则
    2.4 本章小结
第三章 基于TEE的运行环境保护方法
    3.1 基于TEE的内核运行环境保护
        3.1.1 页表保护
        3.1.2 周期性检查
    3.2 基于虚拟机的应用运行环境保护
        3.2.1 随机虚拟地址技术
        3.2.2 模拟函数堆栈技术
        3.2.3 延迟异常技术
    3.3 本章小结
第四章 基于指令虚拟化的随机指令保护方法
    4.1 随机指令技术
        4.1.1 随机指令映射技术
        4.1.2 随机指令编码技术
        4.1.3 随机指令跳转技术
    4.2 自定义指令序列的生成方式
    4.3 自定义虚拟机代码的生成方式
    4.4 本章小结
第五章 系统实现和实验评估
    5.1 基于TEE的安全加固系统实现
        5.1.1 基于TEE的运行环境保护方法实现
        5.1.2 基于指令虚拟化的随机指令保护方法实现
    5.2 基于TEE的安全加固系统测试
        5.2.1 加固系统功能测试
        5.2.2 加固系统安全测试
        5.2.3 加固系统性能测试
    5.3 本章小结
第六章 总结与展望
    6.1 工作总结
    6.2 工作展望
参考文献
致谢
攻读学位期间发表的学术论文

(3)基于遗传算法的安卓恶意软件检测技术(论文提纲范文)

摘要
Abstract
1 绪论
    1.1 研究的背景与意义
    1.2 国内外发展现状
        1.2.1 现有研究方法介绍
        1.2.2 检测特征提取
        1.2.3 特征选择与检测方法选择
    1.3 本文研究内容
    1.4 本文的主要工作和组织结构
2 相关理论及技术
    2.1 Android操作系统系统架构
    2.2 Android操作系统安全机制
    2.3 Android恶意软件相关介绍
        2.3.1 Android操作系统安全隐患
        2.3.2 恶意软件植入方式
        2.3.3 恶意软件主要分类
    2.4 Android恶意软件检测相关技术
        2.4.1 Android编译流程
        2.4.2 Android反编译技术
        2.4.3 恶意软件检测方式
    2.5 本章小结
3 基于遗传算法为特征选择方式的安卓恶意软件检测技术
    3.1 框架概述
        3.1.1 样本采集
        3.1.2 数据预处理
        3.1.3 初始分类器
        3.1.4 基于遗传算法的特征选择
    3.2 实验评估
        3.2.1 数据集
        3.2.2 评价标准
        3.2.3 多类特征选取的比较评估
        3.2.4 基于遗传算法为特征选择方式的比较评估
        3.2.5 与相关工作的比较
        3.2.6 分析和讨论
    3.3 本章小结
4 基于遗传算法为多分类器权重选择方式的安卓恶意软件检测技术
    4.1 框架概述
        4.1.1 特征提取阶段
        4.1.2 单分类器学习阶段
        4.1.3 分类器选择阶段
    4.2 性能评估
        4.2.1 数据集
        4.2.2 检测效果比较
        4.2.3 鲁棒性比较
        4.2.4 与相关工作比较
        4.2.5 分析与讨论
    4.3 本章小结
结论
参考文献
攻读硕士学位期间发表学术论文情况
致谢

(4)五轴并联自动钻铆机在线逆向编程系统设计(论文提纲范文)

摘要
abstract
第一章 绪论
    1.1 研究工作的背景与意义
    1.2 国内外研究历史与现状
    1.3 本文的主要贡献与创新
    1.4 本论文的结构安排
第二章 技术路线
    2.1 五轴并联钻铆机运动特性分析
    2.2 在线自适应测量
        2.2.1 蒙皮特征点视觉找正
        2.2.2 法向标定与检测
        2.2.3 RTCP调法轨迹规划
        2.2.4 特征点示教
    2.3 蒙皮特征点前置处理
        2.3.1 特征点物理轴数据至几何轴数据变换
        2.3.2 特征点蒙皮域面法矢运算
        2.3.3 特征点点位坐标运算
    2.4 加工轨迹重构
        2.4.1 曲线拟合
        2.4.2 钻铆点位匹配迭代
    2.5 钻铆点后置处理
        2.5.1 钻铆点几何旋转轴数据运算
        2.5.2 钻铆点几何直线轴数据运算
        2.5.3 钻铆点几何轴数据至物理轴数据变换
    2.6 坐标系位姿变换
    2.7 本章小结
第三章 系统设计
    3.1 系统需求分析
        3.1.1 系统总体需求
        3.1.2 人机界面功能需求
        3.1.3 数据管理功能需求
        3.1.4 数据采集功能需求
        3.1.5 运动控制功能需求
        3.1.6 加工程序后置处理功能需求
        3.1.7 非功能性需求
    3.2 系统详细设计
        3.2.1 系统人机界面设计
        3.2.2 数据管理功能设计
        3.2.3 数据采集功能设计
        3.2.4 运动控制功能设计
        3.2.5 加工程序后置处理功能设计
    3.3 本章小结
第四章 系统实现与测试
    4.1 开发环境
    4.2 系统实现
        4.2.1 人机界面功能实现
        4.2.2 数据管理功能实现
        4.2.3 数据采集功能实现
        4.2.4 运动控制功能实现
        4.2.5 加工程序后置处理功能实现
    4.3 系统测试
        4.3.1 系统功能性测试
        4.3.2 系统实现结果测试
    4.4 本章小结
第五章 总结与展望
致谢
参考文献
攻读硕士学位期间取得的成果

(5)基于逆向工程的攻击与检测算法及其应用研究(论文提纲范文)

摘要
abstract
第一章 绪论
    1.1 研究背景与意义
        1.1.1 研究背景
        1.1.2 研究意义
    1.2 研究现状与发展趋势
        1.2.1 研究现状
        1.2.2 发展趋势
    1.3 研究内容与关键问题及主要贡献
        1.3.1 研究内容
        1.3.2 关键问题
        1.3.3 主要贡献
    1.4 本文的结构安排
第二章 相关理论与技术基础
    2.1 逆向工程原理
    2.2 PE文件结构
    2.3 DLL注入技术
    2.4 Hook技术
    2.5 游戏安全中的检测技术
    2.6 本章小结
第三章 明文call逆向与攻击算法
    3.1 子线程循环发包的特点
    3.2 逆向分析某网游明文call
    3.3 攻击算法设计
        3.3.1 弥补IDA缺陷
        3.3.2 挖掘函数调用路径
        3.3.3 功能流程篡改
    3.4 实验与分析
        3.4.1 实验环境
        3.4.2 实验结果与分析
    3.5 本章小结
第四章 DLL注入与隐藏恶意行为检测算法
    4.1 修改PE输入表注入DLL的特点
    4.2 隐藏恶意行为检测的特点
    4.3 检测算法设计
        4.3.1 修改PE输入表注入DLL的检测算法
        4.3.2 外挂运行时隐藏恶意行为检测算法
    4.4 实验与分析
        4.4.1 实验环境
        4.4.2 实验结果与分析
    4.5 本章小结
第五章 攻击与检测算法应用系统
    5.1 需求分析
        5.1.1 功能性需求分类
        5.1.2 需求数据分析过程
        5.1.3 攻击功能
        5.1.4 检测功能
    5.2 概要设计
        5.2.1 系统应用架构设计
        5.2.2 系统技术架构设计
        5.2.3 系统包图
        5.2.4 子系统功能设计
        5.2.5 子系统模块结构
        5.2.6 子系统页面结构
        5.2.7 子系统数据逻辑模型
    5.3 详细设计
        5.3.1 系统实现架构
        5.3.2 软件功能列表定义
        5.3.3 攻击相关功能模块设计
        5.3.4 检测相关功能模块设计
    5.4 测试分析
        5.4.1 检测相关功能模块设计
        5.4.2 功能测试用例
    5.5 本章小结
第六章 总结与展望
    6.1 总结
    6.2 展望
致谢
参考文献
攻读硕士学位期间取得的成果

(6)基于逆向分析的二进制代码混淆保护方法研究(论文提纲范文)

摘要
ABSTRACT
第一章 绪论
    1.0 研究背景与意义
    1.1 代码混淆与逆向分析
        1.1.1 代码混淆
        1.1.2 逆向分析
        1.1.3 代码混淆与逆向分析的关系
    1.2 研究现状与主要问题
        1.2.1 混淆评估
        1.2.2 混淆检测
        1.2.3 反混淆
        1.2.4 安全与性能均衡
    1.3 研究内容及关键挑战
        1.3.1 研究思路
        1.3.2 研究内容及挑战
    1.4 本文创新
    1.5 章节安排
第二章 面向逆向分析的混淆强度评估方法
    2.1 引言
    2.2 代码混淆强度研究基础
        2.2.1 代码混淆复杂性
        2.2.2 指令出现频次分析
    2.3 面向逆向分析的混淆强度分析建模
    2.4 代码混淆强度理论分析
        2.4.1 有关形式化定义
        2.4.2 理论分析
    2.5 混淆强度表征指标
        2.5.1 指令熵
        2.5.2 指令N-gram
    2.6 实验分析与论证
        2.6.1 实验设置
        2.6.2 指令熵实验与分析
        2.6.3 指令N-gram实验与分析
    2.7 对降低混淆强度的指导分析
    2.8 小结
第三章 基于程序语义信息的混淆检测方法
    3.1 引言
    3.2 语义神经网络混淆检测研究基础
        3.2.1 混淆后代码的特征分析
        3.2.2 神经网络可行性分析
        3.2.3 程序语义神经网络模型
    3.3 基于程序语义信息的混淆检测方法
        3.3.1 学习阶段
        3.3.2 检测阶段
    3.4 程序语义信息的特征表达
        3.4.1 基于skip-gram的指令嵌入
        3.4.2 基于CNN的基本块嵌入
        3.4.3 基于LSTM的程序嵌入
        3.4.4 基于程序语义信息的混淆分类
    3.5 混淆标注数据集自动化生成方法
        3.5.1 混淆样本构造算法
        3.5.2 混淆样本有效性验证
        3.5.3 OOV指令替换方法
        3.5.4 基本块切片分析
    3.6 实验分析与验证
        3.6.1 实验设置和评估方法
        3.6.2 实验数据集
        3.6.3 OOV指令预处理实验与分析
        3.6.4 语义神经网络超参选择实验与分析
        3.6.5 混淆检测准确性的实验与分析
        3.6.6 混淆检测效率实验与分析
        3.6.7 与其他机器学习算法对比实验
    3.7 对提升混淆隐蔽性的指导分析
    3.8 小结
第四章 基于程序合成技术的代码反混淆方法
    4.1 引言
    4.2 反混淆研究基础
        4.2.1 数据混淆复杂度分析
        4.2.2 程序合成可行性分析
    4.3 基于程序合成技术的代码反混淆框架
        4.3.1 反混淆模型形式化定义
        4.3.2 基于程序合成的反混淆框架
    4.4 基于机器学习的混淆代码片段识别方法
        4.4.1 样本生成
        4.4.2 混淆特征选择
        4.4.3 混淆分类器
    4.5 基于程序合成技术的反混淆算法
        4.5.1 合成算法描述
        4.5.2 输入输出采样
        4.5.3 语法约束
        4.5.4 候选程序的随机输出
        4.5.5 合成结果相似度评估
    4.6 基于嵌套蒙特卡洛搜索的程序空间降维算法
        4.6.1 搜索算法描述
        4.6.2 搜索节点的选择
        4.6.3 程序合成的模拟
        4.6.4 反向传播更新节点收益
    4.7 基于程序合成技术的反混淆方法扩展
        4.7.1 混淆组件集选择指导原则
        4.7.2 面向数据流的组件选择
        4.7.3 面向控制流的组件选择
        4.7.4 面向虚拟化的组件选择
        4.7.5 程序合成算法扩展分析
    4.8 实验分析与验证
        4.8.1 实验设置与评估方法
        4.8.2 混淆代码片段定位实验与分析
        4.8.3 反混淆结果正确性分析
        4.8.4 反混淆成功率和执行效率实验与分析
        4.8.5 与Syntia的对比实验与分析
        4.8.6 输入输出采样数设置实验与分析
        4.8.7 反混淆结果可理解性实验与分析
    4.9 对提升抗攻击性的指导分析
    4.10 小结
第五章 基于编译时虚拟化的代码混淆方法
    5.1 引言
    5.2 虚拟化的安全威胁和性能压力分析
        5.2.1 Decode-dispatch模式简介
        5.2.2 Decode-dispatch模式的攻击模型
        5.2.3 编译时虚拟化可行性分析
    5.3 基于编译时虚拟化的代码混淆方法
        5.3.1 编译时虚拟化混淆原理
        5.3.2 被保护程序的执行流程
    5.4 基于预编译的性能提升方法
        5.4.1 函数执行占有率决策模型
        5.4.2 Dex2C反编译引擎
    5.5 基于编译时虚拟化的抗攻击性方法
        5.5.1 面向LLVMIR的虚拟化指令
        5.5.2 调度程序和虚拟指令处理程序
        5.5.3 编译时虚拟化抗攻击性分析
    5.6 DECODE-DISPATCH调度模式隐藏算法
        5.6.1 隐藏算法描述
        5.6.2 编译时虚拟化隐蔽性分析
    5.7 实验分析与验证
        5.7.1 实验设置和评估方法
        5.7.2 抗攻击性实验与分析
        5.7.3 隐蔽性实验与分析
        5.7.4 强度实验与分析
        5.7.5 性能开销实验与分析
        5.7.6 功能完整性验证实验与分析
    5.8 小结
第六章 总结与展望
    6.1 总结
    6.2 展望
参考文献
攻读博士学位期间取得的科研成果
致谢
作者简介

(8)基于机器学习的ARM平台二进制代码函数识别研究(论文提纲范文)

摘要
Abstract
第1章 绪论
    1.1 课题研究的背景和意义
        1.1.1 研究背景
        1.1.2 软件逆向工程的现实意义
        1.1.3 研究意义
    1.2 文献综述
        1.2.1 软件逆向工程的相关研究
        1.2.2 软件安全分析的相关研究
        1.2.3 逆向分析的相关软件
        1.2.4 基于卷积神经网络用于非标识别的相关研究
        1.2.5 函数识别相关分析
    1.3 课题的来源及研究内容
        1.3.1 课题来源
        1.3.2 课题的主要研究内容
    1.4 论文的内容结构及组织安排
第2章 相关技术概述
    2.1 二进制函数
        2.1.1 二进制函数的定义及研究范畴
        2.1.2 二进制函数的特征及识别方法
    2.2 嵌入式系统
        2.2.1 嵌入式系统的定义及研究范畴
        2.2.2 嵌入式系统的应用环境及计算资源
        2.2.3 ARM平台下可执行文件的反汇编
    2.3 本章小结
第3章 函数识别的任务分析
    3.1 ARM指令的特点
    3.2 当前工具及其方法的不足
    3.3 ARM下面临的问题和挑战
    3.4 生成数据集
        3.4.1 数据来源
        3.4.2 交叉编译
        3.4.3 使用IDA进行反汇编
        3.4.4 使用IDA自动分析
    3.5 本章小结
第4章 两种机器学习模型的设计与实现
    4.1 Boosting集成学习方法
        4.1.1 XGBoost集成学习方法
        4.1.2 XGBoost参数
    4.2 Doc2Vec向量表达
        4.2.1 词向量
        4.2.2 基于Doc2Vec的特征向量化
    4.3 基于Doc2Vec的 Text-CNN函数识别模型
        4.3.1 卷积神经网络和文本分类
        4.3.2 基于Doc2Vec的 Text-CNN网络
        4.3.3 激活函数的选取
        4.3.4 模型参数设置
        4.3.5 模型训练
    4.4 实验结果与分析
        4.4.1 模型超参数设置
        4.4.2 实验数据
        4.4.3 实验条件
        4.4.4 识别准确率的测试
    4.5 误差分析
    4.6 本章小结
结论
参考文献
攻读硕士学位期间所发表的学术论文
致谢

(9)面向APP识别的流量采集和应用逆向技术研究(论文提纲范文)

摘要
ABSTRACT
第一章 绪论
    1.1 研究背景与意义
    1.2 研究现状
        1.2.1 流量采集的主要手段
        1.2.2 流量采集的主要应用
        1.2.3 关于移动应用逆向分析
    1.3 主要工作与创新点
    1.4 论文结构
第二章 相关研究与技术
    2.1 流量采集分析
        2.1.1 流量采集的主要手段
        2.1.2 流量采集的主要应用
    2.2 移动APP逆向分析
        2.2.1 Android APP逆向分析
        2.2.2 iOS APP逆向分析
    2.3 本章小结
第三章 针对iOS设备的流量采集与标记系统
    3.1 引言
    3.2 设计目标
    3.3 系统设计
        3.3.1 NetworkExtension
        3.3.2 客户端
        3.3.3 服务器端
    3.4 系统实现
        3.4.1 客户端
        3.4.2 服务端
        3.4.3 通信协议:SOCKS5
    3.5 系统测评
        3.5.1 网络吞吐率影响评估
        3.5.2 资源消耗影响评估
        3.5.3 基于iMonitor流量分类的初步应用
    3.6 本章小结
第四章 针对微信客户端的逆向分析
    4.1 引言
    4.2 逆向分析思路
        4.2.1 逆向分析目标
        4.2.2 准备工作
        4.2.3 反编译&重打包
        4.2.4 Hook技术
        4.2.5 Protobuf序列化
        4.2.6 MMTLS通信协议
        4.2.7 ECDH秘钥协商体制
    4.3 逆向分析过程
        4.3.1 关键函数定位
        4.3.2 登录流程分析
        4.3.3 消息分析
        4.3.4 各种消息在流量上的体现
    4.4 本章小结
第五章 总结与展望
致谢
参考文献
作者在学期间取得的学术成果

(10)基于程序的工控协议逆向分析方法研究(论文提纲范文)

致谢
摘要
Abstract
1 绪论
    1.1 研究背景及意义
    1.2 国内外研究现状
        1.2.1 基于报文的协议逆向研究现状
        1.2.2 基于程序的协议逆向研究现状
        1.2.3 研究现状技术对比
    1.3 本文研究内容
    1.4 本文组织结构
    1.5 本章小结
2 相关理论与技术
    2.1 引言
    2.2 工业控制系统
    2.3 动态污点分析技术
    2.4 动态污点分析工具
    2.5 Pin插桩工具
    2.6 本章小结
3 协议污点分析平台
    3.1 引言
    3.2 二进制程序基础
    3.3 污点平台设计
        3.3.1 污点初始化设计
        3.3.2 污点传播设计
        3.3.3 污点数据结构设计
    3.4 污点平台实现
        3.4.1 污点初始化实现
        3.4.2 污点传播实现
    3.5 本章小结
4 工控协议逆向算法设计与实现
    4.1 引言
    4.2 协议逆向分析框架
    4.3 日志文件
    4.4 字段边界分析
    4.5 字段语义分析
        4.5.1 类型字段
        4.5.2 长度字段
        4.5.3 大小字段
        4.5.4 校验字段
    4.6 本章小结
5 实验与评估
    5.1 引言
    5.2 实验对象与环境
    5.3 实验步骤
    5.4 协议测试
        5.4.1 Modbus
        5.4.2 DNP3
        5.4.3 S7
        5.4.4 结果分析
    5.5 本章小结
6 总结与展望
    6.1 研究总结
    6.2 工作展望
参考文献
附录
发表文章目录

四、开放编译技术在逆向工程中的研究(论文参考文献)

  • [1]基于BIM-WMS技术的建筑拆除废弃物逆向物流优化研究[D]. 何易飞. 西安建筑科技大学, 2021(01)
  • [2]基于TEE的Android软件安全加固技术研究[D]. 陈泽伦. 北京邮电大学, 2021(01)
  • [3]基于遗传算法的安卓恶意软件检测技术[D]. 韩潇宁. 大连理工大学, 2021(01)
  • [4]五轴并联自动钻铆机在线逆向编程系统设计[D]. 申少泽. 电子科技大学, 2021(01)
  • [5]基于逆向工程的攻击与检测算法及其应用研究[D]. 余文健. 电子科技大学, 2021(01)
  • [6]基于逆向分析的二进制代码混淆保护方法研究[D]. 赵玉洁. 西北大学, 2021
  • [7]教育部关于印发普通高中课程方案和语文等学科课程标准(2017年版2020年修订)的通知[J]. 教育部. 中华人民共和国教育部公报, 2020(06)
  • [8]基于机器学习的ARM平台二进制代码函数识别研究[D]. 李宜卓. 哈尔滨理工大学, 2020
  • [9]面向APP识别的流量采集和应用逆向技术研究[D]. 刘俊秋. 国防科技大学, 2019
  • [10]基于程序的工控协议逆向分析方法研究[D]. 郑豪. 浙江大学, 2019(12)

标签:;  ;  ;  ;  ;  

逆向工程中的开放编译技术研究
下载Doc文档

猜你喜欢