[发明专利]一种基于内存映射文件检测进程实例个数的方法及装置有效
申请号: | 201811163135.4 | 申请日: | 2018-09-30 |
公开(公告)号: | CN109324952B | 公开(公告)日: | 2021-09-07 |
发明(设计)人: | 周志刚 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30;G06F21/60 |
代理公司: | 北京众达德权知识产权代理有限公司 11570 | 代理人: | 徐松 |
地址: | 430000 湖北省武汉市东湖开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 内存 映射 文件 检测 进程 实例 个数 方法 装置 | ||
本发明实施例公开了一种基于内存映射文件检测进程实例个数的方法及装置,用于更加隐蔽的检测同一时间存在的进程实例的个数。本发明实施例方法包括:定义将进程写入内存映射文件的数据存储格式;获取进程的进程唯一标识,并将进程的进程唯一标识进行加密,得到加密KEY和加密后的进程唯一标识,加密后的进程唯一标识随着开机状态的变化而变化;创建内存映射文件,并依据数据存储格式,将特征码写入内部映射文件的头端,并将加密KEY和进程的进程唯一标识写入内存映射文件;当需要检测当前进程实倒的个数时,根据数据存储格式读取内存映射文件,并解密加密后的进程唯一标识,得到解密后的进程唯一标识,即为当前进程实例的个数。
技术领域
本发明涉及开发平台领域,尤其涉及一种基于内存映射文件检测进程实例个数的方法及装置。
背景技术
对于一些PC客户端程序来说,一个系统只能创建一个该程序的实例,同时打开多个则存在作弊的可能,同时也会影响程序的正常功能,同时对性能影响也很大。现有检测方法大多通过创建一个互斥变量,来判断是否已经创建了该实例,或者判断进程名称是否存在多份一样的。然而此类检测方法为大家所熟知,同时已经很容易被绕过检测。因此需要一种更为隐瞒的方法。
发明内容
本发明实施例提供了一种基于内存映射文件检测进程实例个数的方法及装置,用于更加隐蔽的检测同一时间存在的进程实例的个数。
本发明实施例的第一方面提供了一种基于内存映射文件检测进程实例个数的方法,包括:定义将进程写入内存映射文件的数据存储格式,所述数据存储格式中包括以下信息:特征码、所述进程的进程唯一标识和加密KEY,所述特征码为一段隐藏字符,所述特征码表示所述内存映射文件用于检测程序多开实例,所述加密KEY用于加密所述进程的进程唯一标识;获取所述进程的进程唯一标识,并将所述进程的进程唯一标识进行加密,得到所述加密KEY和加密后的进程唯一标识,所述加密后的进程唯一标识随着开机状态的变化而变化;创建所述内存映射文件,并依据所述数据存储格式,将所述特征码写入所述内存映射文件的头端,并将所述加密KEY和所述进程的进程唯一标识写入所述内存映射文件;当需要检测当前进程实倒的个数时,根据所述数据存储格式读取所述内存映射文件,并解密所述加密后的进程唯一标识,得到解密后的进程唯一标识,所述解密后的进程唯一标识的个数为所述当前进程实例的个数。
在一种可能的实施例中,所述获取所述进程的进程唯一标识,并将所述进程的进程唯一标识进行加密,得到所述加密KEY和加密后的进程唯一标识,包括:通过调用应用程序编程接口API函数GetCurrentProcessId()获取所述进程的进程唯一标识;根据winlogon.exe进程的进程唯一标识和当前时间戳信息得到所述加密KEY,并根据所述加密KEY对所述进程的进程唯一标识进行加密,得到所述加密后的进程的唯一标识,所述win1ogon.exe进程为开机启动的进程。
在一种可能的实施例中,所述根据 winlogon.exe进程的进程唯一标识和当前时间戳信息得到所述加密KEY,并根据所述加密KEY对所述进程的进程唯一标识进行加密,得到所述加密后的进程的唯一标识包括:通过调用API函数Time()获取所述当前时间戳信息;将所述当前时间戳信息和win1ogon.exe进程的进程唯一标识作为API函数SHA-1.Create()的输入,以得到所述加密KEY;将所述进程的进程唯一标识和所述加密KEY作为加密算法 Blowfish的加密接口Blowfish.encrypt()的输入,以输出初加密数据;将所述初加密数据和所述加密KEY作为加密算法TEA的加密接口TEA.encrypt()的输入,以输出次加密数据,所述次加密数据为所述加密后的进程的进程唯一标识。
在一种可能的实施例中,所述创建所述内存映射文件,并依据所述数据存储格式,将所述特征码写入所述内存映射文件的头端包括:通过调用API函数 CreateFileMapping()创建所述内存映射文件;通过调用API函数 MapviewOfFile()获取到所述内存映射文件的头端;通过调用API函数的内存拷贝函数memcpy()将所述特征码拷贝到所述内存映射丈件的头端。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811163135.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:服务器中硬盘信息的获取方法和装置
- 下一篇:一种虚拟机能耗预测方法