我正在尝试使用elf信息来获取文件的大小,以检查文件是否未被截断。
我现在正在做的是使用lseek(fd, 0, SEEK_END)
将文件的大小与(all sections + elf->e_ehsize + (elf->e_phnum * elf->e_phentsize) + (elf->e_shnum * elf->e_shentsize))
的大小进行比较,但这似乎不正确。你们有没有想过如何知道精灵文件是否被截断?
编辑:我只允许使用glibc
答案 0 :(得分:1)
我现在正在将文件的大小...与
(all sections + elf->e_ehsize + (elf->e_phnum * elf->e_phentsize) + (elf->e_shnum * elf->e_shentsize))
的大小进行比较,但这看起来并不正确。
您可能忽略了部分对齐。除了sh_offset
之外,您还需要注意sh_size
。