一种动态链接库DLL文件的处理方法和装置制造方法及图纸

技术编号:4073207 阅读:220 留言:0更新日期:2012-04-11 18:40
本发明专利技术实施例公开了一种动态链接库DLL文件的处理方法和装置,所述处理方法将包含有关键代码的DLL文件作为资源(具体为二进制资源)嵌入到应用程序中,所述DLL文件不再作为独立文件存在,而令破解者不能轻易定位所述关键代码及所述DLL文件的位置;同时,本发明专利技术不再直接使用LoadLibrary?API函数加载所述DLL文件,整个加载过程以动态加载的方式进行,通过重定位DLL文件实际虚拟地址,并修改IAT表中的导入函数的入口地址,使得所述DLL文件中的导入函数的关键代码与所述导入函数实际所处的地址联系起来,建立动态链接,而令破解者难于判断实际加载所述DLL文件的时机和地址,实现了安全加载动态链接库DLL文件的技术效果。

【技术实现步骤摘要】

本专利技术涉及软件维护
,更具体地说,涉及一种动态链接库DLL文件的处理方法和装置。
技术介绍
目前,正版软件需要有软件证书授权才能进行使用,如何保护正版软件不被破解 者非法破解免费使用而损害软件供应商的利益,针对所述正版软件授权的管理至关重要。现有的正版软件管理主要是针对具有保密效果的关键代码的管理,该种管理方式 主要通过将关键代码以DLL独立的文件方式设于外部安全设备内,如硬件加密狗驱动中, 或者设于网络远程证书服务器的API接口模块中,并通过静态链接或动态链接(调用API 函数)加载所述DLL并调用其中函数,以进行软件后续进程。然而,由于现有技术中的DLL文件以完整独立的文件形式存在,即使对这些DLL文 件进行数字签名,且在加载DLL文件之前先对数字签名进行校验,仍可被破解者通过定位 该独立文件的位置,并以静态调试的方法找到并替换数字签名所用的公钥,再伪造DLL的 数字签名达到加载所述DLL文件的目的,从而破坏正版软件管理系统而免费使用该软件, 影响了正版软件供应商的利益。
技术实现思路
有鉴于此,本专利技术提供一种动态链接库DLL文件的处理方法和装置,以实现将DLL 文件本文档来自技高网...

【技术保护点】
一种动态链接库DLL文件的处理方法,其特征在于,包括:获取需加载应用程序中预先编译的二进制文件,该二进制文件由DLL文件封装而成;将所述DLL文件导入内存,确定所述DLL文件的在所述内存中的实际虚拟地址;修改地址表IAT中的导入函数的入口地址;获取DLLMain入口函数的实际虚拟地址,调用所述入口函数完成对所述DLL文件的加载。

【技术特征摘要】

【专利技术属性】
技术研发人员:苏宏业叶建位荣冈古勇
申请(专利权)人:浙江中控软件技术有限公司
类型:发明
国别省市:86[中国|杭州]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1