好的...所以我想编写一个程序,仅使用 mmap 打印 elf 文件中的所有部分名称(那不重要...)
所以到目前为止我所做的是 - 将文件映射到 stat 结构 = map_start = mmap(0, fd_stat.st_size, PROT_READ | PROT_WRITE , MAP_SHARED, fd, 0)) <0)
从我得到的起点将其转换为写入格式 = header = (Elf32_Ehdr *) map_start;
从文件中获取节头偏移量 = secoff = header->e_shoff;
现在 - 我知道我需要去 map_start+secoff 位置 - 这会给我部分表,而 sh_name 会给我一个字符串表的索引......
我怎么去毒刺桌?它是如何表示的?我该如何使用它?并且是 sh_name 中的值,字符串表中的索引(如果它表示为数组),或偏移量..
无论如何-假设我想打印前两个部分的名称-鉴于我在上面编写的代码帮助,我该怎么做?