Nhưng bạn có thể nhìn thấy trong hình đính kèm, mà trên bù đắp 464 chỉ có số không.
sai: 01
, 20
, 29
, 12
vv là không "chỉ số không" Lần cuối cùng tôi đã kiểm tra.
Tôi giả sử rằng Biểu thuế nhập khẩu bắt đầu từ ngày bù đắp 528
Không, nó không. Vì lý do nào đó, bạn đang mong đợi tìm một bảng nhập khẩu kiểu Microsoft PE
trong tệp ELF. Nó không có ở đó.
An tương đương của bảng nhập trong ELF được chứa trong hai bảng. Một chứa Elf{32,64}_Sym
bản ghi kích thước cố định:
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;
và được chứa trong phần .dynsym
.
Bảng khác được chứa trong phần .dynstr
(trong đó, trong tệp của bạn bắt đầu ở độ lệch 528) và chỉ có các chuỗi (biến kích thước) được phân tách bằng ký tự NUL
.
.st_name
trong bảng đầu tiên đề cập đến độ lệch trong .dynstr
.
Nguồn
2013-06-12 14:12:13
спасибо за ответ. Nhưng trên offset 464 không có bản ghi Elf32_Sym. sh_offset = 464 Tôi nhận được từ tiêu đề của phần .dynsym. Thật kỳ lạ mà sh_size = 64 và trong cùng một thời gian sizeof (Elf32_Sym) = 16. – Qwerty
Tôi vừa mới bắt được một suy nghĩ. Có thể là những 64 byte là 4 hồ sơ (Elf32_Sym)? – Qwerty