一种使用收缩执行依赖图识别库函数的方法

    公开(公告)号:CN103577728B

    公开(公告)日:2016-03-30

    申请号:CN201310572174.0

    申请日:2013-11-16

    Abstract: 一种使用收缩执行依赖图识别库函数的方法,属于软件逆向工程领域。所述方法为:1)对目标函数和库函数建立执行依赖图(EDG);2)对EDG的局部EDG序列化,得到特征值序列和有序邻接矩阵;3)参照库函数EDG将目标函数和库函数EDG中有唯一点序列且不包含库函数EDG首尾的局部EDG收缩成点;4)判断库函数收缩EDG是否是目标函数收缩EDG的同构子图;5)验证识别结果是否有效。本方法不但能准确识别完整库函数,还能识别传统方法不能识别的多态及非连续字节的内联库函数,并有效缩短识别时间。

    一种使用收缩执行依赖图识别库函数的方法

    公开(公告)号:CN103577728A

    公开(公告)日:2014-02-12

    申请号:CN201310572174.0

    申请日:2013-11-16

    CPC classification number: G06F21/14

    Abstract: 一种使用收缩执行依赖图识别库函数的方法,属于软件逆向工程领域。所述方法为:1)对目标函数和库函数建立执行依赖图(EDG);2)对EDG的局部EDG序列化,得到特征值序列和有序邻接矩阵;3)参照库函数EDG将目标函数和库函数EDG中有唯一点序列且不包含库函数EDG首尾的局部EDG收缩成点;4)判断库函数收缩EDG是否是目标函数收缩EDG的同构子图;5)验证识别结果是否有效。本方法不但能准确识别完整库函数,还能识别传统方法不能识别的多态及非连续字节的内联库函数,并有效缩短识别时间。

    一种新的使用逆向扩展控制流图的静态函数识别方法

    公开(公告)号:CN103440122A

    公开(公告)日:2013-12-11

    申请号:CN201310291941.0

    申请日:2013-07-12

    Abstract: 一种新的使用逆向扩展控制流图的静态函数识别方法,属于软件逆向工程领域。所述方法包括如下步骤:步骤1:建立区域逆向扩展控制流图的集合;步骤2:对逆向扩展控制流图去噪,删除构建过程中搜索出的非编译器能生成的节点;步骤3:删除和合并逆向扩展控制流图;步骤4:在逆向扩展控制流图中识别函数入口;步骤5:得到指定区域中多个函数的识别结果。与传统方法不同,本发明以函数的返回指令作为识别特征,以函数返回指令节点作为逆向搜索起点构建逆向扩展控制流图,能够在指定二进制代码区域中识别多个函数,并且能够有效识别传统静态识别方法无法识别的无特定头字节特征及无交叉引用的函数。

    一种使用逆向扩展控制流图的静态函数识别方法

    公开(公告)号:CN103440122B

    公开(公告)日:2016-06-08

    申请号:CN201310291941.0

    申请日:2013-07-12

    Abstract: 一种使用逆向扩展控制流图的静态函数识别方法,属于软件逆向工程领域。所述方法包括如下步骤:步骤1:建立区域逆向扩展控制流图的集合;步骤2:对逆向扩展控制流图去噪,删除构建过程中搜索出的非编译器能生成的节点;步骤3:删除和合并逆向扩展控制流图;步骤4:在逆向扩展控制流图中识别函数入口;步骤5:得到指定区域中多个函数的识别结果。与传统方法不同,本发明以函数的返回指令作为识别特征,以函数返回指令节点作为逆向搜索起点构建逆向扩展控制流图,能够在指定二进制代码区域中识别多个函数,并且能够有效识别传统静态识别方法无法识别的无特定头字节特征及无交叉引用的函数。

Patent Agency Ranking