[发明专利]一种软件检测方法、软件检测装置及介质在审
| 申请号: | 201910702140.6 | 申请日: | 2019-07-31 |
| 公开(公告)号: | CN112307468A | 公开(公告)日: | 2021-02-02 |
| 发明(设计)人: | 尹钻兴 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
| 主分类号: | G06F21/52 | 分类号: | G06F21/52;G06F21/56 |
| 代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 吴磊 |
| 地址: | 518057 广东省深圳*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 软件 检测 方法 装置 介质 | ||
1.一种软件检测方法,其特征在于,包括:
获取校验结构体,所述校验结构体用于对待检测软件程序进行校验;
在所述待检测软件程序运行前,使用所述校验结构体对待检测软件程序进行校验,得到第一校验结果;
在所述待检测软件程序运行过程中,使用所述校验结构体对待检测软件程序进行校验,得到第二校验结果;
比对所述第一校验结果和所述第二校验结果;
当所述第一校验结果与所述第二校验结果不一致时,判定所述待检测软件程序异常或者被修改。
2.根据权利要求1所述的方法,其特征在于,所述校验结构体包括:校验函数地址、回调函数、被校验的内存起始地址以及所述被校验的内存大小,其中,所述被校验的内存用于存储所述待检测软件程序的软件代码,所述校验函数地址用于指示所述校验函数的存储地址,所述校验函数用于校验所述软件代码,所述回调函数用于验证所述校验函数的校验结果是否正确;
所述在所述待检测软件程序运行前,使用所述校验结构体对待检测软件程序进行校验,得到第一校验结果,包括:
通过所述校验函数地址调用所述校验函数;
使用所述校验函数校验所述被校验的内存中所存储的所述软件代码;
通过所述回调函数判断所述校验函数的校验结果是否正确;
当所述回调函数判断所述校验函数的校验结果正确时,得到所述第一校验结果。
3.根据权利要求2所述的方法,其特征在于,所述在所述待检测软件程序运行前,使用所述校验结构体对待检测软件程序进行校验,得到第一校验结果之后,还包括:
对所述校验结构体进行加密,得到第一加密数据;
所述在所述待检测软件程序运行过程中,使用所述校验结构体对待检测软件程序进行校验,得到第二校验结果,包括:
对所述第一加密数据进行解密,得到所述校验结构体;
使用所述校验结构体对待检测软件程序进行校验,得到所述第二校验结果。
4.根据权利要求3所述的方法,其特征在于,所述对所述校验结构体进行加密,得到第一加密数据,包括:
从所述校验结构体存储地址起始遍历到结束,生成机器码字符串列;
使用AES128位加密将所述机器码字符列表转换成加密的全局字符列表;
所述对所述第一加密数据进行解密,得到所述校验结构体,包括:
分配第一内存空间和第二内存空间;
将所述全局字符列表分别存入所述第一内存空间和所述第二内存空间中;
在所述第一内存空间中,通过AES128位解密,得到第一校验函数;
在所述第二内存空间中,通过AES128位解密,得到第一校验结构体,所述第一校验结构体中包含第二校验函数;
将所述第一校验函数由所述第一内存空间传入所述第二内存空间中,以所述第一校验函数替换所述第二校验函数,得到第二校验结构体。
5.根据权利要求3所述的方法,其特征在于,所述分配第一内存空间和第二内存空间:
在随机时间点随机分配内存空间作为所述第一内存空间和所述第二内存空间。
6.根据权利要求1至5任一所述的方法,其特征在于,所述在所述待检测软件程序运行过程中,使用所述校验结构体对待检测软件程序进行校验,得到第二校验结果,包括:
获取待检测软件程序功能模块的区块列表;
从所述区块列表中获取需要校验的功能模块;
通过所述校验结构体校验所述需要校验的功能模块,得到所述第二校验结果。
7.根据权利要求1所述的方法,其特征在于,当所述第一校验结果与所述第二校验结果不一致时,判定所述待检测软件程序异常或者被修改之后,还包括:
向服务器上报结果,和/或,通过预设的汇编码使所述待检测程序强制崩溃。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910702140.6/1.html,转载请声明来源钻瓜专利网。





