当前位置:主页 > 科技论文 > 软件论文 >

基于机器学习的ARM平台二进制代码函数识别研究

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

【文章来源】:哈尔滨理工大学黑龙江省

【文章页数】:62 页

【学位级别】:硕士

【部分图文】:

基于机器学习的ARM平台二进制代码函数识别研究


嵌入式系统的一般结构图

函数,文件,代码


哈尔滨理工大学工程硕士学位论文-14-乘函数。#include<stdio.h>intfac(intx){if(x==1)return1;elsereturnx*fac(x-1);}intmain(){print(dfac(10));}图2-2C语言示例程序Figure2-2Clanguagesampleprogram通过arm-linux-gcc命令生成main.c文件对应的对象文件和ELF文件,用objdump命令查看函数的汇编代码,两个函数的汇编代码分别如图2-3和2-4。图2-3fac函数汇编Figure2-3assemblyfunctionfac

函数,概念,执行文件,嵌入式设备


哈尔滨理工大学工程硕士学位论文-15-图2-4main函数汇编Figure2-4assemblyfunctionmain2.3本章小结本章重点研究了二进制函数识别分析和嵌入式设备的相关概念和核心技术发展状态,使用层次分析法,明确了本文研究的对象和客体为ARM平台下可执行文件反汇编,使后续研究的研究方向和可用资源得到概念明确和环境明确的研究支持。

【参考文献】:
期刊论文
[1]移动终端恶意软件流量行为自动化检测方法研究[J]. 姚敏,杨东升.  自动化与仪器仪表. 2019(11)
[2]基于网络流量分析的未知恶意软件检测[J]. 李浩,马坤,陈贞翔,赵川.  济南大学学报(自然科学版). 2019(06)
[3]基于深度森林的安卓恶意软件行为分析与检测[J]. 石兴华,曹金璇,芦天亮.  软件. 2019(10)
[4]基于图像分析的恶意软件检测技术研究[J]. 张健,陈博翰,宫良一,顾兆军.  信息网络安全. 2019(10)
[5]软件逆向工程技术分析[J]. 夏学云.  科学技术创新. 2019(27)
[6]基于Tensorflow对卷积神经网络的优化研究[J]. 郭敏钢,宫鹤.  计算机工程与应用. 2020(01)
[7]基于抽象API调用序列的Android恶意软件检测方法[J]. 崔艳鹏,颜波,胡建伟.  计算机应用与软件. 2019(09)
[8]基于指令交换的代码混淆方法[J]. 潘雁,祝跃飞,林伟.  软件学报. 2019(06)
[9]Skygofree Android恶意软件分析[J]. 瞿茂源,姜宏岸,李志敏.  电脑编程技巧与维护. 2019(05)
[10]基于文本嵌入特征表示的恶意软件家族分类[J]. 张涛,王俊峰.  四川大学学报(自然科学版). 2019(03)

博士论文
[1]面向软件安全的二进制代码逆向分析关键技术研究[D]. 邱景.哈尔滨工业大学 2015



本文编号:3519369

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3519369.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户60231***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com