本发明专利技术提供了一种动态链接库安全管理方法、系统和电子设备,所述方法包括以下步骤:S1:存储经加密的动态链接库;S2:接收关于动态链接库的访问请求,所述访问请求中包括关于发出所述访问请求的应用程序的信息和被请求的动态链接库文件的信息;S3:读入经加密的动态链接库,从所述经加密的动态链接库中解析出与所述被请求的动态链接库文件的信息对应的动态链接库数据;S4:将解析出的动态链接库数据返回给所述应用程序,或者获取解析出的动态链接库数据对应的函数地址并将包括所述函数地址的信息返回给所述应用程序。本发明专利技术能够极大地提高动态链接库的安全强度和破解难度。
【技术实现步骤摘要】
本专利技术涉及计算机安全领域,特别涉及一种动态链接库安全管理方法、系统和电子设备。
技术介绍
软件版权保护领域中,动态链接库由于其自身的优点,难以被分析出接口的具体逻辑,然而经常出现某些黑客,将应用程序中的一些重要的动态链接库进行替换或分析修改,导致软件被破解,对软件开发者造成极大的损失;而静态库因为是连接到应用程序中去的,又十分容易被分析出具体的实现逻辑,目前对于静态库的保护方案又存在诸多安全漏洞或者操作流程上的复杂性,因此也不是很好的保护方式。目前,使用静态方式加载动态链接库的方法已经存在,该方法将动态链接库以二进制数组的形式连接到静态库中,并通过静态加载的方式,查找到接口的函数地址,通过该地址函数,执行相关操作。但是该方法仍然存在诸多安全漏洞和不便之处:第一、动态链接库以二进制数组的形式存储,依然容易被分析出来并替换;第二、如果动态链接库接口稍有变动,那么将不得不重新提供新的应用程序,加重了开发者的负担;第三、如果动态链接库的体积比较大,或者数量比较多,使用这种方式将导致应用程序的占用空间较为庞大,十分不利于维护。
技术实现思路
本专利技术所要解决的技术问题是提供一种对经加密处理的动态链接库进行动态加载的动态链接库安全管理方法、系统和电子设备,具有安全强度高、破译难度大的优点。为了解决上述技术问题,本专利技术提供了如下技术方案:一种动态链接库安全管理方法,其包括以下步骤:S1:存储经加密的动态链接库;S2:接收关于动态链接库的访问请求,所述访问请求中包括关于发出所述访问请求的应用程序的信息和被请求的动态链接库文件的信息;S3:读入经加密的动态链接库,从所述经加密的动态链接库中解析出与所述被请求的动态链接库文件的信息对应的动态链接库数据;S4:将解析出的动态链接库数据返回给所述应用程序,或者获取解析出的动态链接库数据对应的函数地址并将包括所述函数地址的信息返回给所述应用程序。作为优选,步骤S1包括:S11:利用至少一种预设算法对动态链接库执行加密处理;S12:将加密后的动态链接库存储到预设目录下。作为优选,在步骤S11之前还包括步骤S10:对所述动态链接库进行加壳处理;步骤S11进一步配置为利用至少一种预设算法对经过加壳处理的动态链接库执行加密处理。作为优选,其中,在步骤S11之前,还包括:S10’:对所述动态链接库中的动态链接库文件进行更新。作为优选,其中,步骤S12具体为:将加密后的动态链接库转换为数据文件格式后存储到预设目录下。作为优选,其中,利用RSA算法和AES算法同时对动态链接库执行加密处理。作为优选,所述方法还进一步包括:S5:接收来自所述应用程序的访问结束信息,并基于该访问结束信息释放读入的所述动态链接库和/或解析出的动态链接库数据。本专利技术还提供了一种动态链接库安全管理系统,其包括:存储单元,其中存储有经加密的动态链接库;应用程序端,其配置为在需要访问动态链接库内的动态链接库文件时,生成关于动态链接库的访问请求并发送给安全服务端,所述访问请求中包括关于应用程序端的信息和被请求的动态链接库文件的信息;所述安全服务端,其配置为在接收到所述访问请求时,从所述存储单元读入经加密的动态链接库,从所述动态链接库中解析出与所述被请求的动态链接库文件的信息对应的动态链接库数据,所述安全服务端还配置为将解析出的动态链接库数据返回给所述应用程序端,或者获取解析出的所述动态链接库数据对应的函数地址并将包括所述函数地址的信息返回给所述应用程序端;作为优选,所述应用程序端进一步配置为在获得所述解析出的动态链接库数据或者所述函数地址后,发送访问结束信息至所述安全服务端;所述安全服务端进一步配置为在接收到所述访问结束信息后,释放读入的所述动态链接库和/或解析出的动态链接库数据。作为优选,所述系统还包括预处理模块,其配置为对所述动态链接库进行预处理,所述预处理包括利用至少一种预设算法对所述动态链接库进行加密,并将加密后的动态链接库存储到所述存储单元的预设目录下。作为优选,所述系统还包括预处理模块,其配置为对所述动态链接库进行预处理,所述预处理包括对所述动态链接库进行加壳处理并利用至少一种预设算法对经过加壳处理的动态链接库进行加密处理,并将经过加密的动态链接库存储到所述存储单元的预设目录下。作为优选,还包括更新模块,其配置为根据用户指令对所述动态链接库中的动态链接库文件进行更新,所述预处理模块对经过所述更新模块更新后的动态链接库执行预处理。另外,本专利技术还提供了一种电子设备,其至少配置有如上所述的动态链接库安全管理系统中的安全服务端和应用程序端。与现有技术相比,本专利技术的有益效果在于:本专利技术提供的动态链接库安全管理方法,在对应用程序提供API(应用程序接口)时,不是通过直接读入动态链接库的形式实现相应函数的调用,而是通过对动态链接库进行加密,并将加密后的动态链接库加载到安全服务中间件的内存中,以获取动态链接库数据和/或动态链接库数据对应的接口函数地址,从而进一步增强了动态链接库的安全强度和破译难度,也无需占用应用程序的内存,而影响运行速度。附图说明图1为本专利技术实施例中的一种动态链接库安全管理方法的原理流程图;图2为本专利技术另一实施例中的一种动态链接库安全管理方法的原理流程图;图3为图1和图2中步骤S1的方法流程图;图4为本专利技术实施例中的一种动态链接库安全管理系统的原理结构图;图5为本专利技术另一实施例中的一种动态链接库安全管理系统的原理结构图。附图标记说明100-安全服务端200-应用程序端300-存储单元400-预处理模块500-更新模块具体实施方式下面,结合附图对本专利技术的具体实施例进行详细的说明,但本专利技术不限于此。本专利技术实施例提供了一种动态链接库安全管理方法、系统和电子设备,其中,本专利技术可以通过安全服务中间件将经过预处理的动态链接库读入其内存,并针对应用程序的访问请求,从经预处理(例如加密处理)的动态链接库中解析出对应的动态链接库数据,并获取对应于该动态链接库数据的接口函数地址,以便应用程序执行对应的程序。由于本实施例中采用安全服务中间件对动态链接库进行读取并解密,同时还返回给应用程序对应的接口函数地址或动态链接库数据,可以极大的增强动态链接库的安全强度和破解难度,同时还能减少应用程序的内存占用率。具体的,如图1所示为本专利技术实施例中的一种动态链接库安全管理方法的流程图,其中可以包括以下步骤:S1:存储经加密的动态链接库;实现对动态链接库的调用和读取的前提是将加密的动态链接库存储到预设目录下,该预设目录可以是本地的任意预设的地址目录,也可以是云平台中的云服务器、云盘等网页地址,或者是共享的目录。对于动态链接库的加密处理,本实施例中可以采用至少一种预设的加密算法进行加密处理,以提高安全防护的效果。而对于S1步骤的执行主体可以是软件研发人员也可以是管理员身份的其他人员,或者是作为管理器的各种控制装置。S2:接收关于动态链接库的访问请求,该访问请求中包括关于发出访问请求的应用程序的信息和被请求的动态链接库文件的信息;本实施例中,在电子设备或其他运行程序的终端设备中,当应用程序调用初始化接口,向安全服务中间件请求所要访问的动态链接库文件时,可以向安全服务中间件发送关于动态链接库的访问请求,该访问请求中可以包括与发出访问请求的本文档来自技高网...
【技术保护点】
一种动态链接库安全管理方法,其特征在于,包括以下步骤:S1:存储经加密的动态链接库;S2:接收关于动态链接库的访问请求,所述访问请求中包括关于发出所述访问请求的应用程序的信息和被请求的动态链接库文件的信息;S3:读入经加密的动态链接库,从所述经加密的动态链接库中解析出与所述被请求的动态链接库文件的信息对应的动态链接库数据;S4:将解析出的动态链接库数据返回给所述应用程序,或者获取解析出的动态链接库数据对应的函数地址并将包括所述函数地址的信息返回给所述应用程序。
【技术特征摘要】
1.一种动态链接库安全管理方法,其特征在于,包括以下步骤:S1:存储经加密的动态链接库;S2:接收关于动态链接库的访问请求,所述访问请求中包括关于发出所述访问请求的应用程序的信息和被请求的动态链接库文件的信息;S3:读入经加密的动态链接库,从所述经加密的动态链接库中解析出与所述被请求的动态链接库文件的信息对应的动态链接库数据;S4:将解析出的动态链接库数据返回给所述应用程序,或者获取解析出的动态链接库数据对应的函数地址并将包括所述函数地址的信息返回给所述应用程序。2.根据权利要求1所述的动态链接库安全管理方法,其特征在于,步骤S1包括:S11:利用至少一种预设算法对动态链接库执行加密处理;S12:将加密后的动态链接库存储到预设目录下。3.根据权利要求2所述的动态链接库安全管理方法,其特征在于,在步骤S11之前还包括步骤S10:对所述动态链接库进行加壳处理;步骤S11进一步配置为利用至少一种预设算法对经过加壳处理的动态链接库执行加密处理。4.根据权利要求2所述的动态链接库安全管理方法,其特征在于,其中,在步骤S11之前,还包括:S10’:对所述动态链接库中的动态链接库文件进行更新。5.根据权利要求2所述的动态链接库安全管理方法,其特征在于,其中,步骤S12具体为:将加密后的动态链接库转换为数据文件格式后存储到预设目录下。6.根据权利要求1-5中任意一项所述的动态链接库安全管理方法,其特征在于,其中,利用RSA算法和AES算法同时对动态链接库执行加密处理。7.根据权利要求1所述的动态链接库安全管理方法,其特征在于,还进一步包括:S5:接收来自所述应用程序的访问结束信息,并基于该访问结束信息释放读入的所述动态链接库和/或所述解析出的动态链接库数据。8.一种动态链接库安全管理系统,其特征在于,包括:存储单元,其中存储有经加密的动态链接库;应用程序端,其配置为在需要访问动态链接...
【专利技术属性】
技术研发人员:孙吉平,李海鹏,杨磊,
申请(专利权)人:北京深思数盾科技股份有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。