我试图通过访问sh_nameelf文件的成员来获取部分名称的正确偏移量,但它一直给我零或null ...
我应该只使用mmap()和elf.h- 没有辅助功能
所以我做了:
void* map_start = mmap(0, fd_stat.st_size, PROT_READ | PROT_WRITE , MAP_SHARED, fd, 0))
header = (Elf32_Ehdr *) map_start;
secoff = header->e_shoff;
section = (Elf32_Shdr *)(map_start + secoff);
Run Code Online (Sandbox Code Playgroud)
但是当我这样做时:
printf("name offset = %d\n", (section->sh_name));
Run Code Online (Sandbox Code Playgroud)
它一直给我0 ...我做错了什么?