[发明专利]程序被加速检测方法、存储介质、设备及系统在审
申请号: | 201811280542.3 | 申请日: | 2018-10-30 |
公开(公告)号: | CN111124869A | 公开(公告)日: | 2020-05-08 |
发明(设计)人: | 周志刚 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 武汉智权专利代理事务所(特殊普通合伙) 42225 | 代理人: | 张凯 |
地址: | 430000 湖北省武汉市东湖开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 程序 加速 检测 方法 存储 介质 设备 系统 | ||
本发明公开了一种程序被加速检测方法、存储介质、设备及系统,涉及网络安全领域,该方法包括获取程序运行时所调用的Windows系统的时间函数,所述时间函数包括timeGetTime、GetTickCount、QueryPerformanceCounter和GetSystemTime中的一种或多种;获取时间函数的头代码;将获取的时间函数的头代码上传至后台服务器;后台服务器将接收时间函数的头代码与自身存储的原始时间函数的头代码进行比对,若相同,则判断程序未被加速,若不同,则判断程序被加速。本发明能够实现程序是否被加速的有效检测。
技术领域
本发明涉及网络安全领域,具体涉及一种程序被加速检测方法、存储介质、设备及系统。
背景技术
对于运行于Windows端的客户端程序来说,一些非法人士通过非法手段来使得客户端的程序能够进行加速,从而造成了程序的不平衡,甚至对于服务器都是由危害的,其加速的原理是通过内联hook(钩子)来对系统时间函数进行hook,从而对程序中所有获取时间的函数返回一个加速过的时间。
例如对于抽奖程序,客户端程序被加速,很有可能其会先发出抽奖命令,违反抽奖的随机性公平远离,而对于游戏程序,如果其被加速,那么游戏中角色的移动都会比其他角色更快速,影响他人的游戏体验。当客户端程序被加速,客户端程序的稳定运行便会受到影响,严重的甚至带来经济等财产上的损失。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种程序被加速检测方法,能够实现程序是否被加速的有效检测。本发明还相应地提供了存储介质、设备及程序被加速检测系统。
为达到以上目的,本发明采取的技术方案是:
本发明第一方面提供一种程序被加速检测方法,用于对运行于Windows系统中的程序进行检测,包括以下步骤:
获取程序运行时所调用的Windows系统的时间函数,所述时间函数包括timeGetTime、GetTickCount、QueryPerformanceCounter和GetSystemTime中的一种或多种;
获取时间函数的头代码;
将获取的时间函数的头代码加密后上传至后台服务器;
后台服务器将接收时间函数的头代码与自身存储的原始时间函数的头代码进行比对,若相同,则判断程序未被加速,若不同,则判断程序被加速。
结合第一方面,在第一种可能的实现方式中,
所述时间函数用于所述程序查询当前系统时间以及程序运行时间;
当后台服务器将接收时间函数的头代码与自身存储的原始时间函数的头代码进行比对时,基于程序运行时所调用的时间函数,后台服务器将自身存储的该时间函数的头代码,与接收的该时间函数的头代码进行比对。
结合第一方面,在第二种可能的实现方式中,所述将获取的时间函数的头代码加密后上传至后台服务器,具体步骤为:
S301:加载组件ntdll.dll,所述组件ntdll.dll中存储有用于获取Windows系统版本号的系统API函数;
S302:通过系统函数GetProcAddress获取组件ntdll.dll的接口RtlGetNtVersionNumbers,基于接口RtlGetNtVersionNumbers获取用于获取Windows系统版本号的系统API函数的内存地址,得到用于获取Windows系统版本号的系统API函数;
S303:通过用于获取Windows系统版本号的系统API函数,获得Windows系统的版本号;
S304:结合当前系统时间,使用Md5算法对获得的版本号计算HASH值,将计算得到的HASH值作为密钥;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811280542.3/2.html,转载请声明来源钻瓜专利网。