一、转换机器码程序为汇编语言程序的原理和方法(论文文献综述)
谢文光,李琪,马春燕,汪克念,尹伟,张涛[1](2021)在《嵌入式处理器P2020机器码程序到C语言源程序的溯源方法》文中认为处理器PowerPC P2020在航空航天等嵌入式领域被广泛应用,以RTCA/DO-178C中A级软件的适航要求作为研究的出发点,提出了从文件、函数声明、函数体代码3层次实现P2020机器码程序到C源程序的溯源方法。在获取C语言源程序与PowerPC P2020机器码程序文件名列表的基础上,实现PowerPC P2020机器码文件主名的溯源;通过遍历C源程序抽象语法树和PowerPC P2020机器码获取函数名列表,实现PowerPC P2020机器码函数声明的溯源;通过定义C语言程序抽象语法树节点生成期望汇编指令序列的规则,实现PowerPC P2020机器码函数体的溯源。通过设计245个C源程序文件与345个PowerPC P2020机器码程序文件,1 111个C语言函数声明与1 273个PowerPC P2020机器码函数声明,以及覆盖C语言程序23类语法结构的460个测试用例,验证了PowerPC P2020机器码程序到C源程序的自动化溯源方法的有效性。结果表明:文件溯源和函数声明溯源的追溯匹配率达100%,程序函数体代码的平均溯源匹配率达97.22%。溯源匹配结果可以检查PowerPC P2020机器码程序是否在编译过程插入例外异常代码,以防止其带来的安全隐患,保证航空航天嵌入式安全关键软件机器码的安全性和可靠性。
余文健[2](2021)在《基于逆向工程的攻击与检测算法及其应用研究》文中认为目前,针对游戏进行逆向分析并开发外挂程序进行攻击和检测非法行为已成为游戏安全领域的重点问题。其中攻击需要基于数据,而针对数据的分析存在明文call难以寻找的问题;检测则需要从不同的角度和出发点进行考量,而针对修改PE输入表注入DLL和外挂运行时恶意行为方面的检测还存在不足。据此,本文研究基于逆向工程的攻击与检测算法,设计并实现一套可用于网络游戏的攻击与检测软件系统,主要贡献如下:(1)提出逆向分析网游明文call的方法。通过对发包函数设置断点,分析封包内容的写入操作或者跟踪封包长度,在逆向追踪的过程中,针对是否触发保护的情况,灵活选择中断还是监控;在层层返回时,根据封包数据的变化规律以及指令中出现的地址,其内部包含的内容何时发生变化,从而进行分析点的更换。实验结果表明,所提出的分析方法能够分析出不同网游的明文call,并在此基础上快速获得其他功能call的地址。(2)提出函数内部调用路径的挖掘算法。主要针对某个API功能失效,发现是其内部调用的某个子API被设置钩子的缘故,若要绕过则需要知道该API内部这个子API被调用的完整路径,从而从被调用的上层进行绕过。实验结果表明,能够对复杂内核API的内部调用路径进行较为完整地挖掘,挖掘总耗时不到35s。(3)提出修改PE输入表注入DLL的检测算法和外挂运行时隐藏恶意行为的检测算法。前者分为两种检测策略,分别是基于合法范围的普通检测算法和基于异常回溯的深度检测算法,从静态和动态的角度对注入的DLL进行检测。后者针对外挂程序已经完全运行的情况下,游戏本身的保护措施不含有对恶意行为的检测功能,从该角度出发提出恶意行为检测算法。实验结果表明,能够有效地检测出修改PE输入表注入的DLL以及外挂运行时的恶意行为并输出警告提示。
李阳春[3](2020)在《基于Android逆向的即时通讯软件端到端加密算法分析》文中认为随着目前移动通信技术的飞速发展以及智能移动终端的普及,即时通讯软件已成为大部分用户在生活和工作中不可或缺的一部分。由于情报部门进行的大规模监视行为以及层出不穷的数据泄露事件促使许多人使用替代解决方案以用来保护他们在互联网上的通信的安全性和隐私性。因此多款国外即时通讯软件都使用了端到端加密算法。端到端加密没有采用服务器加解密消息,而是在通讯双方使用终端上进行消息的加密或者解密,服务器仅仅负责传输消息,通信服务商都没有办法查看通信内容。本文基于Android逆向分析技术对广泛使用的端到端加密即时通讯应用进行逆向工程,从技术层面研究了端到端加密即时通讯软件如何处理用户之间的消息,端到端加密流程以及端到端加密算法的安全属性。论文主要工作如下:(1)研究Android平台下的相关知识以及逆向分析技术,提出了一套逆向分析方案,该方案以原始APK文件为起点,逆向过程从APK重打包重签名技术、静态分析技术、无源码调试技术、动态插桩技术这四个角度展开对于Android系统的两个代码层次(Java层代码和Native层代码)进行分析。(2)根据提出的逆向分析方案构建逆向分析系统,整个逆向系统分为三个模块,静态分析模块、动态调试模块、动态插桩模块,整个系统兼顾逆向分析Java层代码和Native层代码,侧重于对Native层代码的分析。整个逆向分析系统可以在保证精确性和准确性的条件下获取函数级数据如函数运行情况、函数调用情况、寄存器内容等,从而确定与特定功能相关的函数位置以及函数运行情况,避免对与目标无关代码的分析。(3)利用逆向分析系统分析两款常用的端到端加密即时通讯软件,分析选用的两款即时通讯软件为Signal和Xxxx,根据逆向分析结果总结出应用中的端到端加密流程以及其中涉及到的密钥调度情况。通过逆向分析开源软件Signal验证了逆向分析方案的可行性,从而更加有效的逆向分析Xxxx。两款即时通讯软件端到端加密流程均包括四个阶段:注册阶段、会话建立阶段、非对称棘轮更新阶段、对称棘轮更新阶段,经过四个阶段的处理最终实现即时通讯的端到端加密。两款应用中的端到端加密算法均主要包括X3DH算法、双棘轮加密算法,但其中算法实现细节有不同之处。对于非对称棘轮更新阶段,Signal应用会在收到对方非对称棘轮公钥后进行连续的两次棘轮步进,第一次棘轮步进用于更新出接收链,紧接着第二次棘轮步进更新出发送链;而Xxxx应用收到带非对称棘轮的消息后仅仅会用非对称棘轮更新出接收轮次密钥,直到接下来由消息接收方变为消息发送方时才更新出发送轮次密钥。对于对称棘轮更新阶段,Signal应用中通过密钥生成链派生出对称密钥的方式以更新对称棘轮,而Xxxx应用通过两次Salsa20流加密算法保证消息明文的私密性。(4)为了验证端到端加密算法的各种安全属性,利用应用pi演算语言模拟逆向分析得出的端到端加密流程,并利用形式化验证工具Proverif设计验证了一系列安全属性,如消息的私密性、完整性、不可区分性、前向安全性、未来安全性、身份认证、重放攻击。形式化验证结果表明在保证初始身份密钥正确的情况下,Signal和Xxxx中的端到端加密算法能够保证消息的私密性、完整性、前向安全性、未来安全性并且可以延续正确的身份认证,但是仅仅靠端到端加密算法无法保证消息的不可区分性。
杨志成[4](2020)在《针对DSP处理器的逆向工程关键技术研究》文中进行了进一步梳理随着信息技术的飞速发展和处理器漏洞的频繁出现,通用处理器安全问题逐渐引起人们的广泛关注。数字信号处理器(Digital signal processor,DSP)作为数字信号处理领域的专用处理器,被广泛应用于通信、精确导航、自动控制等重要领域,而对其安全性的研究却是少之又少。目前,针对DSP处理器开展安全问题研究的主要困难在于缺少针对DSP处理器的逆向工程手段,此外,DSP处理器会存在何种安全问题仍是未知。在此背景下,我们根据DSP处理器的特点,提出了适用于DSP处理器的逆向工程技术,即为反汇编技术。同时,针对未公开指令,这一存在于通用处理器的安全问题,对DSP处理器进行安全性研究。本论文的主要工作如下:(1)提出了适用于DSP处理器的逆向工程技术框架:本文研究了现有的针对通用处理器的反汇编技术,结合DSP处理器的体系结构特点,提出了适用于DSP处理器的逆向工程技术框架,该框架的提出,能对DSP处理器的逆向研究提供一定的参考作用。(2)建立了基于TMS320C64x/C64x+指令系统的逆向工程工具:根据本文提出的DSP处理器的逆向工程技术框架,建立了基于TMS320C64x/C64x+指令系统的逆向工程工具,并对其进行了可靠性测试。本工具分为三个部分:数据处理模块、数据库、反汇编模块。在数据处理模块中,我们提出了程序段的确立方法。我们通过研究TMS320C64x/C64x+指令集,提出了高效的指令集数据库建立方法。在反汇编模块中,我们给出了指令翻译的具体方法及步骤。通过本工具,我们可以完成从机器码到汇编指令的反汇编工作。最后经过实验验证,本工具能到达较优的反汇编效果。(3)提出了适用于DSP处理器的未公开指令搜索方法:在逆向工程工具的支持下,提出了面向DSP处理器的未公开指令搜索方法。该方法通过识别指令格式,跳过指令中的低效率部分,来减少指令的搜索空间,大大提高了工作效率。通过这种搜索方法,我们找到了处理器中存在的未公开指令,并结合机器码的结构,对未公开指令的结构进行分析,给出了其机器码的构成。
琚长江[5](2019)在《PLC运动控制典型指令设计与运行优化研究》文中研究指明随着我国智能制造强国战略的实施,制造业不断升级,以运动控制为核心的高端机器设备如机器人、数控机床、机械装备等应用前景非常广阔。实现运动控制技术的手段很多,基于PLC的技术方案的通用性强,软件兼容性强且方便移植。PLC产品以国外技术为主,但PLC核心运动控制基础底层技术的公开可参考文献较少。本文基于课题组自主开发PLC系统的研究为背景,结合双芯片嵌入式平台和最优化理论方法,深入研究了PLC运动控制五个方面基础技术:1.针对运动控制的高速脉冲的性能和精度的要求,研究了当前最先进的嵌入式芯片技术,提出了嵌入式ARM和FPGA双芯片组合的PLC运动控制硬件架构,通过FPGA高速脉冲算法实现最大6路100KHz高速脉冲的运动控制。ARM芯片内设计了基于脉冲的运动规划算法,FPGA芯片内设计了高速计数器、双轴脉冲插补、脉冲加减速和脉冲补偿器电路,脉冲补偿器根据高速输入计数器和脉冲输出计数器的误差实施脉冲数量闭环计数的补偿,实现运动控制的脉冲数量准确无误。运动控制脉冲闭环测试实验验证了运动控制硬件架构设计的高性能和高精度特性。2.针对各种运动控制场景的多种指令组合的软件编程需求,提出了一组运动控制指令及其组合应用方法。设计了典型的三段式梯形加减速运动控制指令集和专用的运动控制参数指令;包括195条较完整的PLC指令集,配合运动控制指令集灵活组合应用。提出了一种新的PWM高精度运动控制指令,设计了带有积分器补偿的脉宽调制占空比控制方法,以较低的频率得到较高的PWM执行器精度,降低了PWM运动控制技术的成本。运动控制案例实验验证体现了典型运动控制指令设计的有效性。3.针对运动控制指令编译与运行的需求,通过采用开源FLEX设计词法分析器、开源BISON设计语法分析器、自主设计语义分析和中间代码生成软件,设计了运动控制指令编译和解释运行的高效算法和软件模块,保证了编译技术的可靠性和效率。引用迷宫算法实现梯形图的图元辨识,采用二叉树后序遍历算法实现指令表语句的编译输出,采用基于二叉树的图元串并联合并方法解决梯形图中多输出的编译问题;运行模拟实验验证了运动控制指令编译与解释运行技术的有效性。4.针对运动控制的柔性和激励总量的优化需求,提出了最小燃料模型。综合考虑机器设备的性能指标、机械惯性、迟滞特性等控制量和状态量约束,建立了运动控制速度、加速度和急动度有约束下的最短时间控制模型和最小燃料控制模型,并相应设计了柔性加减速最优控制算法和多轴联动速度插补跟随算法。针对S型加减速控制柔性运动控制,创新性地提出S-型期望速度轨迹优化的最小燃料模型设计方法,现有研究的时间最短模型是最小燃料模型的特例,并系统提出求解最小燃料控制问题的非线性规划模型及算法,通过仿真算例和实际测试验证了其科学性和有效性,实验验证优化方法和结果可减少运动控制系统的激励总量,提升运动控制系统的柔性。5.针对运动控制系统远程调试监控画面数据实时刷新的时效性问题,首次提出滚动视图监控优化模型,解决了人机交互远程监控通信的动态存取优化管理问题。以监控视图中打成一包的连续数据帧数为决策变量,以监控视图整体期望传输时间为优化指标,以人的认知响应为约束建模。通过证明其指标函数是一个锯齿状函数,并基于一个无约束优化模型及其解析最优解作为下界,给出滚动视图的优化模型最优解算法。最后还解析给出工程适用的近似最优解。仿真实验说明了本方法的科学性,通过实验测试验证了其高效性,满足了运动控制远程实时监控时人机认知的画面刷新需求。
丁巍[6](2019)在《基于多分类器集成的恶意软件分类研究》文中指出随着互联网技术的飞速发展,恶意软件的传播途径也越来越多,恶意软件给互联网安全带来了巨大的风险。同时,变形、多态、混淆等技术的日益成熟,恶意软件的保护机制逐渐增强,使得传统的基于特征码的扫描方式逐渐失效。这些年来,依赖于机器学习的自学习能力,研究人员提出了大量的恶意软件的识别方法,机器学习可以从大量已知样本中归纳恶意软件识别经验,生成具有识别功能的模型,不仅对已知的恶意软件有较强的识别能力,而且对预测未知的恶意软件也有较高的准确率。本文为解决恶意软件分类准确率较低的问题,提出了两种恶意软件分类方法,基于API调用序列的循环神经网络分类方法和基于多分类器集成的分类方法。其主要工作如下:1)基于信息增益对样本的特征进行选择。本文使用的特征包括基于N-gram的操作码序列特征、PE结构信息特征和基于反汇编文件生成的API调用序列特征。为了提高恶意软件的识别速度和高准确率,本文利用信息增益算法对提取的特征进行了特征选择,过滤掉特征集中重要性较低特征。其中进行特征选择的特征有操作码序列、导入表信息、区块名、API调用函数等四组特征。2)提出了基于API调用序列的循环神经网络的分类方法。首先本文对反汇编文件进行分析,从上往下的顺序对调用的API函数进行提取和排序。基于循环神经网络处理序列化问题强的优点,本文利用API调用序列对双向神经网络作进行训练,并与文献中较常见的恶意软件分类方法,即基于操作码序列的随机森林、基于PE结构的SVM分类器进行了实验对比。3)提出基于多分类器集成的恶意软件分类方法。本文不仅实现了基于API调用序列的循环神经网络,还实现了基于操作码的随机森林和基于PE结构的SVM分类器。并利用本文获取的样本进行实验分析证明这些方法都是可行的,通过软投票的方法,集成了三种分类器并实现了多分类器集成的恶意软件分类方法,并与多特征融合的分类方法进行实验对比。实验阶段,本文集成了三种分类器与多特征融合的恶意软件分类方法进行了实验对比,本文提出的方法最终获得93.2%的准确率,相比于多特征融合方法高出了1.8个百分点,证明本文提出的方法具有更高的准确性。
张越[7](2019)在《基于代码混淆的软件保护方案研究与设计》文中提出随着科技的飞速发展,“万物皆可连”的物联网时代已经到来,可预见会有越来越多的物联网应用出现。由于是新兴行业,很多制度尚不完善,类比传统软件行业受到的软件盗版等问题的困扰,物联网应用同样面临软件资产被盗的威胁。软件资产的安全性迫切需要得到保障,而代码混淆技术是实现软件保护的有效手段。由于物联网应用场景复杂,平台繁多,设备体系架构、软件编程语言未得到统一化的规定,导致针对特定编程语言或者特定平台架构的传统代码混淆方案应用受限,因此本文提出基于LLVM这款优秀的编译系统来克服上述的问题。LLVM框架拥有设计优良的中间语言格式,具有平台无关性,同时支持多种编程语言并可以生成不同体系架构的机器码,这些特点使得基于LLVM设计面向物联网应用的代码混淆保护方案变得可能。本文基于LLVM框架,面向物联网应用研究设计基于代码混淆的软件保护方案。在分析现有代码混淆技术的基础上,针对物联网应用的特点,提出三种较为轻量级的代码混淆算法。对字符串数据进行混淆,防止攻击者通过静态字符串扫描的方式获取程序内部敏感信息。设计密钥变换,并在使用字符串前执行动态解密操作,使用完之后进行重新加密操作,对抗动态内存扫描字符串攻击。对控制流进行混淆,设计一种受限的控制流平坦化算法,将原本简单清晰的控制流图复杂化,进一步增强针对控制流图分析的难度,同时也考虑到对开销的控制,通过限制待混淆基本块的个数降低开销并提供一定的安全保障。对函数调用进行混淆,由于攻击者可以根据函数的调用情况猜测函数的功能,本文提出一种跳板函数的概念,通过将大部分函数封装到一个函数中,再由跳板函数进行调用的思路,设计了一种函数调用隐藏的算法,实现对抗静态分析中对函数调用图的分析。最后基于上述研究和设计,利用LLVM框架实现了三种算法,搭建了代码混淆的原型系统,并进行了混淆效果展示实验、多组样本的功能性测试实验和开销测试。实验结果表明,本文提出的方法能够达到预期混淆效果,对物联网应用的保护有效,为物联网应用保护提供了一些思路。
王蕾[8](2018)在《基于FORTH虚拟机的实时多任务调度研究》文中研究指明Forth操作系统凭借其可扩展、可重构、可移植等诸多优点,在嵌入式领域有着广泛应用。早期的Forth多任务操作系统是基于CPU方式进行调度的,此方式虽然可以对突发事件进行实时处理,但这种方式打破了Forth虚拟机的工作节奏,其实时性的获得是在任务切换时,以消耗大量的信息存储时间和存储空间为代价的。正因为如此,基于Forth虚拟机调度的操作系统逐渐成为领域研究的热点。在基于Forth虚拟机的操作系统中,任务运行信息的传递都是通过堆栈来实现的。在任务切换时,系统只需保存和恢复数据堆栈的栈顶指针就可以完成上下文切换,大大减少了内存空间的占用和时间的消耗。但基于Forth虚拟机的操作系统自身也存在着缺陷,其调度时刻必须与Forth虚拟机指令周期同步,现有调度机制不支持实时调度,导致应用受限。针对该问题,本课题在基于Forth虚拟机的操作系统中,新定义了一种任务类型——中断任务,并且设计了一套中断任务处理机制,通过创建中断任务、链接突发事件执行体,使中断任务、终端任务和后台任务链接在一起,共同构成任务循环链表。当有突发事件发生,通过触发中断的方式使中断任务就绪,在保证原Forth系统多任务调度稳定性的前提下,调度中断任务去处理突发事件,以增加Forth系统对突发事件的实时处理能力。以上工作在移植了开源AmForth系统的Arduino UNO硬件平台上得到了验证,实验结果表明,改进后的Forth操作系统,其中断任务的等待时间明显地小于原系统,验证了本课题提出的基于Forth虚拟机的实时多任务调度具有可行性和有效性。本课题的创新点是:在保证Forth虚拟机的固有特性以及兼容现有轮询调度的前提下,使Forth多任务操作系统具备了通过实时调度去处理突发事件的能力。
胡嘉熙[9](2018)在《面向安全评估的攻击免杀技术研究》文中研究说明安全评估用于对企业内部的信息系统进行全面评估。近几年来,针对企业等大型机构的入侵行为大幅增加,安全评估可用于模拟入侵行为,机构负责人可根据安全评估的结果找到企业内部信息系统的脆弱点并予以加强。为模拟真实入侵行为,在安全评估中使用的渗透测试代码样本应当绕过杀毒软件查杀。本文通过逆向工程等手段对杀毒软件原理进行深入研究,并提出了三种可绕过杀毒软件的免杀技术,据此设计了免杀辅助工具及渗透测试代码投放平台。本文提出了混淆、白名单、沙盒绕过三种免杀手段。其中利用密码学及NP-Complete问题设计了杀毒软件难以识别的混淆方案,通过对Windows API的调用分析判断白名单程序能否用于实现免杀,基于沙盒技术自身的局限提出了稳定绕过沙盒查杀的方案。本文实现的工具有以下特点:1)使用了通过分析杀毒软件原理而提出的较全面的免杀技术。2)使用了通用的免杀技术,针对不同编程语言均有效。3)该工具能够有效降低恶意代码样本的被查杀率。实验结果表明,使用本文设计的免杀辅助工具提出的免杀策略能有效降低渗透测试代码投放平台使用的样本的被查杀率,样本最终能绕过NOD32、Kasperkey、Symentac等企业级杀毒软件,即在安全评估中使用本文提出的免杀技术可以达到预期效果。
代红兵,杨为民,王丽清,周永录[10](2014)在《多目标Forth自生成器的研究与实现》文中提出针对现有的Forth自生成器都与目标环境密切关联、缺少抽象层次、难以在异构新平台上有效生成新的Forth系统等问题,通过采用抽象code算法库、描述异构目标,并重构Forth虚拟机的方法,构建完成了一个面向嵌入式环境、具有多目标特性的Forth自生成器。该生成器简化了传统编译器复杂的前端和后端设计,依托Forth特有的解释执行状态和字典结构,可快速生成新的目标系统。实验结果表明,该自生成器代码生成质量和效率都较高,尤其适合资源有限的嵌入式环境。
二、转换机器码程序为汇编语言程序的原理和方法(论文开题报告)
(1)论文研究背景及目的
此处内容要求:
首先简单简介论文所研究问题的基本概念和背景,再而简单明了地指出论文所要研究解决的具体问题,并提出你的论文准备的观点或解决方法。
写法范例:
本文主要提出一款精简64位RISC处理器存储管理单元结构并详细分析其设计过程。在该MMU结构中,TLB采用叁个分离的TLB,TLB采用基于内容查找的相联存储器并行查找,支持粗粒度为64KB和细粒度为4KB两种页面大小,采用多级分层页表结构映射地址空间,并详细论述了四级页表转换过程,TLB结构组织等。该MMU结构将作为该处理器存储系统实现的一个重要组成部分。
(2)本文研究方法
调查法:该方法是有目的、有系统的搜集有关研究对象的具体信息。
观察法:用自己的感官和辅助工具直接观察研究对象从而得到有关信息。
实验法:通过主支变革、控制研究对象来发现与确认事物间的因果关系。
文献研究法:通过调查文献来获得资料,从而全面的、正确的了解掌握研究方法。
实证研究法:依据现有的科学理论和实践的需要提出设计。
定性分析法:对研究对象进行“质”的方面的研究,这个方法需要计算的数据较少。
定量分析法:通过具体的数字,使人们对研究对象的认识进一步精确化。
跨学科研究法:运用多学科的理论、方法和成果从整体上对某一课题进行研究。
功能分析法:这是社会科学用来分析社会现象的一种方法,从某一功能出发研究多个方面的影响。
模拟法:通过创设一个与原型相似的模型来间接研究原型某种特性的一种形容方法。
三、转换机器码程序为汇编语言程序的原理和方法(论文提纲范文)
(1)嵌入式处理器P2020机器码程序到C语言源程序的溯源方法(论文提纲范文)
1 PowerPC P2020机器码程序到C语言源程序的溯源需求 |
2 PowerPC P2020机器码程序到C语言源程序的溯源 |
2.1 算法概览 |
2.2 PowerPC P2020机器码程序文件主名与源文件文件主名溯源 |
2.3 PowerPC P2020机器码程序函数声明与源文件函数声明的溯源 |
2.4 PowerPC P2020机器码函数体代码与源文件函数体代码的溯源 |
2.4.1 C程序语法结构到PowerPC P2020汇编语言指令序列映射规则的定义 |
1)函数类 |
(1)函数调用节点funcCall |
(2)函数声明节点funcDecl |
2)控制语句相关节点 |
(1)if控制节点 |
(2)for循环节点 |
3)跳转类节点 |
(1)返回节点return |
(2)循环终止节点break |
4)运算类节点 |
(1)二元运算符binaryOp |
(2)单目运算节点unaryOp |
2.4.2 建立PowerPC P2020机器码程序函数体语句序列与C源程序函数体语句之间的追溯关系 |
2.5 库函数的溯源 |
3 实验验证 |
3.1 实验环境搭建 |
3.2 测试用例 |
1)文件主名溯源测试用例 |
2)函数名溯源测试用例 |
3)函数体溯源测试用例 |
3.3 实验步骤 |
1)导入源文件和机器码文件 |
2)机器码文件溯源 |
3.4 实验结果分析 |
1)文件溯源结果 |
2)函数声明溯源结果 |
3)函数体代码行溯源结果 |
4 结论和展望 |
(2)基于逆向工程的攻击与检测算法及其应用研究(论文提纲范文)
摘要 |
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 展望 |
致谢 |
参考文献 |
攻读硕士学位期间取得的成果 |
(3)基于Android逆向的即时通讯软件端到端加密算法分析(论文提纲范文)
摘要 |
ABSTRACT |
第1章 绪论 |
1.1 课题背景及研究的目的和意义 |
1.2 国内外研究现状及成果 |
1.3 本文的主要研究内容 |
1.4 本文章节安排 |
第2章 理论基础 |
2.1 引言 |
2.2 Android体系结构 |
2.2.1 Linux内核层 |
2.2.2 用户空间原生层 |
2.2.3 应用框架层 |
2.2.4 应用程序层 |
2.3 Android相关机制 |
2.3.1 APK文件结构 |
2.3.2 Android代码间调用方式 |
2.3.3 动态链接库加载 |
2.3.4 相关反编译语言 |
2.3.5 Android签名认证机制 |
2.4 密码学相关知识 |
2.4.1 DH密钥交换算法 |
2.4.2 对称加密算法 |
2.4.3 HMAC算法 |
2.4.4 X3DH算法 |
2.4.5 双棘轮加密算法 |
2.5 本章小结 |
第3章 ANDROID应用逆向分析技术研究 |
3.1 引言 |
3.2 逆向工具 |
3.3 APK重打包重签名技术 |
3.3.1 重打包技术 |
3.3.2 Smali注入技术 |
3.3.3 签名绕过技术 |
3.4 静态分析技术 |
3.5 无源码调试技术 |
3.5.1 Java层无源码调试 |
3.5.2 Native层无源码调试 |
3.6 动态插桩技术 |
3.6.1 进程注入技术 |
3.6.2 函数劫持技术 |
3.7 防御技术 |
3.7.1 代码混淆技术 |
3.7.2 反动态分析技术 |
3.8 方案设计 |
3.9 本章小结 |
第4章 即时通讯软件逆向分析系统的设计与实现 |
4.1 引言 |
4.2 总体设计 |
4.3 静态分析模块设计 |
4.3.1 Java层静态分析 |
4.3.2 Native层静态分析 |
4.4 动态调试模块设计 |
4.4.1 Java层动态调试 |
4.4.2 Native层动态调试 |
4.5 动态插桩模块设计 |
4.5.1 Java层的动态插桩 |
4.5.2 Native层的动态插桩 |
4.6 本章小结 |
第5章 基于逆向分析系统的端到端加密算法研究 |
5.1 引言 |
5.2 实际应用中端到端加密算法 |
5.2.1 逆向分析Signal应用中的端到端加密算法 |
5.2.2 逆向分析Xxxx应用中的端到端加密算法 |
5.3 本章小结 |
第6章 端到端加密算法安全性分析 |
6.1 引言 |
6.2 算法流程描述 |
6.3 安全属性验证 |
6.4 结果分析 |
6.5 本章小结 |
结论 |
参考文献 |
攻读硕士学位期间发表的论文及其它成果 |
致谢 |
(4)针对DSP处理器的逆向工程关键技术研究(论文提纲范文)
摘要 |
abstract |
第一章 绪论 |
1.1 课题研究背景与研究意义 |
1.2 国内外研究现状 |
1.3 本文的研究内容及结构安排 |
第二章 DSP开发流程和指令系统介绍 |
2.1 DSP正向开发 |
2.1.1 TI DSP软件开发流程 |
2.1.2 DSP软件开发中所涉及的输入输出文件 |
2.1.3 DSP的启动过程 |
2.1.4 启动数据的生成 |
2.1.5 逆向工程目标选取的讨论 |
2.2 指令系统 |
2.2.1 指令系统概述 |
2.2.2 DSP体系结构及反汇编方法分析 |
2.3 本章小结 |
第三章 DSP逆向工程工具 |
3.1 DSP逆向工程工作流程 |
3.1.1 数据库 |
3.1.2 数据处理模块 |
3.1.3 反汇编模块 |
3.2 基于TMS320C64x\64x+处理器的逆向工程工具链 |
3.2.1 TMS320C64x\64x+型号处理器的介绍 |
3.2.2 基于TMS320C64x\64x+指令系统的数据库建立 |
3.2.3 C64x+紧凑汇编指令表头 |
3.2.4 基于TMS320C64x\64x+数据库的反汇编算法 |
3.3 基于TMS320C64x\64x+处理器的逆向工程工具评估 |
3.3.1 定性分析 |
3.3.2 定量分析 |
3.4 本章小结 |
第四章 DSP处理器未公开指令搜索方法 |
4.1 未公开指令搜索 |
4.1.1 未公开指令的定义 |
4.1.2 通用处理器的未公开指令研究现状及方法 |
4.2 DSP处理器的未公开指令搜索框架 |
4.2.1 DSP处理器未公开指令搜索面临的问题 |
4.2.2 DSP处理器的未公开指令搜索框架的建立 |
4.3 实验与讨论 |
4.4 本章小结 |
第五章 总结与展望 |
5.1 总结 |
5.2 展望 |
致谢 |
参考文献 |
攻读硕士学位期间取得的成果 |
(5)PLC运动控制典型指令设计与运行优化研究(论文提纲范文)
摘要 |
ABSTRACT |
第一章 绪论 |
1.1 本课题研究目的及意义 |
1.2 PLC与运动控制技术简析 |
1.3 国内外PLC技术标准与体系研究现状 |
1.3.1 国际国内标准 |
1.3.2 系统技术体系 |
1.3.3 编程语言体系 |
1.4 相关科学问题的提出 |
1.4.1 运动控制硬件设计问题 |
1.4.2 典型运动控制指令及其柔性组合设计问题 |
1.4.3 运动控制指令编译与运行研究问题 |
1.4.4 柔性运动控制优化设计问题 |
1.4.5 运动控制监控视图动态优化问题 |
1.5 论文主要研究任务 |
1.6 论文结构安排 |
1.7 本章小结 |
第二章 运动控制硬件设计 |
2.1 运动控制的硬件原理 |
2.2 运动控制硬件架构设计 |
2.3 硬件电路原理设计 |
2.3.1 高速脉冲输入电路设计 |
2.3.2 高速脉冲输出电路设计 |
2.3.3 CPU芯片选型设计 |
2.3.4 FPGA芯片选型设计 |
2.4 运动控制电路设计 |
2.4.1 梯形或S型加减速电路设计 |
2.4.2 脉冲插补电路设计 |
2.4.3 FPGA硬件资源统计 |
2.5 板卡设计 |
2.5.1 PLC主机CPU板设计 |
2.5.2 PLC主机IO板设计 |
2.5.3 PLC主机电源板设计 |
2.6 PLC整机设计 |
2.7 高速脉冲验证实验 |
2.8 本章小结 |
第三章 运动控制典型指令设计 |
3.1 运动控制指令集设计约束 |
3.2 PLC编程语言标准研究 |
3.3 梯形图指令功能研究 |
3.4 典型运动控制指令设计 |
3.4.1 运动控制指令整体流程 |
3.4.2 运动控制中断服务流程 |
3.4.3 位置控制指令工作流程 |
3.5 PWM高精度指令设计 |
3.5.1 PWM应用背景 |
3.5.2 PWM算法设计 |
3.5.3 PWM指令封装设计 |
3.6 可编程指令集设计 |
3.7 典型运动控制指令运于包装机械案例 |
3.8 本章小结 |
第四章 运动控制指令编译与运行研究 |
4.1 PLC程序工作原理 |
4.2 运动控制指令解释型运行方法研究 |
4.3 PLC程序编译过程工作原理 |
4.3.1 梯形图与指令表语言概念 |
4.3.2 梯形图网络图元节点关系的迷宫算法识别 |
4.3.3 迷宫算法扫描梯形图网络的实现方法 |
4.3.4 梯形图到指令表程序的转换 |
4.3.5 基于BISON和 FLEX的指令表编译器设计 |
4.4 编程软件设计 |
4.5 运动控制指令编译转换实验 |
4.6 本章小结 |
第五章 运动控制柔性与优化设计 |
5.1 柔性控制约束与bangbang控制基础 |
5.2 S-型期望轨迹的最优性分析及最优规划 |
5.2.1 S-型期望轨迹的控制结构分析 |
5.2.2 S-型期望轨迹控制的最优性分析 |
5.2.3 五段S-型期望轨迹的时间最短最优规划 |
5.2.4 七段S-型期望轨迹的最短时间控制模型与最优规划 |
5.2.5 七段S-型期望轨迹的最小燃料控制模型与最优规划 |
5.3 可行S-型轨迹参数类别 |
5.4 多轴S-型速度轨迹的最小燃料控制模型 |
5.5 光滑轨迹速度插补规划 |
5.6 测试案例 |
5.7 本章小结 |
第六章 运动控制监控视图动态优化研究 |
6.1 PLC的监控视图特性 |
6.2 基于数据包的PLC可视化监控通信动态优化 |
6.2.1 典型的PLC可视化监控通信场景 |
6.2.2 动态数据帧打包方法示例 |
6.3 通信数据包大小的优化建模 |
6.3.1 最优包问题描述 |
6.3.2 参数化与优化评价 |
6.4 实验研究与讨论 |
6.4.1 通信包大小的初始化与优化 |
6.4.2 实验结果 |
6.5 本章小结 |
第七章 总结与展望 |
7.1 本文总结 |
7.2 未来展望 |
7.3 结束语 |
参考文献 |
致谢 |
附录1 设计的PLC指令集列表 |
附录2 攻读博士学位期间已发表或录用的论文 |
附录3 攻读博士学位期间已授权的发明专利 |
附录4 攻读博士学位期间获得的科学奖励 |
(6)基于多分类器集成的恶意软件分类研究(论文提纲范文)
摘要 |
abstract |
第1章 绪论 |
1.1 课题研究背景及意义 |
1.2 国内外研究现状 |
1.3 本文的主要研究内容 |
1.4 本文组织结构 |
第2章 相关理论和相关特征 |
2.1 恶意代码简介 |
2.1.1 恶意代码的定义 |
2.1.2 恶意代码的分类 |
2.2 恶意软件分析技术 |
2.2.1 静态分析技术 |
2.2.2 动态分析技术 |
2.3 文件预处理 |
2.4 基于N-gram的操作码序列特征 |
2.5 PE文件格式 |
2.5.1 MS-DOS头部 |
2.5.2 PE文件头 |
2.5.3 节表和区块 |
2.5.4 导入表 |
2.5.5 PE结构特征 |
2.6 基于反汇编文件的API调用序列 |
2.6.1 基于API序列的特征选择 |
2.6.2 API调用序列特征的表示 |
2.7 特征选择 |
2.7.1 信息增益 |
2.7.2 基于信息增益的特征选择 |
2.8 本章小结 |
第3章 分类器和集成模型 |
3.1 随机森林 |
3.2 SVM |
3.3 基于API调用序列的循环神经网络 |
3.3.1 循环神经网络 |
3.3.2 基于循环神经网络的API调用序列模型和实现 |
3.4 基于多分类器集成的恶意软件分类模型 |
3.4.1 投票法 |
3.4.2 集成分类器的模型 |
3.4.3 加权投票的实现过程 |
3.5 本章小结 |
第4章 恶意样本及实验仿真 |
4.1 实验环境及样本 |
4.1.1 实验环境 |
4.1.2 实验样本 |
4.2 实验仿真分析 |
4.2.1 性能指标 |
4.2.2 特征分析 |
4.2.3 实验结果分析 |
4.3 本章小结 |
结论 |
参考文献 |
攻读硕士学位期间发表的论文和取得的科研成果 |
致谢 |
(7)基于代码混淆的软件保护方案研究与设计(论文提纲范文)
摘要 |
abstract |
第一章 绪论 |
1.1 研究背景与意义 |
1.2 代码混淆国内外研究现状 |
1.3 本文主要研究内容 |
1.4 本文组织结构 |
1.5 本章小结 |
第二章 代码混淆相关技术研究 |
2.1 代码混淆定义 |
2.1.1 混淆变换 |
2.1.2 可以实用的混淆变换 |
2.2 代码混淆方案分类 |
2.2.1 Collberg理论分类 |
2.2.1.1 布局混淆 |
2.2.1.2 数据混淆 |
2.2.1.3 控制流混淆 |
2.2.1.4 预防性混淆 |
2.2.2 按混淆对象分类 |
2.2.3 按静态与动态分类 |
2.2.4 按应用场景分类 |
2.3 程序分析方法 |
2.4 本章小结 |
第三章 基于LLVM的混淆算法设计研究 |
3.1 LLVM和 OLLVM |
3.1.1 LLVM概述 |
3.1.2 OLLVM概述 |
3.1.3 基于LLVM框架的优势 |
3.2 基于LLVM的字符串混淆算法设计 |
3.2.1 混淆对象 |
3.2.2 字符串混淆算法设计 |
3.2.3 算法流程 |
3.3 基于LLVM的一种受限的控制流平坦化混淆算法设计 |
3.3.1 混淆对象 |
3.3.2 一种实用的控制流混淆算法思路概述 |
3.3.3 算法流程 |
3.4 基于LLVM的函数调用隐藏算法设计 |
3.4.1 混淆对象 |
3.4.2 函数调用隐藏算法设计 |
3.4.3 算法流程 |
3.5 本章小结 |
第四章 代码混淆系统设计及代码混淆有效性评估研究 |
4.1 代码混淆原型系统设计 |
4.1.1 设计目标 |
4.1.2 混淆系统框架设计 |
4.2 混淆模块 |
4.2.1 字符串混淆模块 |
4.2.2 控制流平坦化混淆模块 |
4.2.3 函数调用隐藏混淆模块 |
4.3 其他模块 |
4.4 代码混淆有效性评估研究 |
4.4.1 研究概述 |
4.4.2 代码混淆有效性评估 |
4.5 本章小结 |
第五章 实验设计与结果分析 |
5.1 实验环境选取 |
5.2 实验设计及结果分析 |
5.2.1 混淆效果展示及分析 |
5.2.2 功能性测试及结果分析 |
5.2.3 开销测试 |
5.3 本章小结 |
第六章 总结与展望 |
6.1 论文工作总结 |
6.2 后续研究工作 |
致谢 |
参考文献 |
攻读硕士学位期间取得的成果 |
(8)基于FORTH虚拟机的实时多任务调度研究(论文提纲范文)
摘要 |
Abstract |
第一章 绪论 |
1.1 研究背景及研究意义 |
1.2 本课题所做的主要工作 |
1.3 论文的组织结构 |
第二章 国内外研究现状 |
2.1 国外研究现状 |
2.2 国内研究现状 |
第三章 基于FVM的多任务调度 |
3.1 FVM原理 |
3.2 基于FVM的Forth系统的特点 |
3.3 基于FVM多任务调度的策略 |
3.3.1 多任务的内存分布 |
3.3.2 基于FVM的多任务调度机制 |
第四章 基于FVM的实时多任务调度 |
4.1 Forth系统中突发事件的处理 |
4.2 基于FVM的实时多任务操作系统框架 |
4.3 任务控制块TCB |
4.4 基于FVM的多任务实时调度机制 |
4.5 基于FVM的实时多任务调度算法 |
4.5.1 中断任务的TCB |
4.5.2 中断任务的建立 |
4.5.3 中断任务的初始化 |
4.5.4 实时响应机制的设计 |
4.5.5 中断任务的执行 |
第五章 基于FVM的实时多任务调度实验评估 |
5.1 测试目的 |
5.2 测试环境 |
5.3 测试过程 |
5.3.1 测试程序设计 |
5.3.2 测试程序 |
5.3.3 测试结果 |
5.4 验证评估 |
第六章 总结与展望 |
参考文献 |
致谢 |
(9)面向安全评估的攻击免杀技术研究(论文提纲范文)
摘要 |
ABSTRACT |
第一章 绪论 |
1.1 研究背景 |
1.2 研究现状 |
1.3 研究内容 |
1.4 论文结构 |
第二章 杀毒软件的实现原理 |
2.1 静态分析技术 |
2.2 行为监控 |
2.2.1 Windows API |
2.2.2 进程注入 |
2.2.3 进程隐藏 |
2.2.4 网络监控 |
2.3 沙盒技术 |
2.3.1 Cuckoo |
2.3.2 Sandboxie |
2.4 杀毒软件技术总结 |
2.5 杀毒软件的查杀目标 |
2.6 杀毒软件的设计理念 |
2.7 本章小结 |
第三章 免杀技术研究 |
3.1 基础理论 |
3.2 混淆 |
3.2.1 汇编级混淆 |
3.2.2 源码级混淆 |
3.2.3 针对Windows的混淆 |
3.3 白名单 |
3.3.1 杀毒软件白名单 |
3.3.2 系统白名单 |
3.4 沙盒绕过技术 |
3.4.1 识别运行环境差异 |
3.4.2 识别用户痕迹 |
3.4.3 利用沙盒特性及缺陷 |
3.4.4 沙盒技术总结 |
3.5 新版本Windows下的免杀技术研究 |
3.5.1 基于功能类似API的免杀技术 |
3.5.2 基于非Win32 子系统的免杀技术 |
3.6 恶意代码特征定位 |
3.7 本章小结 |
第四章 免杀辅助工具及渗透测试代码投放平台设计 |
4.1 免杀辅助工具设计 |
4.1.1 静态特征定位模块设计与实现 |
4.1.2 行为特征库检索模块 |
4.2 渗透测试代码投放平台设计 |
4.2.1 免杀代码生成模块设计与实现 |
4.2.2 回连信息收集、展示模块设计与实现 |
4.3 本章小结 |
第五章 系统测试 |
5.1 测试环境 |
5.2 测试免杀辅助工具 |
5.2.1 Mimikatz.exe测试 |
5.2.2 Invoke-DllInjection.ps |
5.2.3 mshta.exe测试 |
5.3 测试渗透测试代码投放平台 |
5.3.1 渗透测试样本免杀率测试 |
5.3.2 平台功能测试 |
5.3.3 Meterpreter测试 |
5.4 结论分析 |
5.5 本章小结 |
第六章 总结与展望 |
6.1 本文总结 |
6.2 研究展望 |
参考文献 |
致谢 |
攻读硕士学位期间已发表或录用的论文 |
(10)多目标Forth自生成器的研究与实现(论文提纲范文)
0 引言 |
1 多目标Forth自生成器框架模型 |
1. 1 CODE算法库 |
1. 2 应用系统模型 |
1. 3 目标系统模型 |
1. 4 虚拟机模型 |
1. 5 可重构的汇编程序 |
1. 6 Meta编译器 |
2 多目标Forth自生成器的关键实现算法 |
2. 1 目标代码存取算法 |
2. 2 机器码写入算法 |
2. 3 向前跳转地址算法 |
2. 4 向后跳转地址算法 |
2. 5 定义目标机Forth字结构算法 |
2. 6 定义目标机常数和变量算法 |
2.7 CODE-COMPILER核心算法 |
2. 8 : -COMPILER核心算法 |
3 实验评估 |
4 结束语 |
四、转换机器码程序为汇编语言程序的原理和方法(论文参考文献)
- [1]嵌入式处理器P2020机器码程序到C语言源程序的溯源方法[J]. 谢文光,李琪,马春燕,汪克念,尹伟,张涛. 航空学报, 2021(09)
- [2]基于逆向工程的攻击与检测算法及其应用研究[D]. 余文健. 电子科技大学, 2021(01)
- [3]基于Android逆向的即时通讯软件端到端加密算法分析[D]. 李阳春. 哈尔滨工业大学, 2020(01)
- [4]针对DSP处理器的逆向工程关键技术研究[D]. 杨志成. 电子科技大学, 2020(07)
- [5]PLC运动控制典型指令设计与运行优化研究[D]. 琚长江. 上海交通大学, 2019(06)
- [6]基于多分类器集成的恶意软件分类研究[D]. 丁巍. 哈尔滨工程大学, 2019(05)
- [7]基于代码混淆的软件保护方案研究与设计[D]. 张越. 电子科技大学, 2019(01)
- [8]基于FORTH虚拟机的实时多任务调度研究[D]. 王蕾. 云南大学, 2018(01)
- [9]面向安全评估的攻击免杀技术研究[D]. 胡嘉熙. 上海交通大学, 2018(01)
- [10]多目标Forth自生成器的研究与实现[J]. 代红兵,杨为民,王丽清,周永录. 计算机应用研究, 2014(04)