[发明专利]一种程序运行方法、装置、电子设备及存储介质在审
申请号: | 202111544627.X | 申请日: | 2021-12-16 |
公开(公告)号: | CN114253844A | 公开(公告)日: | 2022-03-29 |
发明(设计)人: | 孙鹏 | 申请(专利权)人: | 安天科技集团股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京锺维联合知识产权代理有限公司 11579 | 代理人: | 安娜 |
地址: | 150028 黑龙江省哈尔滨市高新技术产*** | 国省代码: | 黑龙江;23 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 程序 运行 方法 装置 电子设备 存储 介质 | ||
本发明提供一种程序运行方法、装置、电子设备及存储介质,该方法包括:获取目标程序的事件指令;第一目标程序运行在第一内存地址;根据事件指令从云端下载事件指令对应的可执行模块,并将可执行模块加载至第二内存地址;控制可执行模块进行执行;在可执行模块执行完成后,释放第二内存地址内的可执行模块;其中,第一内存地址和第二内存地址对应于同一进程。通过这样的方式,使得可执行模块仅在内存中进行运行,并且在可执行程序运行完成后,将内存进行释放,如此用户无法获取可执行模块的原始代码。由于用户无法直接获取到相应的代码,且实际功能的执行也不是在云端,使得用于难以通过反向编译或跳过验证等方式对目标程序进行破解。
技术领域
本发明涉及程序防破解领域,尤其涉及一种程序运行方法、装置、电子设备及存储介质。
背景技术
现有的很多软件程序,都会使用授权模式。只有使用验证码或者线上付费获取了相应的权限,才能使用软件程序的完整功能。
以验证码验证后获得功能权限为例,该方法,一般会使用加解密算法,对用户输入的验证码(如CDkey)进行验证,只有通过验证后,才能使用软件程序的完整功能。
该类软件程序,对验证码的运行一般分为两种方式。第一种是,本地客户端内直接存储有相应的加解密算法,能够直接对验证码进行验证,并输出验证结果。第二种是将验证码上传至云端,由云端的加解密算法对验证码进行验证码进行验证,并回传验证结果(验证通过或验证失败)。
但是,这两种方法都存在被破解的隐患。例如,针对第一种方法,可以通过对程序内的加解密算法进行暴力破解(如反向编译等),直接破译出加解密算法。针对第二种,可以监测云端回传的数据指令,进行数据破解,使得在验证时,可以本地主动模拟出一个验证通过的数据指令,从而跳过云端验证的步骤。
发明内容
有鉴于此,本发明提供一种一种程序运行方法、装置、电子设备及存储介质,旨在至少部分解决现有技术中存在的问题。
根据本申请的一个方面,提供一种程序运行方法,包括:
获取目标程序的事件指令;所述第一目标程序运行在第一内存地址;
根据所述事件指令从云端下载所述事件指令对应的可执行模块,并将所述可执行模块加载至第二内存地址;
控制所述可执行模块进行执行;
在所述可执行模块执行完成后,释放所述第二内存地址内的所述可执行模块;
其中,所述第一内存地址和所述第二内存地址对应于同一进程,以使所述目标程序和所述可执行模块在同一进程内进行执行。
在本申请的一种示例性实施例中,所述可执行模块包括验证模块;所述目标程序内包括至少一个被锁定功能模块;
所述控制所述可执行模块进行执行,包括:
接收待验证信息;
将所述待验证信息输入所述验证模块,并接受所述验证模块输出的验证结果;
根据所述验证结果,解锁所述被锁定功能模块;
其中,解锁后的所述被锁定功能模块储存于所述目标程序所在计算机的硬盘内。
在本申请的一种示例性实施例中,所述可执行模块包括:核心验证模块和核心功能模块;所述目标程序内包括原始验证模块和原始功能模块;
所述控制所述可执行模块进行执行,包括:
将所述核心验证模块加载入所述原始验证模块,得到完整验证模块;
接收待验证信息;
控制所述完整验证模块验证所述待验证信息;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于安天科技集团股份有限公司,未经安天科技集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111544627.X/2.html,转载请声明来源钻瓜专利网。