[发明专利]用于检测应用的方法和装置有效
| 申请号: | 201610924983.7 | 申请日: | 2016-10-24 |
| 公开(公告)号: | CN107977305B | 公开(公告)日: | 2019-05-03 |
| 发明(设计)人: | 张煜龙;韦韬 | 申请(专利权)人: | 百度在线网络技术(北京)有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 北京英赛嘉华知识产权代理有限责任公司 11204 | 代理人: | 王达佐;马晓亚 |
| 地址: | 100085 北京市*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 用于 检测 应用 方法 装置 | ||
1.一种用于检测应用的方法,其特征在于,所述方法包括:
对目标设备上运行的应用的二进制程序进行反汇编,以生成待修复汇编程序;
匹配出所述待修复汇编程序中与参考汇编程序中的预设参考函数的函数信息一致的函数,得到至少一个候选函数;
匹配出所述至少一个候选函数中与所述预设参考函数的语法和/或语义信息一致的候选函数作为目标函数;
匹配出所述目标函数中与所述预设参考函数中的预设参考变量的语法和/或语义信息一致的变量作为目标变量;
将所述目标函数和所述目标变量在所述待修复汇编程序中的位置信息作为检测结果输出。
2.根据权利要求1所述的方法,其特征在于,所述匹配出所述待修复汇编程序中与参考汇编程序中的预设参考函数的函数信息一致的函数,得到至少一个候选函数,包括:
分别提取所述预设参考函数的至少一项函数信息和所述待修复汇编程序中的各个函数的至少一项函数信息,生成所述预设参考函数的函数信息集合和所述待修复汇编程序中的各个函数的函数信息集合;
将所述预设参考函数的函数信息集合分别与所述待修复汇编程序中的各个函数的函数信息集合进行相似度计算;
基于相似度计算结果,从所述待修复汇编程序中的各个函数中选取出候选函数。
3.根据权利要求1所述的方法,其特征在于,所述匹配出所述至少一个候选函数中与所述预设参考函数的语法和/或语义信息一致的候选函数作为目标函数,包括:
分别提取所述预设参考函数的至少一项语法和/或语义信息和各所述候选函数的至少一项语法和/或语义信息,生成所述预设参考函数的语法和/或语义信息集合和各所述候选函数的语法和/或语义信息集合;
将所述预设参考函数的语法和/或语义信息集合分别与各所述候选函数的语法和/或语义信息集合进行相似度计算;
基于相似度计算结果,从各所述候选函数中选取出目标函数。
4.根据权利要求1所述的方法,其特征在于,所述匹配出所述目标函数中与所述预设参考函数中的预设参考变量的语法和/或语义信息一致的变量作为目标变量,包括:
分别提取所述预设参考变量的至少一项语法和/或语义信息和所述目标函数中的各个变量的至少一项语法和/或语义信息,生成所述预设参考变量的语法和/或语义信息集合和所述目标函数中的各个变量的语法和/或语义特征集合;
将所述预设参考变量的语法和/或语义信息集合分别与所述目标函数中的各个变量的语法和/或语义信息集合进行相似度计算;
基于相似度计算结果,从所述目标函数中的各个变量中选取出所述目标变量。
5.根据权利要求1所述的方法,其特征在于,所述目标函数和所述目标变量在所述待修复汇编程序中的位置信息包括所述目标函数的起始地址和所述目标变量的偏移量。
6.根据权利要求1所述的方法,其特征在于,所述函数信息包括以下至少一项:函数名、函数中的常量、函数的调用关系。
7.根据权利要求1所述的方法,其特征在于,函数的语法和/或语义信息包括以下至少一项:基本块的数量、控制流图、采样输入对应的输出、符号执行的分析结果。
8.根据权利要求1所述的方法,其特征在于,变量的语法和/或语义信息包括以下至少一项:变量名、变量在数据流或控制流中的依赖关系、符号执行的分析结果。
9.根据权利要求2-4之一所述的方法,其特征在于,所述进行相似度计算的方法包括最小哈希算法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百度在线网络技术(北京)有限公司,未经百度在线网络技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610924983.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种系统调试方法和装置
- 下一篇:用于测试安卓应用稳定性的方法和装置





