From 97bcd5eda7957c38e9a2bca5411d2862a5631e72 Mon Sep 17 00:00:00 2001 From: xamidev Date: Sat, 6 Sep 2025 12:45:47 +0200 Subject: [PATCH] Remove useless data structures to use elf.h --- a.out | Bin 750888 -> 750864 bytes helpelf | Bin 29216 -> 29504 bytes main.c | 158 +++++++++----------------------------------------------- 3 files changed, 25 insertions(+), 133 deletions(-) diff --git a/a.out b/a.out index 79102247ec7e6df0c9a0bae0ba33fcc7ec7b94ca..4ab547bce8c0e39c458f887a685222273568392c 100755 GIT binary patch delta 64379 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 VPRS~dyZih2Zw5apJ}$e#{{fvK8KnRK delta 64442 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 Ti*>Y(e_lO8%EEv4-rDPbZ;ec4 diff --git a/main.c b/main.c index e1b78a2..92d0d60 100644 --- a/main.c +++ b/main.c @@ -32,33 +32,7 @@ #include #include #include - -// Data structures as per ELF specification: -// https://refspecs.linuxfoundation.org/elf/elf.pdf -// Only what we need (no elf.h) - -#define MAX_FILENAME 256 -#define EI_NIDENT 16 -#define MAX_HEADER_LEN 2048 -#define PF_X 1 -#define PT_GNU_STACK 0x6474e551 -#define SHT_DYNSYM 11 -#define SHT_SYMTAB 2 -#define PT_GNU_RELRO 0x6474e552 -#define PT_DYNAMIC 2 -#define DT_BIND_NOW 24 -#define PT_INTERP 3 - -#define Elf32_Half uint16_t -#define Elf32_Word uint32_t -#define Elf32_Sword int32_t -#define Elf32_Addr uint32_t -#define Elf32_Off uint32_t - -#define Elf64_Half uint32_t -#define Elf64_Word uint64_t -#define Elf64_Addr uint64_t -#define Elf64_Off uint64_t +#include bool verbose = false; bool pie = false; @@ -69,100 +43,18 @@ bool bind_now = false; bool stripped = true; bool interp = false; -struct Elf32_Ehdr +int parse_elf_header32(Elf32_Ehdr* header, FILE* fp) { - unsigned char e_ident[EI_NIDENT]; - Elf32_Half e_type; - Elf32_Half e_machine; - Elf32_Word e_version; - Elf32_Addr e_entry; - Elf32_Off e_phoff; - Elf32_Off e_shoff; - Elf32_Word e_flags; - Elf32_Half e_ehsize; - Elf32_Half e_phentsize; - Elf32_Half e_phnum; - Elf32_Half e_shentsize; - Elf32_Half e_shnum; - Elf32_Half e_shstrndx; -}; - -struct Elf32_Phdr -{ - Elf32_Word p_type; - Elf32_Off p_offset; - Elf32_Addr p_vaddr; - Elf32_Addr p_paddr; - Elf32_Word p_filesz; - Elf32_Word p_memsz; - Elf32_Word p_flags; - Elf32_Word p_align; -}; - -struct Elf32_Shdr -{ - Elf32_Word sh_name; - Elf32_Word sh_type; - Elf32_Word sh_flags; - Elf32_Addr sh_addr; - Elf32_Off sh_offset; - Elf32_Word sh_size; - Elf32_Word sh_link; - Elf32_Word sh_info; - Elf32_Word sh_addralign; - Elf32_Word sh_entsize; -}; - -struct Elf32_Sym -{ - Elf32_Word st_name; - Elf32_Addr st_value; - Elf32_Word st_size; - unsigned char st_info; - unsigned char st_other; - Elf32_Half st_shndx; -}; - -struct Elf32_Dyn -{ - Elf32_Sword d_tag; - union - { - Elf32_Word d_val; - Elf32_Addr d_ptr; - } d_un; -} Elf32_Dyn; - -struct Elf64_Ehdr -{ - unsigned char e_ident[EI_NIDENT]; - Elf64_Half e_type; - Elf64_Half e_machine; - Elf64_Word e_version; - Elf64_Addr e_entry; - Elf64_Off e_phoff; - Elf64_Off e_shoff; - Elf64_Word e_flags; - Elf64_Half e_ehsize; - Elf64_Half e_phentsize; - Elf64_Half e_phnum; - Elf64_Half e_shentsize; - Elf64_Half e_shnum; - Elf64_Half e_shstrndx; -}; - -int parse_elf_header32(struct Elf32_Ehdr* header, FILE* fp) -{ - if (!fread(header, sizeof(struct Elf32_Ehdr), 1, fp)) + if (!fread(header, sizeof(Elf32_Ehdr), 1, fp)) { return -EINVAL; } return 0; } -int parse_elf_header64(struct Elf64_Ehdr* header, FILE* fp) +int parse_elf_header64(Elf64_Ehdr* header, FILE* fp) { - if (!fread(header, sizeof(struct Elf64_Ehdr), 1, fp)) + if (!fread(header, sizeof(Elf64_Ehdr), 1, fp)) { return -EINVAL; } @@ -204,18 +96,18 @@ void display_elf_common(unsigned char e_ident[EI_NIDENT]) } } -void check_dynamic32(struct Elf32_Ehdr* header, FILE* fp) +void check_dynamic32(Elf32_Ehdr* header, FILE* fp) { // Is dynamically linked? (has PT_INTERP program header?) // read program headers fseek(fp, header->e_phoff, SEEK_SET); - struct Elf32_Phdr *p_headers = malloc(header->e_phnum * sizeof(struct Elf32_Phdr)); + Elf32_Phdr *p_headers = malloc(header->e_phnum * sizeof(Elf32_Phdr)); if (!p_headers) { puts("Memory allocation error."); exit(-ENOMEM); } - if (!fread(p_headers, sizeof(struct Elf32_Phdr), header->e_phnum, fp)) + if (!fread(p_headers, sizeof(Elf32_Phdr), header->e_phnum, fp)) { puts("Read error."); exit(-EIO); @@ -256,7 +148,7 @@ void check_dynamic32(struct Elf32_Ehdr* header, FILE* fp) } } -void display_elf32(struct Elf32_Ehdr* header, FILE* fp) +void display_elf32(Elf32_Ehdr* header, FILE* fp) { printf("32-bit ELF "); display_elf_common(header->e_ident); @@ -331,7 +223,7 @@ void display_elf32(struct Elf32_Ehdr* header, FILE* fp) } } -void check_sec32(struct Elf32_Ehdr* header, FILE* fp) +void check_sec32(Elf32_Ehdr* header, FILE* fp) { /* NX: * Browse thru program header table (e_phnum items) from e_phoff (program header offset) @@ -340,8 +232,8 @@ void check_sec32(struct Elf32_Ehdr* header, FILE* fp) fseek(fp, header->e_phoff, SEEK_SET); for (size_t i=0; ie_phnum; i++) { - struct Elf32_Phdr p_header; - if (!fread(&p_header, 1, sizeof(struct Elf32_Phdr), fp)) + Elf32_Phdr p_header; + if (!fread(&p_header, 1, sizeof(Elf32_Phdr), fp)) { puts("Read error."); exit(-EIO); @@ -367,20 +259,20 @@ void check_sec32(struct Elf32_Ehdr* header, FILE* fp) fseek(fp, header->e_shoff, SEEK_SET); // Read section headers - struct Elf32_Shdr *s_headers = malloc(header->e_shnum * sizeof(struct Elf32_Shdr)); + Elf32_Shdr *s_headers = malloc(header->e_shnum * sizeof(Elf32_Shdr)); if (!s_headers) { puts("Memory allocation error."); exit(-ENOMEM); } - if (!fread(s_headers, sizeof(struct Elf32_Shdr), header->e_shnum, fp)) + if (!fread(s_headers, sizeof(Elf32_Shdr), header->e_shnum, fp)) { puts("Read error."); exit(-EIO); } // Find section name string table (at e_shstrndx) and read it - struct Elf32_Shdr s_header_str = s_headers[header->e_shstrndx]; + Elf32_Shdr s_header_str = s_headers[header->e_shstrndx]; char* s_header_strtab = malloc(s_header_str.sh_size); if (!s_header_strtab) { @@ -403,7 +295,7 @@ void check_sec32(struct Elf32_Ehdr* header, FILE* fp) { // load symbol table unsigned int nsyms = s_headers[i].sh_size / s_headers[i].sh_entsize; - struct Elf32_Sym *syms = malloc(s_headers[i].sh_size); + Elf32_Sym *syms = malloc(s_headers[i].sh_size); if (!syms) { puts("Memory allocation error."); @@ -417,7 +309,7 @@ void check_sec32(struct Elf32_Ehdr* header, FILE* fp) } // load string table - struct Elf32_Shdr str_header = s_headers[s_headers[i].sh_link]; + Elf32_Shdr str_header = s_headers[s_headers[i].sh_link]; char* strtab = malloc(str_header.sh_size); if (!strtab) { @@ -449,13 +341,13 @@ void check_sec32(struct Elf32_Ehdr* header, FILE* fp) // Read program headers fseek(fp, header->e_phoff, SEEK_SET); - struct Elf32_Phdr *p_headers = malloc(header->e_phnum * sizeof(struct Elf32_Phdr)); + Elf32_Phdr *p_headers = malloc(header->e_phnum * sizeof(Elf32_Phdr)); if (!p_headers) { puts("Memory allocation error."); exit(-ENOMEM); } - if (!fread (p_headers, sizeof(struct Elf32_Phdr), header->e_phnum, fp)) + if (!fread (p_headers, sizeof(Elf32_Phdr), header->e_phnum, fp)) { puts("Read error."); exit(-EIO); @@ -479,15 +371,15 @@ void check_sec32(struct Elf32_Ehdr* header, FILE* fp) if (dyn_off && dyn_size) { - int n = dyn_size / sizeof(struct Elf32_Dyn); - struct Elf32_Dyn *dyns = malloc(dyn_size); + int n = dyn_size / sizeof(Elf32_Dyn); + Elf32_Dyn *dyns = malloc(dyn_size); if (!dyns) { puts("Memory allocation error."); exit(-ENOMEM); } fseek(fp, dyn_off, SEEK_SET); - if (!fread(dyns, sizeof(struct Elf32_Dyn), n, fp)) + if (!fread(dyns, sizeof(Elf32_Dyn), n, fp)) { puts("Read error."); exit(-EIO); @@ -506,7 +398,7 @@ void check_sec32(struct Elf32_Ehdr* header, FILE* fp) } -void display_elf64(struct Elf64_Ehdr* header) +void display_elf64(Elf64_Ehdr* header) { printf("64-bit ELF "); display_elf_common(header->e_ident); @@ -577,7 +469,7 @@ int main(int argc, char* argv[]) switch(elf_obj_size) { case 0x01: - struct Elf32_Ehdr elf32_header = {0}; + Elf32_Ehdr elf32_header = {0}; if (parse_elf_header32(&elf32_header, elf_file)) { puts("Failed to parse 32-bit ELF header"); @@ -587,7 +479,7 @@ int main(int argc, char* argv[]) check_sec32(&elf32_header, elf_file); break; case 0x02: - struct Elf64_Ehdr elf64_header = {0}; + Elf64_Ehdr elf64_header = {0}; if (parse_elf_header64(&elf64_header, elf_file)) { puts("Failed to parse 64-bit ELF header");