CN112394984A - 一种固件代码分析方法及装置 - Google Patents

一种固件代码分析方法及装置 Download PDF

Info

Publication number
CN112394984A
CN112394984A CN202011177682.5A CN202011177682A CN112394984A CN 112394984 A CN112394984 A CN 112394984A CN 202011177682 A CN202011177682 A CN 202011177682A CN 112394984 A CN112394984 A CN 112394984A
Authority
CN
China
Prior art keywords
firmware
data
discrete feature
code
level language
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202011177682.5A
Other languages
English (en)
Other versions
CN112394984B (zh
Inventor
李明春
张苏涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Zhilian Anhang Technology Co ltd
Original Assignee
Beijing Softsec Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Softsec Technology Co ltd filed Critical Beijing Softsec Technology Co ltd
Priority to CN202011177682.5A priority Critical patent/CN112394984B/zh
Publication of CN112394984A publication Critical patent/CN112394984A/zh
Application granted granted Critical
Publication of CN112394984B publication Critical patent/CN112394984B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/74Reverse engineering; Extracting design information from source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • G06F18/24155Bayesian classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/53Decompilation; Disassembly

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Probability & Statistics with Applications (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

本发明公开了一种固件代码分析方法及装置,其中,该方法包括:预先存储包括多条数据的数据集,每条数据包含固件汇编代码与高级语言或描述性语言语句的对应关系;根据所述数据集训练基于离散特征的朴素贝叶斯算法模型,更新先验概率矩阵,得到训练后的模型;当需要对一固件代码进行分析时,将所述固件代码生成汇编代码输入到所述基于离散特征的朴素贝叶斯算法模型,得到对应的高级语言或描述性语言语句。采用本发明能够快速准确对固件代码进行分析。

Description

一种固件代码分析方法及装置
技术领域
本发明涉及固件技术领域,特别涉及一种固件代码分析方法及装置。
背景技术
随着智能家居、车联网等的飞速发展,各种智能设备层出不穷,固件的数量呈井喷式上涨,各种潜在安全问题、隐私问题也随之而来,因此大家对于固件的可靠性、安全性也有了更高的要求。掌握固件的逆向分析技术,不仅有助于新手了解固件的执行流程、所包含的功能,还有助于第三方个人/机构对固件进行安全漏洞检测、隐私数据泄露排查等工作。
然而现在市场上的固件标准不一,不同的厂商有各自的实现方式,架构也不尽相同,有x86架构的、有ARM架构的、有MIPS架构的,还有很多其他架构。因此,对于固件的逆向分析技术既有很大的需求又具有很强的挑战性。
目前对于固件的逆向分析,最主要的方案还是通过逆向分析人员,凭借他们的经验对固件程序的汇编代码进行逐句分析,最终形成对整个固件程序的理解。
对于依靠个人逆向分析人员进行的固件逆向分析方案有以下几个缺点:
一、对分析人员要求高
对于市面上的固件程序,如要进行分析,由于缺乏源码,我们只能通过汇编层代码对其进行分析。由于汇编代码相较高级语言晦涩难懂,而且不同架构的固件程序对应的汇编语言又不尽相同。因此,想要掌握市面上大部分固件就必须熟练掌握各种CPU架构对应的汇编语言。
二、分析所需耗时久、成本高
相较于高级语言,汇编语言虽然每句更加简短,但每一条高级语言往往对应着多条汇编语言,而且在出现循环语句以及跳转语句等复杂语句时,对应的汇编语言会更加的复杂。因此,对其进行逆向分析需要固件逆向分析人员拥有足够的耐心以及花费大量的时间从海量的汇编代码中找出相互的联系,从而理清固件的相关信息,这无疑会增加很多成本。
发明内容
有鉴于此,本发明的发明目的是:能够快速准确分析固件代码。
为达到上述目的,本发明的技术方案具体是这样实现的:
本发明提供了一种固件代码分析方法,该方法包括:
预先存储包括多条数据的数据集,每条数据包含固件汇编代码与高级语言或描述性语言语句的对应关系;根据所述数据集训练基于离散特征的朴素贝叶斯算法模型,更新先验概率矩阵,得到训练后的模型;
当需要对一固件代码进行分析时,将所述固件代码生成汇编代码输入到所述基于离散特征的朴素贝叶斯算法模型,得到对应的高级语言或描述性语言语句。
本发明还提供了一种固件代码分析装置,该装置包括:
训练模块,预先存储包括多条数据的数据集,每条数据包含固件汇编代码与高级语言或描述性语言语句的对应关系;根据所述数据集训练基于离散特征的朴素贝叶斯算法模型,更新先验概率矩阵,得到训练后的模型;
处理模块,当需要对一固件代码进行分析时,将所述固件代码生成汇编代码输入到所述基于离散特征的朴素贝叶斯算法模型,得到对应的高级语言或描述性语言语句。
由上述的技术方案可见,本发明实施例公开了一种固件代码分析方法,该方法包括:预先存储包括多条数据的数据集,每条数据包含固件汇编代码与高级语言或描述性语言语句的对应关系;根据所述数据集训练基于离散特征的朴素贝叶斯算法模型,更新先验概率矩阵,得到训练后的模型;当需要对一固件代码进行分析时,将所述固件代码生成汇编代码输入到所述基于离散特征的朴素贝叶斯算法模型,得到对应的高级语言或描述性语言语句。与现有技术相比,由于本发明利用了基于离散特征的朴素贝叶斯算法模型,能够快速准确的获取固件汇编代码对应的高级语言或描述性语言语句。
附图说明
图1为本发明实施例提出的一种固件代码分析方法的流程示意图。
图2为本发明实施例提出的一种固件代码分析装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案、及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
现有固件逆向分析方案高度依赖于逆向分析人员,需要发展新的能够减少对逆向分析人员经验依赖以及减少逆向分析人员工作量的方案。本发明的固件分析方案,先通过收集逆向分析人员平时工作中一定数量的固件汇编代码与高级语言或描述性语言语句的对应关系,形成数据集。在存储大量数据的情况下,依此训练基于离散特征的朴素贝叶斯算法模型,更新先验概率矩阵,得到训练后的模型,用于后续分析汇编代码得到对应的高级语言或描述性语言语句。当需要对某固件代码进行逆向分析时,先生成汇编代码,然后输入到所述基于离散特征的朴素贝叶斯算法模型,得到对应的高级语言或描述性语言语句。从而达到本发明分析固件代码的目的。
本发明提出一种固件代码分析方法,流程示意图如图1所示,该方法包括:
步骤11、预先存储包括多条数据的数据集,每条数据包含固件汇编代码与高级语言或描述性语言语句的对应关系;根据所述数据集训练基于离散特征的朴素贝叶斯算法模型,更新先验概率矩阵,得到训练后的模型。
离散特征记录了程序执行过程中的一些特定操作行为,这些特征常常有明确的指代意义。
在具体场景中,固件汇编代码与高级语言或描述性语言语句的对应关系指的是,情况一、一条汇编代码对应一条高级语言或描述性语言语句;情况二、多条汇编代码对应一条高级语言或描述性语言语句;情况三、多条汇编代码对应多条高级语言或描述性语言语句。多种情况全文简称固件汇编代码与高级语言或描述性语言语句的对应关系。
其中,根据所述数据集训练基于离散特征的朴素贝叶斯算法模型,更新先验概率矩阵,得到训练后的模型,具体包括:
将数据集中的每一条数据作为训练集M个样本中的第i个样本,i∈M,M为自然数;
对于每一条数据,切割并识别每条数据的字段,得到每个样本至少一个离散特征词,形成离散特征词集合;所述离散特征词集合包括汇编代码字段、系统调用特征词及汇编指令序列关键常量;
对每一条数据的高级语言或描述性语言语句进行功能分类,形成类别集合;
计算每一离散特征词集合中每个离散特征词属于每个类别的概率,生成先验概率矩阵;
根据新加入数据集的每一条数据,计算每一离散特征词集合中每个离散特征词属于每个类别的概率,当同一类别有超过两组概率数据,则取每一离散特征词在各组概率的平均值,以更新先验概率矩阵,得到训练后的模型。
所述每条数据包含固件汇编代码与高级语言或描述性语言语句的对应关系是通过逆向分析得到的,在一个优选实施例中,该方法进一步包括:
将高级语言或描述性语言语句通过编译命令正向生成汇编代码;
将逆向分析和正向生成的相似度超过预定值的固件汇编代码与高级语言或描述性语言语句的对应关系作为数据集中的一条数据。
如此,存储到数据集中的每条数据都是优质数据,更有利于基于离散特征的朴素贝叶斯算法模型精准识别同类型汇编代码。
步骤12、当需要对一固件代码进行分析时,将所述固件代码生成汇编代码输入到所述基于离散特征的朴素贝叶斯算法模型,得到对应的高级语言或描述性语言语句。
其中,将所述固件代码生成汇编代码输入到所述基于离散特征的朴素贝叶斯算法模型,得到对应的高级语言或描述性语言语句,具体包括:
将所述汇编代码输入到所述基于离散特征的朴素贝叶斯算法模型,切割并识别出各个离散特征词后,结合所述先验概率矩阵,获取所述汇编代码分到类别集合中各类别的概率,将概率最大的类别对应的高级语言或描述性语言语句,作为所述基于离散特征的朴素贝叶斯算法模型的输出。
在上述实施例中是需要对一固件代码进行分析,在一个优选实施例中,当需要对一固件进行分析时,该方法进一步包括:
根据所述固件获取固件文件类型、潜在的根文件元数据、编译基于的平台;
根据所述固件文件类型和潜在的根文件元数据提取出固件文件系统;
根据所述固件文件系统确定固件代码。
在一个优选实施例中,当需要对一固件代码进行分析时,如果所述固件汇编代码为固件汇编代码段,则,将所述固件汇编代码段切分为多条汇编代码分别输入到所述基于离散特征的朴素贝叶斯算法模型;通过所述基于离散特征的朴素贝叶斯算法模型分别得到相应的各条高级语言或描述性语言语句后,将各条高级语言或描述性语言语句进行连接,生成基于高级语言或描述性语言语句的程序结构流图。从而能够实现自动化梳理固件程序函数关系的能力。
至此完成了本发明的固件代码分析方法,与现有技术相比,能够快速准确地对固件代码进行分析。
为清楚说明本发明,下面列举具体场景进行说明。
一、首先,收集逆向分析人员的逆向分析成果存入数据集,数据集的一部分数据如表1所示。
Figure BDA0002749167900000051
Figure BDA0002749167900000061
表1
表1中,每一条数据具有相应的编译平台,以及相应的离散特征词集合,最重要的是存储有固件汇编代码与高级语言或描述性语言语句的对应关系。在本发明优选实施例中,数据集中存储的每一条数据都是优质数据,即将逆向分析和正向生成的相似度超过90%的固件汇编代码与高级语言或描述性语言语句的对应关系作为数据集中的一条数据。如此更有利于基于离散特征的朴素贝叶斯算法模型精准识别同类型汇编代码。
然后,根据所述数据集训练基于离散特征的朴素贝叶斯算法模型,更新先验概率矩阵,得到训练后的模型。加入数据集中的数据越多,训练的模型识别能力越高。
二、当有新的固件需要分析时,处理分析流程如下:
1、使用binutils等工具来分析固件特征信息:固件文件类型、潜在的根文件元数据、编译基于的平台(X86架构、ARM架构、MIPS架构等)。
2、使用binwalk等工具根据固件文件类型和潜在的根文件元数据提取出固件文件系统,根据固件文件系统确定固件代码,将固件代码生成汇编代码;
在本实施例中,汇编代码为汇编代码段,需要将汇编代码段切分为多条汇编代码分别输入到训练好的基于离散特征的朴素贝叶斯算法模型。
3、将2中的每条汇编代码分别输入到基于离散特征的朴素贝叶斯算法模型,进行识别并分割,最后得到每条汇编代码对应的高级语言或描述性语言语句。例如表2中的汇编代码进入基于离散特征的朴素贝叶斯算法模型会匹配到一个概率最大的汇编代码分类,对比训练集中的样本即可找出对应的高级语言或者描述性语言语句。
Figure BDA0002749167900000071
表2
表2为汇编代码与对应高级语言示例。
4、对切分后的多条汇编代码进行基于完整汇编代码程序流程的连接,生成基于高级语言或者描述性语言语句的程序结构流图。从而能够实现自动化梳理固件程序函数关系的能力。
基于相同的发明构思,本发明实施例提出了一种固件代码分析装置,其结构示意图如图2所示,该装置包括:
训练模块201,预先存储包括多条数据的数据集,每条数据包含固件汇编代码与高级语言或描述性语言语句的对应关系;根据所述数据集训练基于离散特征的朴素贝叶斯算法模型,更新先验概率矩阵,得到训练后的模型;
处理模块202,当需要对一固件代码进行分析时,将所述固件代码生成汇编代码输入到所述基于离散特征的朴素贝叶斯算法模型,得到对应的高级语言或描述性语言语句。
所述训练模块201,具体用于:
将数据集中的每一条数据作为训练集M个样本中的第i个样本,i∈M,M为自然数;
对于每一条数据,切割并识别每条数据的字段,得到每个样本至少一个离散特征词,形成离散特征词集合;所述离散特征词集合包括汇编代码字段、系统调用特征词及汇编指令序列关键常量;
对每一条数据的高级语言或描述性语言语句进行功能分类,形成类别集合;
计算每一离散特征词集合中每个离散特征词属于每个类别的概率,生成先验概率矩阵;
根据新加入数据集的每一条数据,计算每一离散特征词集合中每个离散特征词属于每个类别的概率,当同一类别有超过两组概率数据,则取每一离散特征词在各组概率的平均值,以更新先验概率矩阵,得到训练后的模型。
所述每条数据包含固件汇编代码与高级语言或描述性语言语句的对应关系是通过逆向分析得到的,所述训练模块201,还用于:
将高级语言或描述性语言语句通过编译命令正向生成汇编代码;
将逆向分析和正向生成的相似度超过预定值的固件汇编代码与高级语言或描述性语言语句的对应关系作为数据集中的一条数据。
所述处理模块202,具体用于:
将所述汇编代码输入到所述基于离散特征的朴素贝叶斯算法模型,切割并识别出各个离散特征词后,结合所述先验概率矩阵,获取所述汇编代码分到类别集合中各类别的概率,将概率最大的类别对应的高级语言或描述性语言语句,作为所述基于离散特征的朴素贝叶斯算法模型的输出。
当需要对一固件进行分析时,所述处理模块202,还用于:
根据所述固件获取固件文件类型、潜在的根文件元数据、编译基于的平台;
根据所述固件文件类型和潜在的根文件元数据提取出固件文件系统;
根据所述固件文件系统确定固件代码。
当需要对一固件代码进行分析时,所述固件汇编代码为固件汇编代码段,则,
所述处理模块202,将所述固件汇编代码段切分为多条汇编代码分别输入到所述基于离散特征的朴素贝叶斯算法模型;
通过所述基于离散特征的朴素贝叶斯算法模型分别得到相应的各条高级语言或描述性语言语句后,将各条高级语言或描述性语言语句进行连接,生成基于高级语言或描述性语言语句的程序结构流图。
综上,本发明的有益效果为:
一、本发明在存储大量数据的情况下,利用基于离散特征的朴素贝叶斯算法模型,能够快速准确对固件代码进行分析,得到对应的高级语言或描述性语言语句。
二、本发明对切分后的多条汇编代码进行基于完整汇编代码程序流程的连接,生成基于高级语言或者描述性语言语句的程序结构流图。从而能够实现自动化梳理固件程序函数关系的能力。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换以及改进等,均应包含在本发明的保护范围之内。

Claims (12)

1.一种固件代码分析方法,其特征在于,该方法包括:
预先存储包括多条数据的数据集,每条数据包含固件汇编代码与高级语言或描述性语言语句的对应关系;根据所述数据集训练基于离散特征的朴素贝叶斯算法模型,更新先验概率矩阵,得到训练后的模型;
当需要对一固件代码进行分析时,将所述固件代码生成汇编代码输入到所述基于离散特征的朴素贝叶斯算法模型,得到对应的高级语言或描述性语言语句。
2.如权利要求1所述的方法,其特征在于,根据所述数据集训练基于离散特征的朴素贝叶斯算法模型,更新先验概率矩阵,得到训练后的模型,具体包括:
将数据集中的每一条数据作为训练集M个样本中的第i个样本,i∈M,M为自然数;
对于每一条数据,切割并识别每条数据的字段,得到每个样本至少一个离散特征词,形成离散特征词集合;所述离散特征词集合包括汇编代码字段、系统调用特征词及汇编指令序列关键常量;
对每一条数据的高级语言或描述性语言语句进行功能分类,形成类别集合;
计算每一离散特征词集合中每个离散特征词属于每个类别的概率,生成先验概率矩阵;
根据新加入数据集的每一条数据,计算每一离散特征词集合中每个离散特征词属于每个类别的概率,当同一类别有超过两组概率数据,则取每一离散特征词在各组概率的平均值,以更新先验概率矩阵,得到训练后的模型。
3.如权利要求1所述的方法,其特征在于,所述每条数据包含固件汇编代码与高级语言或描述性语言语句的对应关系是通过逆向分析得到的,该方法进一步包括:
将高级语言或描述性语言语句通过编译命令正向生成汇编代码;
将逆向分析和正向生成的相似度超过预定值的固件汇编代码与高级语言或描述性语言语句的对应关系作为数据集中的一条数据。
4.如权利要求1所述的方法,其特征在于,将所述固件代码生成汇编代码输入到所述基于离散特征的朴素贝叶斯算法模型,得到对应的高级语言或描述性语言语句,具体包括:
将所述汇编代码输入到所述基于离散特征的朴素贝叶斯算法模型,切割并识别出各个离散特征词后,结合所述先验概率矩阵,获取所述汇编代码分到类别集合中各类别的概率,将概率最大的类别对应的高级语言或描述性语言语句,作为所述基于离散特征的朴素贝叶斯算法模型的输出。
5.如权利要求1所述的方法,其特征在于,当需要对一固件进行分析时,该方法进一步包括:
根据所述固件获取固件文件类型、潜在的根文件元数据、编译基于的平台;
根据所述固件文件类型和潜在的根文件元数据提取出固件文件系统;
根据所述固件文件系统确定固件代码。
6.如权利要求1所述的方法,其特征在于,当需要对一固件代码进行分析时,所述固件汇编代码为固件汇编代码段,则,将所述固件汇编代码段切分为多条汇编代码分别输入到所述基于离散特征的朴素贝叶斯算法模型;
通过所述基于离散特征的朴素贝叶斯算法模型分别得到相应的各条高级语言或描述性语言语句后,将各条高级语言或描述性语言语句进行连接,生成基于高级语言或描述性语言语句的程序结构流图。
7.一种固件代码分析装置,其特征在于,该装置包括:
训练模块,预先存储包括多条数据的数据集,每条数据包含固件汇编代码与高级语言或描述性语言语句的对应关系;根据所述数据集训练基于离散特征的朴素贝叶斯算法模型,更新先验概率矩阵,得到训练后的模型;
处理模块,当需要对一固件代码进行分析时,将所述固件代码生成汇编代码输入到所述基于离散特征的朴素贝叶斯算法模型,得到对应的高级语言或描述性语言语句。
8.如权利要求7所述的装置,其特征在于,所述训练模块,具体用于:
将数据集中的每一条数据作为训练集M个样本中的第i个样本,i∈M,M为自然数;
对于每一条数据,切割并识别每条数据的字段,得到每个样本至少一个离散特征词,形成离散特征词集合;所述离散特征词集合包括汇编代码字段、系统调用特征词及汇编指令序列关键常量;
对每一条数据的高级语言或描述性语言语句进行功能分类,形成类别集合;
计算每一离散特征词集合中每个离散特征词属于每个类别的概率,生成先验概率矩阵;
根据新加入数据集的每一条数据,计算每一离散特征词集合中每个离散特征词属于每个类别的概率,当同一类别有超过两组概率数据,则取每一离散特征词在各组概率的平均值,以更新先验概率矩阵,得到训练后的模型。
9.如权利要求7所述的装置,其特征在于,所述每条数据包含固件汇编代码与高级语言或描述性语言语句的对应关系是通过逆向分析得到的,所述训练模块,还用于:
将高级语言或描述性语言语句通过编译命令正向生成汇编代码;
将逆向分析和正向生成的相似度超过预定值的固件汇编代码与高级语言或描述性语言语句的对应关系作为数据集中的一条数据。
10.如权利要求7所述的装置,其特征在于,所述处理模块,具体用于:
将所述汇编代码输入到所述基于离散特征的朴素贝叶斯算法模型,切割并识别出各个离散特征词后,结合所述先验概率矩阵,获取所述汇编代码分到类别集合中各类别的概率,将概率最大的类别对应的高级语言或描述性语言语句,作为所述基于离散特征的朴素贝叶斯算法模型的输出。
11.如权利要求7所述的装置,其特征在于,当需要对一固件进行分析时,所述处理模块,还用于:
根据所述固件获取固件文件类型、潜在的根文件元数据、编译基于的平台;
根据所述固件文件类型和潜在的根文件元数据提取出固件文件系统;
根据所述固件文件系统确定固件代码。
12.如权利要求7所述的装置,其特征在于,当需要对一固件代码进行分析时,所述固件汇编代码为固件汇编代码段,则,
所述处理模块,将所述固件汇编代码段切分为多条汇编代码分别输入到所述基于离散特征的朴素贝叶斯算法模型;
通过所述基于离散特征的朴素贝叶斯算法模型分别得到相应的各条高级语言或描述性语言语句后,将各条高级语言或描述性语言语句进行连接,生成基于高级语言或描述性语言语句的程序结构流图。
CN202011177682.5A 2020-10-29 2020-10-29 一种固件代码分析方法及装置 Active CN112394984B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011177682.5A CN112394984B (zh) 2020-10-29 2020-10-29 一种固件代码分析方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011177682.5A CN112394984B (zh) 2020-10-29 2020-10-29 一种固件代码分析方法及装置

Publications (2)

Publication Number Publication Date
CN112394984A true CN112394984A (zh) 2021-02-23
CN112394984B CN112394984B (zh) 2022-09-30

Family

ID=74598362

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011177682.5A Active CN112394984B (zh) 2020-10-29 2020-10-29 一种固件代码分析方法及装置

Country Status (1)

Country Link
CN (1) CN112394984B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102830975A (zh) * 2012-08-15 2012-12-19 深圳市翌日科技有限公司 一种汇编语言到高级语言的代码转换方法和装置
CN105912648A (zh) * 2016-04-08 2016-08-31 南京大学 一种基于侧面信息的代码片段编程语言识别方法
CN109299255A (zh) * 2018-09-12 2019-02-01 东莞数汇大数据有限公司 基于朴素贝叶斯的案件文本分类方法、系统和存储介质
CN109740347A (zh) * 2018-11-23 2019-05-10 中国科学院信息工程研究所 一种针对智能设备固件的脆弱哈希函数的识别与破解方法
KR20190070430A (ko) * 2017-12-13 2019-06-21 (주)엔텔스 빅데이터 분석 기반 질병 진단명 추정 방법 및 추정 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102830975A (zh) * 2012-08-15 2012-12-19 深圳市翌日科技有限公司 一种汇编语言到高级语言的代码转换方法和装置
CN105912648A (zh) * 2016-04-08 2016-08-31 南京大学 一种基于侧面信息的代码片段编程语言识别方法
KR20190070430A (ko) * 2017-12-13 2019-06-21 (주)엔텔스 빅데이터 분석 기반 질병 진단명 추정 방법 및 추정 장치
CN109299255A (zh) * 2018-09-12 2019-02-01 东莞数汇大数据有限公司 基于朴素贝叶斯的案件文本分类方法、系统和存储介质
CN109740347A (zh) * 2018-11-23 2019-05-10 中国科学院信息工程研究所 一种针对智能设备固件的脆弱哈希函数的识别与破解方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WEIXIN_30768175: "《四、固件分析-固件逆向》", 《HTTPS://BLOG.CSDN.NET/WEIXIN_30768175/ARTICLE/DETAILS/99433164》 *

Also Published As

Publication number Publication date
CN112394984B (zh) 2022-09-30

Similar Documents

Publication Publication Date Title
US10657325B2 (en) Method for parsing query based on artificial intelligence and computer device
US11775414B2 (en) Automated bug fixing using deep learning
CN110348214B (zh) 对恶意代码检测的方法及系统
CN111460250B (zh) 用于画像的数据的清洗方法、装置、介质及电子设备
CN108090043B (zh) 基于人工智能的纠错举报处理方法、装置及可读介质
EP4104047B1 (en) Methods of evaluating source code using numeric array representations of source code elements
US11327722B1 (en) Programming language corpus generation
US11347619B2 (en) Log record analysis based on log record templates
CN109872230B (zh) 金融数据分析系统的测试方法、装置、介质、电子设备
CN110705235B (zh) 业务办理的信息录入方法、装置、存储介质及电子设备
US20200117574A1 (en) Automatic bug verification
CN112100377A (zh) 文本分类方法、装置、计算机设备和存储介质
CN110750297A (zh) 一种基于程序分析和文本分析的Python代码参考信息生成方法
CN113553052B (zh) 使用Attention编码表示自动识别与安全相关的代码提交的方法
CN111240971A (zh) 风控规则测试用例的生成方法、装置、服务器和存储介质
CN112989050B (zh) 一种表格分类方法、装置、设备及存储介质
CN118132305A (zh) 日志分析方法、装置、设备、介质和程序产品
CN113553309A (zh) 一种日志模板的确定方法、装置、电子设备及存储介质
CN117472743A (zh) 代码评审方法、装置、终端设备以及存储介质
US20230385037A1 (en) Method and system for automated discovery of artificial intelligence (ai)/ machine learning (ml) assets in an enterprise
CN113761845A (zh) 一种文本生成方法、装置、存储介质及电子设备
CN112394984B (zh) 一种固件代码分析方法及装置
CN109766260B (zh) 配置测试动作的方法、装置、电子设备和存储介质
CN116821903A (zh) 检测规则确定及恶意二进制文件检测方法、设备及介质
CN112115362B (zh) 一种基于相似代码识别的编程信息推荐方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20220624

Address after: 336, floor 3, building 4, No. 44, North Third Ring Middle Road, Haidian District, Beijing 100088

Applicant after: Beijing Zhilian Anhang Technology Co.,Ltd.

Address before: 411, 4 / F, building 10, 44 North Third Ring Middle Road, Haidian District, Beijing

Applicant before: BEIJING SOFTSEC TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant