1.一种检测elf文件的方法,其特征在于,所述方法包括:
获取包含目标存储空间的第一elf文件,所述目标存储空间中存储有第一校验信息;
将所述目标存储空间中存储的第一校验信息替换为默认值,以生成第二elf文件;
生成所述第二elf文件的第二校验信息;
根据所述第一校验信息和所述第二校验信息校验所述第一elf文件的完整性。
2.根据权利要求1所述的方法,其特征在于,所述将所述目标存储空间中的第一校验信息替换为默认值,以生成第二elf文件,包括:
解析所述第一elf文件的文件结构,以获取所述第一elf文件的节头表的偏移量、节头表中的项数和节头字符串表,所述节头表包括所述节头字符串表;
根据所述第一elf文件的节头表的偏移量遍历所述第一elf文件的节头表中的节,以在所述第一elf文件的节头字符串表中确定所述目标存储空间;
将所述目标存储空间存储中的第一校验信息修改为所述默认值,以生成所述第二elf文件。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
当所述第一elf文件完整时,将所述目标存储空间中的所述默认值修改为所述第一校验信息,以将所述第二elf文件恢复为所述第一elf文件;
当所述第一elf文件不完整时,删除所述第二elf文件并退出程序。
4.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
在运行所述第一elf文件后,通过所述第一elf文件进行自检,以重新校验所述第一elf文件的完整性。
5.根据权利要求4所述的方法,其特征在于,所述通过所述第一elf文件进行自检,包括:
对所述第一elf文件进行拷贝以生成第三elf文件;
通过运行中的所述第一elf文件对所述第三elf文件进行解析,以获取所述第三elf文件的节头表的偏移量、节头表中的项数和节头字符串表;
根据所述第三elf文件的节头表的偏移量,通过运行中的所述第一elf文件遍历所述第三elf文件的节头表中的节,以获取所述第三elf文件的目标存储空间以及所述第三elf文件的目标存储空间中存储的第三校验信息;
将所述第三校验信息修改为所述第三elf文件的默认值,以生成第四elf文件;
通过运行中的所述第一elf文件生成所述第四elf文件的第四校验信息;
通过运行中的所述第一elf文件比对所述第三校验信息和所述第四校验信息,如果所述第三校验信息和所述第四校验信息相同,则确定所述第一elf文件完整,否则,确定所述第一elf文件不完整。
6.根据权利要求5所述的方法,所述确定所述第一elf文件完整之后还包括:
删除所述第三elf文件。
7.一种生成elf文件的方法,其特征在于,所述方法包括:
生成包含目标存储空间的第二elf文件,其中,所述目标存储空间存储有默认值;
生成所述第二elf文件的第一校验信息;
将所述第一校验信息写入所述目标存储空间并替换掉所述默认值,以生成第一elf文件。
8.根据权利要求7所述的方法,其特征在于,所述将所述第一校验信息写入所述目标存储空间并替换掉所述默认值,以生成第一elf文件,包括:
解析所述第二elf文件的文件结构,以获取所述第二elf文件的节头表的偏移量、节头表中的项数和节头字符串表,所述节头表包括所述节头字符串表;
根据所述第二elf文件的节头表的偏移量遍历所述第二elf文件的节头表中的节,以在所述第二elf文件的节头字符串表中找到所述目标存储空间;
将所述第一校验信息写入所述目标存储空间并替换掉所述目标存储空间中的所述默认值,以生成所述第一elf文件。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至8中任一项所述的方法。
10.一种非易失性计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,当所述计算机可执行指令被电子设备执行时,使所述电子设备执行权利要求1至8中任一项所述的方法。