[发明专利]一种客户端代码完整性检测方法、装置和系统有效
申请号: | 201310236126.4 | 申请日: | 2013-06-14 |
公开(公告)号: | CN103345602A | 公开(公告)日: | 2013-10-09 |
发明(设计)人: | 胡和君;殷赵辉;曹飞;周志刚 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F21/50 | 分类号: | G06F21/50;G06F21/44 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 唐华明 |
地址: | 518031 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 客户端 代码 完整性 检测 方法 装置 系统 | ||
技术领域
本发明涉及通信技术领域,具体涉及一种客户端代码完整性检测方法、装置和系统。
背景技术
在客户端-服务器架构的应用程序中,客户端所执行的代码非常容易被用户修改,服务器为了保证客户端所执行的代码的正确性,就需要对客户端代码的完整性进行保护。而在客户端代码完整性保护的方案中,检测和发现客户端代码被修改的行为是其中很重要的一个环节,这一环节称为客户端代码完整性检测。
在现有的客户端代码完整性检测方案中,通常是由服务器将需要进行代码完整性检测的目标地址和校验目标大小发送给客户端,然后,客户端再将从该目标地址中读取到的校验目标大小的内存,通过某种特定的校验算法计算出结果后,上报给服务器,再由服务器对该客户端计算的结果和服务器自身计算的结果进行匹配来检测客户端代码被修改的行为。
在对现有技术的研究和实践过程中,本发明的发明人发现,现有技术中的客户端代码完整性检测方案的检测效果并不佳,比如,破解者可以通过备份原始代码,并将需要校验的地址修改为外挂备份原始代码地址,使得计算出的结果值一致,或者,破解者也可以通过拦截读取内存的函数,欺骗代码完整性检测系统所获取到的数据源,使得计算出的结果值一致,又或者,破解者可以模拟正确的校验结果来欺骗服务器,从而绕过代码完整性检测等等。
发明内容
本发明实施例提供一种客户端代码完整性检测方法、装置和系统,可以增加破解者绕过或欺骗代码完整性检测的分析难度,提高客户端代码完整性检测的检测效果。
本发明实施例提供一种客户端代码完整性检测方法,包括:
确定校验目标,并获取客户端的用户标识;
根据所述用户标识生成多组校验序列,所述校验序列指示内存读取方式、校验算法和组包格式;
从所述多组校验序列中随机选取一组校验序列,根据选取的一组校验序列对所述校验目标进行计算,得到服务器侧结果;
将所述校验目标和选取的一组校验序列发送给客户端;
接收客户端根据所述校验目标和校验序列进行计算所得到的客户端侧结果;
将所述服务器侧结果和客户端侧结果进行比较,若一致,则确定客户端代码完整,若不一致,则确定客户端代码不完整。
本发明实施例还提供另一种客户端代码完整性检测方法,包括:
接收服务器发送的校验目标和服务器从多组校验序列中随机选取的一组校验序列,所述多组校验序列由服务器根据客户端的用户标识生成,所述校验序列指示内存读取方式、校验算法和组包格式;
根据接收到的校验序列从客户端预置的X套内存读取方式中确定内存读取方式、从客户端预置的Y套校验算法确定校验算法,以及从客户端预置的Z套组包格式中确定组包格式,所述X、Y和Z均为大于1的正整数;
根据确定的内存读取方式、校验算法和组包格式进行计算,得到客户端侧结果;
发送所述客户端侧结果给服务器,以便服务器根据所述客户端侧结果和服务器侧结果进行客户端代码完整性检测,所述服务器侧结果由服务器根据所述校验目标和所述选取的一组校验序列进行计算所得。
相应的,本发明实施例提供一种服务器,包括确定单元、生成单元、处理单元、发送单元、接收单元和检测单元;
确定单元,用于确定校验目标,并获取客户端的用户标识;
生成单元,用于根据所述用户标识生成多组校验序列,所述校验序列指示内存读取方式、校验算法和组包格式;
处理单元,用于从所述多组校验序列中随机选取一组校验序列,根据选取的一组校验序列对所述校验目标进行计算,得到服务器侧结果;
发送单元,用于将所述校验目标和选取的一组校验序列发送给客户端;
接收单元,用于接收客户端根据所述校验目标和校验序列进行计算所得到的客户端侧结果;
检测单元,用于将所述服务器侧结果和客户端侧结果进行比较,若一致,则确定客户端代码完整,若不一致,则确定客户端代码不完整。
本发明实施例提供还提供一种客户端,包括接收单元、确定单元、处理单元和发送单元;
接收单元,用于接收服务器发送的校验目标和服务器从多组校验序列中随机选取的一组校验序列,所述多组校验序列由服务器根据客户端的用户标识生成,所述校验序列指示内存读取方式、校验算法和组包格式;
确定单元,用于根据接收到的校验序列从客户端预置的X套内存读取方式中确定内存读取方式、从客户端预置的Y套校验算法确定校验算法,以及从客户端预置的Z套组包格式中确定组包格式,所述X、Y和Z均为大于1的正整数;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310236126.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一类光学活性吡咯衍生物及其合成方法
- 下一篇:一种高像质广角光学系统