一种二进制代码与源代码间复用关系的识别方法与装置

    公开(公告)号:CN111045670B

    公开(公告)日:2021-07-13

    申请号:CN201911282855.7

    申请日:2019-12-13

    Abstract: 本发明涉及一种二进制代码与源代码间复用关系的识别方法与装置。该方法包括:构建用于展示开源组件的库文件与源文件间的映射关系的编译依赖图;利用编译依赖图,计算源代码与二进制代码间的相似度,识别出单一复用、混合复用和部分复用;通过对二进制代码与开源组件的已匹配特征集进行对比,识别嵌套复用;根据识别出的复用关系生成复用关系图。本发明从现实软件中常见的代码复用关系划分出四种复用类型,并针对四种复用类型判断二进制代码与源代码间是否确实存在复用关系,对干扰相似性检测的复用类型进行剔除,能够有效地识别二进制代码和源代码间的复用关系。

    一种源代码与二进制代码间的语义比对方法和装置

    公开(公告)号:CN110147235A

    公开(公告)日:2019-08-20

    申请号:CN201910249283.6

    申请日:2019-03-29

    Abstract: 本发明涉及一种源代码与二进制代码间的语义比对方法和装置。该方法包括:1)从给定源代码中指定一条语句STsrc和其中的关键变量Vsrc,从二进制代码中指定一条语句STbin和其中的关键变量Vbin;2)分别对Vsrc和Vbin进行数据流分析,生成Vsrc的抽象语法树和Vbin的抽象语法树;3)对Vsrc的抽象语法树和Vbin的抽象语法树进行比对,判断Vsrc和Vbin是否语义一致;4)根据关键变量Vsrc和Vbin的语义一致判断结果,判定源代码与二进制代码间的语义相似性。本发明不依赖人工干预和编译的过程,能够指定任意源代码和二进制代码函数中的关键变量进行比对,能够提高比对成功率和效率。

Patent Agency Ranking