【技术实现步骤摘要】
一种VxWorks库函数识别方法、装置、设备及介质
[0001]本专利技术涉及计算机
,尤其涉及一种VxWorks库函数识别方法、装置、设备及介质。
技术介绍
[0002]实时操作系统(VxWorks,VXW)是美国风河公司(WindRiver System,WRS)设计开发的一种嵌入式实时操作系统,由于其良好的可靠性和卓越的实时性被广泛的应用于军事、航天、通信等实时性要求较高的领域中。多数使用VxWorks系统的厂商为了避免其设备固件被逆向分析,在发布固件时往往会去除VxWorks的符号文件,导致安全研究人员无法从函数名称上来得知函数的功能,这给逆向分析造成了一定困难。编译好的VxWorks二进制文件一般存在10000个以上的函数,要识别其中的库函数,一般需要通过对每个函数的实现算法进行分析,而通过人工分析每个函数的算法来识别库函数无疑是非常低效的。
[0003]针对上述问题,目前的自动化识别库函数的方法包括交互式反汇编器专业版(Interactive Disassembler Professional,IDA)签名和二进制文件比较工具(BinDiff)工具。其中,IDA签名是IDA专用的库函数识别机制,利用相关工具可以把一些VxWorks相关的.a文件生成IDA签名,利用这些IDA签名来识别VxWorks中的库函数,由于其识别算法是基于具体的汇编级别的指令,所以这种方式对目标VxWorks二进制文件的系统版本、中央处理器(Central Processing Unit,CPU)架构、端序、编译方式要 ...
【技术保护点】
【技术特征摘要】
1.一种VxWorks库函数识别方法,其特征在于,所述方法包括:根据样本VxWorks文件中库函数的特征,确定用于定位的特定函数;根据所述特定函数,在待识别VxWorks文件的库函数中,确定所述特定函数对应的目标函数;在所述样本VxWorks文件中以所述特定函数为基准,按照设定选择规则选择设定数量的第一库函数集合,并在所述待识别VxWorks文件中以所述目标函数为基准,按照所述设定选择规则选择所述设定数量的第二库函数集合;判断所述第一库函数集合中库函数之间的排列顺序与所述第二库函数集合中库函数之间的排列顺序是否相同;如果是,则将所述样本VxWorks文件中包含的每个库函数,确定为所述待识别VxWorks文件中包含的每个库函数;如果否,则对所述样本VxWorks文件中库函数的特征和所述待识别VxWorks文件中库函数的特征进行识别,根据识别结果,在所述样本VxWorks文件中包含的每个库函数中确定所述待识别VxWorks文件中包含的每个库函数。2.根据权利要求1所述的方法,其特征在于,所述判断所述第一库函数集合中库函数之间的排列顺序与所述第二库函数集合中库函数之间的排列顺序是否相同,包括:针对每个库函数,判断所述第一库函数集合中的所述库函数的特征与所述第二库函数集合中对应的所述库函数的特征是否相同,所述库函数的特征包括以下一个或多个:算法特征、指令特征、调用关系、或字符串特征。3.根据权利要求1所述的方法,其特征在于,所述对所述样本VxWorks文件中库函数的特征和所述待识别VxWorks文件中库函数的特征进行识别,根据识别结果,在所述样本VxWorks文件中包含的每个库函数中确定所述待识别VxWorks文件中包含的每个库函数,包括:针对每个库函数,根据所述第二库函数集合的设定数量个库函数,在样本VxWorks文件中按照设定选择规则选择设定数量的第三库函数集合;对所述第二库函数集合中的库函数和所述第三库函数集合中的库函数的特征进行识别,在所述第三库函数集合中确定与所述第二库函数集合中的库函数特征相同的库函数;根据与所述第二库函数集合中的库函数特征相同的所述第三库函数集合中的库函数,在所述样本VxWorks文件中的库函数中确定所述待识别文件中包含的每个库函数。4.根据权利要求1所述的方法,其特征在于,在样本VxWorks文件的库函数中,确定用于定位的特定函数之前,所述方法还包括:在VxWorks文件中,通过查找以VxWorks开头的字符串,获取所述待识别VxWorks文件的版本;在所述VxWorks文件的头部中,获取所述待识别VxWorks文件的架构及编译参数;根据所述待识别VxWorks文件的版本、架构及编译参数,确定与所述待识别VxWorks文件对应的样本VxWorks文件。5.根据权利要求3所述的方法,其特征在于,所述根据所述...
【专利技术属性】
技术研发人员:魏凡,李东宏,陈杰,马良,高剑,李泽,赵亮,
申请(专利权)人:北京神州绿盟科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。