一种DLL格式相同文件快速比对确认方法、设备和介质技术

技术编号:37241233 阅读:29 留言:0更新日期:2023-04-20 23:22
本发明专利技术提供了一种DLL格式相同文件快速比对确认方法,包括:依次获取并对比所述原始文件和所述对比文件的文件头数据、节信息和节内容;若所述原始文件和所述对比文件的文件头数据、节信息和节内容中的任一项不同,判定所述原始文件和所述对比文件不同,并结束对比;若所述原始文件和所述对比文件的文件头数据、节信息和节内容均相同,判定所述原始文件和所述对比文件相同,实现了原始文件和对比文件的快速对比。速对比。速对比。

【技术实现步骤摘要】
一种DLL格式相同文件快速比对确认方法、设备和介质


[0001]本专利技术涉及网络开发
,尤其涉及一种DLL格式相同文件快速比对确认方法、电子设备和介质。

技术介绍

[0002]windows的程序来说序是由多个DLL文件组成,由于安全性要求,通常都会对DLL文件中的字符串进行混淆,以避免被其他第三方公司或者黑客获取到字符串信息从而方便的起逆向分析DLL文件的实现原理。
[0003]但是开发过程中随着版本的增多或者一次版本编译次数的增多,需要修复任一功能bug,均需确认DLL文件是否携带了功能修复,以及需要验证其他人使用的DLL文件是否是最新的DLL文件,或者说修复了功能bug后的文件,DLL文件分发给测试时,需要知道所有测试是否使用的是修复的DLL文件。
[0004]因此,需要一种方法能够快速对比2个DLL格式文件是否一致的问题,以确定出是否为最新的修复过的DLL文件。

技术实现思路

[0005]本专利技术提供了一种DLL格式相同文件快速比对确认方法,按照预设次序依次对比文件头数据、节信息和节内容,并在原始文件和对比文件不同时,输出不一致结果并结束对比,能够快速比对出原始文件和对比文件是否一致。
[0006]第一方面,本专利技术实施例提供了一种DLL格式相同文件快速比对确认方法,包括:
[0007]分别获取并比对原始文件和对比文件的文件头数据;
[0008]若所述原始文件和所述对比文件的文件头数据相同,分别获取并比对所述原始文件和所述对比文件的节信息;<br/>[0009]若所述原始文件和对比文件的节信息相同,分别获取并比对所述原始文件和所述对比文件的节内容;
[0010]若所述原始文件和所述对比文件的节内容相同,判定所述原始文件和所述对比文件相同;
[0011]若所述原始文件和所述对比文件的文件头数据、节信息和节内容中的任一项不同,判定所述原始文件和所述对比文件不同,并结束对比。
[0012]优选的是,所述获取并比对原始文件和对比文件的文件头数据,具体包括:
[0013]获取所述原始文件和所述对比文件的头文件数据;
[0014]通过内存映射将所述头文件数据的格式转换为DOS格式的文件头数据;
[0015]分别检测所述原始文件和所述对比文件的头文件数据;
[0016]得到所述原始文件和所述对比文件的文件头数据;
[0017]比对所述原始文件和所述对比文件的文件头数据;
[0018]其中,所述文件头数据的比对顺序为:标识位、预设在内存中加载的起始地址、文
件校验和、头

区块表的尺寸大小、映像装入内存后的总尺寸、DLL文件代码大小和文件偏移值。
[0019]优选的是,所述获取所述原始文件和所述对比文件的头文件数据,具体包括:
[0020]创建读取文件,并向所述读取文件中传入读取参数;
[0021]建立所述读取文件的映射关系,传入所述读取文件的句柄;
[0022]获取文件映射后的内存首地址;
[0023]将所述内存首地址对应的DLL格式的文件头数据转换成DOS格式的文件头数据。
[0024]优选的是,所述获取并比对所述原始文件和所述对比文件的节信息,具体包括:
[0025]通过所述原始文件和所述对比文件的文件偏移值,分别获取所述原始文件和所述对比文件的NT头;
[0026]通过所述NT头分别获取所述原始文件和所述对比文件的节表;
[0027]分别读取所述节表,得到所述原始文件和所述对比文件的节信息;
[0028]比对所述原始文件和所述对比文件的节信息;
[0029]其中,所述节信息的比对顺序为:节的数目、节的内容、文件中节的大小、文件中节的偏移、节的内存偏移和内存中节的大小。
[0030]优选的是,所述获取并对比所述原始文件和所述对比文件的节内容,具体包括:
[0031]获取所述原始文件和所述对比文件的导出表信息;
[0032]若所述原始文件和所述对比文件的导出表信息相同,获取所述原始文件和所述对比文件的导入表信息;
[0033]若所述原始文件和所述对比文件的导入表信息相同,获取所述原始文件和所述对比文件的重定位项节信息;
[0034]若所述原始文件和所述对比文件重定位项的节信息相同,获取并比较所述原始文件和所述对比文件的代码段;
[0035]若所述原始文件和所述对比文件的代码段相同,判定所述原始文件和所述对比文件相同;
[0036]其中,若所述原始文件和所述对比文件的导出表信息、导入表信息、重定位项的节信息和代码段中任一项信息不同,判定所述原始文件和所述对比文件不同,并结束对比。
[0037]优选的是,所述导出表信息包括导出表数量、导出函数、导出函数名称和导出函数的顺序;所述导入表信息包括导入函数、导入函数名称和导入函数顺序。
[0038]优选的是,所述原始文件和所述对比文件的代码段对比包括:
[0039]对比所述原始文件和所述对比文件的代码段大小;
[0040]若所述原始文件和所述对比文件的代码段大小相同,编写循环对比代码段中的代码。
[0041]优选的是,所述编写循环对比代码段中的代码,包括:
[0042]分别将所述原始文件和所述对比文件的代码段头尾相接形成循环数据;
[0043]间隔读取并对比所述原始文件和所述对比文件的循环数据的字节数据;
[0044]若每次读取到的字节数据均相同,判定所述原始文件和所述对比文件相同;
[0045]若原始文件和所述对比文件的代码段大小或所述字节数据不同,判定所述原始文件和所述对比文件不同。
[0046]第二方面,本专利技术实施例提供了一种电子设备,包括应用处理器和存储器,其特征在于,所述处理器用于实现所述存储器中存储得计算机管理程序式时实现如权利要求1

