【技术实现步骤摘要】
一种通用的程序文件解析方法、系统及存储介质
[0001]本专利技术涉及计算机领域,更具体地,涉及一种通用的程序文件解析方法、系统及存储介质。
技术介绍
[0002]对于程序文件来说,不同的平台具有不同的可执行程序格式,例如windows平台是DLL(Dynamic LinkLibrary,动态链接库)文件和EXE文件,统称为PE(可执行程序)文件格式;android平台的可执行程序则是so文件,ios平台则是Macho文件。
[0003]对于不同平台的程序文件解析时,目前是对于每一个平台的程序文件,均需要编写一套代码来完成相应平台程序文件的解析,如果平台类型较多,那么需要编写的代码也需要多套,这样会使得编写以及对程序文件解析的过程非常繁琐。
技术实现思路
[0004]本专利技术针对现有技术中存在的技术问题,提供一种通用的程序文件解析方法、系统及存储介质,能够克服现有技术中对不同平台程序文件解析时,需要编写多套代码的问题。
[0005]根据本专利技术的第一方面,提供了一种通用的程序文件解析方法, ...
【技术保护点】
【技术特征摘要】
1.一种通用的程序文件解析方法,其特征在于,包括:定义统一数据接口,向所述统一数据接口中传入程序文件的路径,以获取程序文件;基于所述程序文件的后缀名称,对所述程序文件的格式进行初步判定,获得初步判定结果;基于所述初步判定结果,调用所述统一数据接口内部的统一数据解析接口,对所述程序文件进行解析;若解析正确,则结束流程;若解析不正确,则调用所述统一数据接口内部的统一格式检测接口对所述程序文件的格式进行精确检测,获得精确检测结果;基于所述精确检测结果,调用统一数据解析接口,对所述程序文件进行解析。2.根据权利要求1所述通用的程序文件解析方法,其特征在于,基于所述程序文件的后缀名称,对所述程序文件的格式进行初步判定,获得初步判定结果,包括:若所述程序文件的后缀名称为“.dll”或“.exe”,则所述程序文件为windows平台的程序文件;若程序文件的后缀名称为“.so”,则所述程序文件为android平台的程序文件;若程序文件的后缀名称为“.dylib”,则所述程序文件为ios平台的程序文件。3.根据权利要求2所述通用的程序文件解析方法,其特征在于,基于所述初步判定结果,调用所述统一数据接口内部的统一数据解析接口,对所述程序文件进行解析,之前包括:在所述统一数据接口内部定义抽象类型的统一数据解析接口,并定义三个数据解析接口,三个数据解析接口均继承所述统一数据解析接口,其中,第一数据解析接口用于对windows平台的程序文件进行解析,第二数据解析接口用于对android平台的程序文件进行解析,第三数据解析接口用于对ios平台的程序文件进行解析;相应的,所述基于所述初步判定结果,调用所述统一数据接口内部的统一数据解析接口,对所述程序文件进行解析,包括:若所述初步判定结果为windows平台的程序文件,则调用所述第一数据解析接口对所述程序文件进行解析;若所述初步判定结果为android平台的程序文件,则调用所述第二数据解析接口对所述程序文件进行解析;若所述初步判定结果为ios平台的程序文件,则调用所述第三数据解析接口对所述程序文件进行解析。4.根据权利要求3所述通用的程序文件解析方法,其特征在于,抽象类型的所述统一数据解析接口分别定义了不同平台的程序文件中均需要解析的文件内容;所述统一数据解析接口中分别定义了:统一文件头解析接口,用于对程序文件中的文件头进行解析;统一文件节解析接口,用于对程序文件中的节进行解析;统一导入表解析接口,用于对程序文件中的导入表进行解析,所述导入表中存储有程序文件需要调用其他模块的接口或系统的接口;统一导出表解析接口,用于对程序文件中的导出表进行解析,所述导出表中存储有程序文件中提供给外部调用的接口;统一重定位表解析接口,用于对程序文件中的重定位表进行解析,所述重定位表中存储有程序文件中的重定位项数据;
统一字符串表格解析接口,用于对程序文件中的字符串表格进行解析;统一资源解析接口,用于对程序文件中的资源数据进行解析。5.根据权利要求1所述通用的程序文件解析方法,其特征在于,所述若解析不正确,则调用所述统一数据...
【专利技术属性】
技术研发人员:周志刚,
申请(专利权)人:武汉斗鱼网络科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。