[发明专利]基于API传递的软件保护方法、系统、设备和存储介质在审
申请号: | 202111374820.3 | 申请日: | 2021-11-19 |
公开(公告)号: | CN114139116A | 公开(公告)日: | 2022-03-04 |
发明(设计)人: | 梅强;范渊;吴卓群;王欣 | 申请(专利权)人: | 杭州安恒信息技术股份有限公司 |
主分类号: | G06F21/14 | 分类号: | G06F21/14 |
代理公司: | 杭州华进联浙知识产权代理有限公司 33250 | 代理人: | 何晓春 |
地址: | 310051 浙江省*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 api 传递 软件 保护 方法 系统 设备 存储 介质 | ||
本申请涉及一种基于API传递的软件保护方法、系统、设备和存储介质,其中,该方法包括:根据预先配置信息,将软件的待执行函数分为远程函数和本地函数;将本地函数部署于本地主机,并建立本地代理函数;将远程函数部署于远程主机;在远程主机中,通过本地代理函数接收本地主机传递的输入参数;基于输入参数执行远程函数,将执行得到的第一输出参数通过本地代理函数传递给本地主机,并从本地主机返回运行结果。通过本申请,解决了目标机器上完整的软件功能会被获取和还原,从而无法实现软件保护的问题,实现了通过将软件的功能函数分开部署,使软件无需完整地放在远程的目标机器上运行,在本地主机能得到一样的运行结果,从而实现软件保护的效果。
技术领域
本申请涉及软件保护领域,特别是涉及一种基于API传递的软件保护方法、系统、设备和存储介质。
背景技术
由于目前破解方法和工具层出不穷,软件攻击者可以利用各种手段破解和还原软件执行流程,从而获取软件原始程序并进行分析,提取关键算法或技术,因此软件保护也是软件开发商一直以来需要解决的问题。
通常是需要将本地的软件的功能函数全部部署在目标机器上运行,然后通过加密算法对软件本身进行加密保护,但是目标机器一般是远程的不可控机器,一旦加密算法被逆向破解,目标机器上完整的软件功能就会被获取和还原,从而无法实现软件保护。
针对相关技术中存在目标机器上完整的软件功能会被获取和还原,从而无法实现软件保护的问题,目前还没有提出有效的解决方案。
发明内容
在本实施例中提供了一种基于API传递的软件保护方法、系统、设备和存储介质,以解决相关技术中存在目标机器上完整的软件功能会被获取和还原,从而无法实现软件保护的问题。
第一个方面,在本实施例中提供了一种基于API传递的软件保护方法,适用于软件保护系统,所述方法包括:
根据预先配置信息,将软件的待执行函数分为远程函数和本地函数;将所述本地函数部署于本地主机,并建立本地代理函数;将所述远程函数部署于远程主机;
在所述远程主机中,通过所述本地代理函数接收所述本地主机传递的输入参数;
基于所述输入参数执行所述远程函数,将执行得到的第一输出参数通过所述本地代理函数传递给所述本地主机,并从所述本地主机返回运行结果。
在其中的一些实施例中,所述通过所述本地代理函数接收所述本地主机传递的输入参数,包括:
通过所述本地代理函数接收所述本地主机传递的经过序列化的所述输入参数;
若所述输入参数是原语,则按值接收经过序列化的所述原语,并将所述经过序列化的原语进行反序列化,得到所述原语;
若所述输入参数是指针,则接收经过序列化的内存空间值,并将所述经过序列化的内存空间值进行反序列化,还原得到所述指针。
在其中的一些实施例中,所述将执行得到的第一输出参数通过所述本地代理函数传递给所述本地主机,包括:
将所述第一输出参数进行序列化,通过所述本地代理函数传递给所述本地主机;
在所述本地主机对经过序列化的所述第一输出参数进行反序列化,还原得到所述第一输出参数的原语和指针。
在其中的一些实施例中,在所述从所述本地主机返回运行结果之前,还包括:
在所述本地主机中,运行所述本地函数,得到第二输出参数;
根据所述第二输出参数和接收的所述第一输出参数得到软件运行结果,并返回给所述远程主机。
在其中的一些实施例中,上述方法还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州安恒信息技术股份有限公司,未经杭州安恒信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111374820.3/2.html,转载请声明来源钻瓜专利网。