8中任一项所述的DLL格式相同文件快速比对确认方法。
[0047]第三方面,本专利技术实施例提供了一种计算机可读存储介质,其上存储有计算机管理类程序,其特征在于,所述计算机管理类程序被处理器执行时实现如权利要求1

7中任意一项所述的DLL格式相同文件快速比对确认方法。
[0048]有益效果
[0049]本专利技术提供了一种DLL格式相同文件快速比对确认方法,按照预设次序依次对比文件头数据、节信息和节内容,并在原始文件和对比文件不同时,输出不一致结果并结束对比,实现了原始文件和对比文件的快速对比。
附图说明
[0050]图1为本专利技术所述的DLL格式相同文件快速比对确认方法的流程图。
[0051]图2为本专利技术所述的原始文件和对比文件的文件头数据的对比流程图。
[0052]图3为本专利技术所述的获取原始文件和对比文件的节信息的流程图。
[0053]图4为本专利技术所述的获取始文件和对比文件的节内容的流程图。
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种DLL格式相同文件快速比对确认方法,其特征在于,包括:分别获取并比对原始文件和对比文件的文件头数据;若所述原始文件和所述对比文件的文件头数据相同,分别获取并比对所述原始文件和所述对比文件的节信息;若所述原始文件和对比文件的节信息相同,分别获取并比对所述原始文件和所述对比文件的节内容;若所述原始文件和所述对比文件的节内容相同,判定所述原始文件和所述对比文件相同;若所述原始文件和所述对比文件的文件头数据、节信息和节内容中的任一项不同,判定所述原始文件和所述对比文件不同,并结束对比。2.根据权利要求1所述的DLL格式相同文件快速比对确认方法,其特征在于,所述获取并比对原始文件和对比文件的文件头数据,具体包括:获取所述原始文件和所述对比文件的头文件数据;通过内存映射将所述头文件数据的格式转换为DOS格式的文件头数据;分别检测所述原始文件和所述对比文件的头文件数据;得到所述原始文件和所述对比文件的文件头数据;比对所述原始文件和所述对比文件的文件头数据;其中,所述文件头数据的比对顺序为:标识位、预设在内存中加载的起始地址、文件校验和、头

区块表的尺寸大小、映像装入内存后的总尺寸、DLL文件代码大小和文件偏移值。3.根据权利要求2所述的DLL格式相同文件快速比对确认方法,其特征在于,所述获取所述原始文件和所述对比文件的头文件数据,具体包括:创建读取文件,并向所述读取文件中传入读取参数;建立所述读取文件的映射关系,传入所述读取文件的句柄;获取文件映射后的内存首地址;将所述内存首地址对应的DLL格式的文件头数据转换成DOS格式的文件头数据。4.根据权利要求1所述的DLL格式相同文件快速比对确认方法,其特征在于,所述获取并比对所述原始文件和所述对比文件的节信息,具体包括:通过所述原始文件和所述对比文件的文件偏移值,分别获取所述原始文件和所述对比文件的NT头;通过所述NT头分别获取所述原始文件和所述对比文件的节表;分别读取所述节表,得到所述原始文件和所述对比文件的节信息;比对所述原始文件和所述对比文件的节信息;其中,所述节信息的比对顺序为:节的数目、节的内容、文件中节的大小、文件中节的偏移、节的内存偏移和内存中节的大小。5.根据权利要求4所述的DLL格式相同文件...

【专利技术属性】
技术研发人员:周志刚
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:

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

1