[发明专利]二进制文件的指令恢复方法、系统、电子设备和存储介质在审
| 申请号: | 202210151101.3 | 申请日: | 2022-02-14 |
| 公开(公告)号: | CN114661344A | 公开(公告)日: | 2022-06-24 |
| 发明(设计)人: | 陈李维;田力楠;杨焰琦;史岗;孟丹 | 申请(专利权)人: | 中国科学院信息工程研究所 |
| 主分类号: | G06F8/74 | 分类号: | G06F8/74 |
| 代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 谢志超 |
| 地址: | 100093 *** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 二进制文件 指令 恢复 方法 系统 电子设备 存储 介质 | ||
1.一种二进制文件的指令恢复方法,其特征在于,所述方法包括:
通过二进制文件的数据空间获取疑似函数入口的地址;
按照程序控制流路径遍历程序路径,对于程序中未遍历的部分,选择控制流转移指令的紧邻的下一个地址继续遍历,并结合预定策略分析出第一指令;
将控制流转移指令的紧邻的下一个地址和第一指令的地址之间的范围作为函数间隙,将落入函数间隙的疑似函数入口的地址确定为合法起始地址;
自合法起始地址处开始反汇编,将恢复出的指令地址和函数间隙范围能够对齐的指令,作为恢复出的第二指令。
2.根据权利要求1所述的二进制文件的指令恢复方法,其特征在于,所述通过二进制文件的数据空间获取疑似函数入口的地址,包括:
对二进制文件的数据空间的每一处偏移地址进行装载操作,获得每处偏移地址的内存值;
将落入二进制文件的代码空间范围的内存值,作为疑似函数入口的地址。
3.根据权利要求1所述的二进制文件的指令恢复方法,其特征在于,所述自合法起始地址处开始反汇编,包括:
在函数间隙范围内,从合法起始地址处进行线性扫描解码来恢复指令。
4.根据权利要求1所述的二进制文件的指令恢复方法,其特征在于,所述结合预定策略分析出第一指令,包括:
通过寄存器def-use关系分析、非法跳转目标判定和bad指令识别来确定第一指令的地址。
5.根据权利要求1所述的二进制文件的指令恢复方法,其特征在于,所述按照程序控制流路径遍历程序路径,包括:
对于二进制文件的未探索区域,从控制流转移指令的紧邻的下一个地址作为入口地址进行遍历。
6.一种二进制文件的指令恢复系统,其特征在于,所述系统包括:
函数入口获取模块,所述函数入口获取模块通过二进制文件的数据空间获取疑似函数入口的地址;
第一反汇编模块,所述第一反汇编模块按照程序控制流路径遍历程序路径,对于程序中未遍历的部分,选择控制流转移指令的紧邻的下一个地址继续遍历,并结合预定策略分析出第一指令;
匹配模块,所述匹配模块将控制流转移指令的紧邻的下一个地址和第一指令的地址之间的范围作为函数间隙,将落入函数间隙的疑似函数入口的地址确定为合法起始地址;
第二反汇编模块,所述第二反汇编模块自合法起始地址处开始反汇编,将恢复出的指令地址和函数间隙范围能够对齐的指令,作为恢复出的第二指令。
7.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-5中任一项所述二进制文件的指令恢复方法的步骤。
8.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5中任一项所述二进制文件的指令恢复方法的步骤。
9.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5中任一项所述二进制文件的指令恢复方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210151101.3/1.html,转载请声明来源钻瓜专利网。





