我在字符串表中找到了“.dynsym”,得到了索引。然后我找到了 sh_name = index && sh_type = SHT_DYNSYM 的部分。所以我得到了 sh_offset = 464 和 sh_size = 64。但是你可以在附图中看到,在偏移量 464 上只有零。
我想导入表从偏移量 528 开始。问题是:如何计算它 %)
我在字符串表中找到了“.dynsym”,得到了索引。然后我找到了 sh_name = index && sh_type = SHT_DYNSYM 的部分。所以我得到了 sh_offset = 464 和 sh_size = 64。但是你可以在附图中看到,在偏移量 464 上只有零。
我想导入表从偏移量 528 开始。问题是:如何计算它 %)
但是您可以在附图中看到,偏移量 464 上只有零。
错误:01
, 20
,29
等12
在我上次检查时不是“仅零”。
我想导入表从偏移量 528 开始
不,不是的。出于某种原因,您希望PE
在 ELF 文件中找到 Microsoft 样式的导入表。它不在那里。
ELF 中的导入表的等效项包含在两个表中。一个包含Elf{32,64}_Sym
固定大小的记录:
typedef struct
{
Elf32_Word st_name; /* Symbol name (string tbl index) */
Elf32_Addr st_value; /* Symbol value */
Elf32_Word st_size; /* Symbol size */
unsigned char st_info; /* Symbol type and binding */
unsigned char st_other; /* Symbol visibility */
Elf32_Section st_shndx; /* Section index */
} Elf32_Sym;
并包含在该.dynsym
部分中。
另一个表包含在.dynstr
节中(在您的文件中,该节从偏移量 528 开始),并且仅包含由NUL
字符分隔的(可变大小)字符串。
第.st_name
一个表中的 是指 中的偏移量.dynstr
。