32 typedef unsigned long int Elf32_Addr;
33 typedef unsigned short int Elf32_Half;
34 typedef unsigned long int Elf32_Off;
35 typedef signed long int Elf32_Sword;
36 typedef unsigned long int Elf32_Word;
47 unsigned char e_ident[EI_NIDENT];
69 #define ELFCLASSNONE 0
88 #define ET_LOPROC 0xff00
89 #define ET_HIPROC 0xffff
113 #define SHN_LORESERVE 0xff00
114 #define SHN_LOPROC 0xff00
115 #define SHN_HIPROC 0xff1f
116 #define SHN_ABS 0xfff1
117 #define SHN_COMMON 0xfff2
118 #define SHN_HIRESERVE 0xffff
139 #define PT_LOPROC 0x7000000
140 #define PT_HIPROC 0x7FFFFFF
168 #define SHT_PROGBITS 1
173 #define SHT_DYNAMIC 6
178 #define SHT_DYNSYM 11
179 #define SHT_LOPROC 0x70000000
180 #define SHT_HIPROC 0x7fffffff
181 #define SHT_LOUSER 0x80000000
182 #define SHT_HIUSER 0x8fffffff
187 #define SHF_EXECINSTR 4
188 #define SHF_MASKPROC 0xf0000000
208 #define ELF32_ST_BIND(i) ((i)>>4)
209 #define ELF32_ST_TYPE(i) ((i)&0xf)
210 #define ELF32_ST_INFO(b,t) (((b)<<4)+((t)&0xf))
216 #define STB_LOPROC 13
217 #define STB_HIPROC 15
223 #define STT_SECTION 3
225 #define STT_LOPROC 13
226 #define STT_HIPROC 15
246 #define ELF32_R_SYM(i) ((i)>>8)
247 #define ELF32_R_TYPE(i) ((unsigned char)(i))
248 #define ELF32_R_INFO(s,t) (((s)<<8)+(unsigned char)(t))
254 #define R_386_GOT32 3
255 #define R_386_PLT32 4
257 #define R_386_GLOB_DAT 6
258 #define R_386_JMP_SLOT 7
259 #define R_386_RELATIVE 8
260 #define R_386_GOTOFF 9
261 #define R_386_GOTPC 10
284 char* symbol_string_table;
Elf32_Addr p_paddr
Definition: elf.h:124
Elf32_Word sh_flags
Definition: elf.h:156
Elf32_Off e_shoff
Definition: elf.h:53
Elf32_Word e_version
Definition: elf.h:50
Elf32_Sym * find_symbol(Elf32_File *file, const char *symbol)
Trouve un symbole dans un fichier.
Definition: elf.c:236
Elf32_Word e_flags
Definition: elf.h:54
Elf32_Addr st_value
Definition: elf.h:198
Elf32_Half e_type
Definition: elf.h:48
unsigned long int elf_size(int fd)
Calcul la taille que prendra l'exécutable dans la mémoire La fonction évalue l'adresse de départ en m...
Definition: elf.c:78
Elf32_Half e_shnum
Definition: elf.h:59
Elf32_Word sh_link
Definition: elf.h:160
Structure qui caractérise un binaire elf.
Definition: elf.h:272
Elf32_Half e_phentsize
Definition: elf.h:56
char * name
Definition: elf.h:273
Elf32_Word sh_addralign
Definition: elf.h:162
Elf32_Word sh_info
Definition: elf.h:161
Elf32_Word sh_size
Definition: elf.h:159
int load_section_header(Elf32_Shdr *section_header, Elf32_Ehdr *elf_header, int index, int fd)
charge un section header depuis un fichier elf Charge le section header n°index depuis le fichier ...
Elf32_Addr sh_addr
Definition: elf.h:157
Elf32_Word p_memsz
Definition: elf.h:126
Elf32_Word p_align
Definition: elf.h:128
Elf32_Half e_shstrndx
Definition: elf.h:60
Elf32_Addr p_vaddr
Definition: elf.h:123
Elf32_Word p_filesz
Definition: elf.h:125
Elf32_Word sh_entsize
Definition: elf.h:163
int load_elf(int fd, void *dest)
charge un fichier elf Charge les données utiles de l'exécutable en mémoire, de façon à ce que ce soit...
Definition: elf.c:108
unsigned char st_other
Definition: elf.h:201
Elf32_Off e_phoff
Definition: elf.h:52
Elf32_Addr e_entry
Definition: elf.h:51
Elf32_Word sh_name
Definition: elf.h:154
int load_efl_header(Elf32_Ehdr *elf_header, int fd)
charge le header principal d'un fichier elf
Elf32_Word st_name
Definition: elf.h:197
Elf32_Half e_shentsize
Definition: elf.h:58
Elf32_Word p_type
Definition: elf.h:121
int load_program_header(Elf32_Phdr *program_header, Elf32_Ehdr *elf_header, int index, int fd)
charge un program header depuis un fichier elf Charge le program header n°index depuis le fichier ...
Definition: elf.c:66
void elf_info(char *name)
Affiche des information sur le fichier elf.
Elf32_Half st_shndx
Definition: elf.h:202
Elf32_Off p_offset
Definition: elf.h:122
Elf32_File * load_elf_file(int fd)
charge un fichier elf dans la structure Elf32_File
Definition: elf.c:150
Elf32_Half e_phnum
Definition: elf.h:57
Elf32_Word sh_type
Definition: elf.h:155
Elf32_Half e_machine
Definition: elf.h:49
Elf32_Half e_ehsize
Definition: elf.h:55
Elf32_Off sh_offset
Definition: elf.h:158
Elf32_Word p_flags
Definition: elf.h:127
unsigned char st_info
Definition: elf.h:200