From f2cf13b4209c7952e63eb107f07e841c2da24fdd Mon Sep 17 00:00:00 2001 From: xamidev Date: Sat, 6 Sep 2025 12:40:00 +0200 Subject: [PATCH] Security --- a.out | Bin 750916 -> 750888 bytes helpelf | Bin 29192 -> 29216 bytes main.c | 123 ++++++++++++++++++++++++++++++++++++++++++++++---------- 3 files changed, 101 insertions(+), 22 deletions(-) diff --git a/a.out b/a.out index 829193dfab0eb4461a07e353c590f96dfacb95b2..79102247ec7e6df0c9a0bae0ba33fcc7ec7b94ca 100755 GIT binary patch delta 98117 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 diff --git a/helpelf b/helpelf index 3dec206c58f80ec1d8de92e103f2bf9392a9beb8..c64aa806a11b72ecf40536717a14b0334455fbfd 100755 GIT binary patch delta 7027 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

sWmvVnvWX-s|IBW4%*9lnW-57P z#^4X0#Y7AbYwp5n>-Pnyon`@qP@LaX`z=F^(=429it}2vG9K{DOzVVQc9tk#!F-iz zG&-_PAYXjP$VPO1SzR2EX@M67^;0 zQprHX!YwHMNLCQ4BgJJ)9**WRU$@Ih){pv%v%Z?Lk7OB?U2)b_E6)Qup9Pl-^FfC) z5hYp3taKtM&W>t@xG&O6pg3C`%GaSrW9ur=G>AfW>u0t0cmveVk3zN-=EYgUx#-ZaQ&yDb8kxVndMMv)~#*waF1d6NKUJO3$x}D^941nY9 zVSRpuD8`v3_!ZzFNAY!tmNl1wzHmG-FQ0mCDpng7p<_Oe$ zE+HH}XZ1#kS|(j^Z_VcIiz(oPDJ!;q&}CH$WW{X4VijFQ77UX`DaDrge-+_0Af)s#L5@SqXs z#tpRNX7aZD7NaV^t$Jz4_>zLW*+aim{>Me zf;mSGy`+YtXUI{Lwb^Ql=xWE*L`gQt%9>O)3>`LEwNTTldMN=-JYjmBw@n&gBa)vHuBuTgEKsxe2^p82(!Bmz}bs1X#QNVQUPQ4Lf=O36D_t5f4H zszWuWDz~Z`+V9mt7geiPp*|%K4^qQR)v!ydTncVTQi@z(Q7-dbzUtX%Ui$3V96`U8 z=-U8^)I@i<_JNv>?w}$y1fdcsRFDW|C{<&CLu1yy-a2E@fU>54A(r@Comedq8-`hI zRsFQxeDRDTP5BZ${j}5k{ES?KHd{N^7GIdAw9PEq!+aJmeSY!s1uNHO3~Bpe_8i69 z67oi+?UKlCZtAY5n+jnd6@&&Wx zJyHDhf)DYFiEk#+*<827ZMXi(8&<;ML2+<~1qf*GAr`$qHnqLH_=4;?&xNIpGVhSpwrfjwEAlQgf2Azd zr#Vh{z&sr-n;_p;xV$3O@-P3a;A2*#1+E*aV|!b(-1f?fYMCwIY;~r0(p24gijRSG z*FBGO_{)$c(@!isAMnoAnas$4Ts>NK&4Yq3RD*bad9rsh{qDkJ=P#FMdaqurOWS#8 Jxxkkv{XhG*!{Yz| diff --git a/main.c b/main.c index fa9f6d3..e1b78a2 100644 --- a/main.c +++ b/main.c @@ -172,7 +172,11 @@ int parse_elf_header64(struct Elf64_Ehdr* header, FILE* fp) int read_elf_magic(FILE* fp) { char buf[5] = {0}; - fread(buf, 1, 4, fp); + if (!fread(buf, 1, 4, fp)) + { + puts("Read error."); + exit(-EIO); + } if (memcmp(buf, "\177ELF", 4) == 0) return 1; return 0; } @@ -206,7 +210,16 @@ void check_dynamic32(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)); - fread(p_headers, sizeof(struct Elf32_Phdr), header->e_phnum, fp); + if (!p_headers) + { + puts("Memory allocation error."); + exit(-ENOMEM); + } + if (!fread(p_headers, sizeof(struct Elf32_Phdr), header->e_phnum, fp)) + { + puts("Read error."); + exit(-EIO); + } const char* interpstr = NULL; @@ -218,8 +231,17 @@ void check_dynamic32(struct Elf32_Ehdr* header, FILE* fp) // Get interpreter path interpstr = malloc(p_headers[i].p_filesz); + if (!interpstr) + { + puts("Memory allocation error."); + exit(-ENOMEM); + } fseek(fp, p_headers[i].p_offset, SEEK_SET); - fread((char*)interpstr, 1, p_headers[i].p_filesz, fp); + if (!fread((char*)interpstr, 1, p_headers[i].p_filesz, fp)) + { + puts("Read error."); + exit(-EIO); + } break; } } @@ -305,15 +327,10 @@ void display_elf32(struct Elf32_Ehdr* header, FILE* fp) if (verbose) { - check_dynamic32(header, fp); + check_dynamic32(header, fp); } } -void check_nx32(struct Elf32_Ehdr* header, FILE* fp) -{ - -} - void check_sec32(struct Elf32_Ehdr* header, FILE* fp) { /* NX: @@ -324,7 +341,11 @@ void check_sec32(struct Elf32_Ehdr* header, FILE* fp) for (size_t i=0; ie_phnum; i++) { struct Elf32_Phdr p_header; - fread (&p_header, 1, sizeof(struct Elf32_Phdr), fp); + if (!fread(&p_header, 1, sizeof(struct Elf32_Phdr), fp)) + { + puts("Read error."); + exit(-EIO); + } if (p_header.p_type == PT_GNU_STACK) { if (p_header.p_flags & PF_X) @@ -347,13 +368,31 @@ void check_sec32(struct Elf32_Ehdr* header, FILE* fp) // Read section headers struct Elf32_Shdr *s_headers = malloc(header->e_shnum * sizeof(struct Elf32_Shdr)); - fread(s_headers, sizeof(struct Elf32_Shdr), header->e_shnum, fp); + if (!s_headers) + { + puts("Memory allocation error."); + exit(-ENOMEM); + } + if (!fread(s_headers, sizeof(struct 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]; char* s_header_strtab = malloc(s_header_str.sh_size); + if (!s_header_strtab) + { + puts("Memory allocation error."); + exit(-ENOMEM); + } fseek(fp, s_header_str.sh_offset, SEEK_SET); - fread(s_header_strtab, 1, s_header_str.sh_size, fp); + if (!fread(s_header_strtab, 1, s_header_str.sh_size, fp)) + { + puts("Read error."); + exit(-EIO); + } for (size_t i=0; ie_shnum; i++) { @@ -365,14 +404,32 @@ 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); + if (!syms) + { + puts("Memory allocation error."); + exit(-EIO); + } fseek(fp, s_headers[i].sh_offset, SEEK_SET); - fread(syms, s_headers[i].sh_size, 1, fp); + if (!fread(syms, s_headers[i].sh_size, 1, fp)) + { + puts("Read error."); + exit(-EIO); + } // load string table struct Elf32_Shdr str_header = s_headers[s_headers[i].sh_link]; char* strtab = malloc(str_header.sh_size); + if (!strtab) + { + puts("Memory allocation error."); + exit(-ENOMEM); + } fseek(fp, str_header.sh_offset, SEEK_SET); - fread(strtab, 1, str_header.sh_size, fp); + if (!fread(strtab, 1, str_header.sh_size, fp)) + { + puts("Read error."); + exit(-EIO); + } // iterate through symbols, check for __stack_chk_fail for (size_t j=0; je_phoff, SEEK_SET); struct Elf32_Phdr *p_headers = malloc(header->e_phnum * sizeof(struct Elf32_Phdr)); - fread (p_headers, sizeof(struct Elf32_Phdr), header->e_phnum, fp); + if (!p_headers) + { + puts("Memory allocation error."); + exit(-ENOMEM); + } + if (!fread (p_headers, sizeof(struct Elf32_Phdr), header->e_phnum, fp)) + { + puts("Read error."); + exit(-EIO); + } Elf32_Off dyn_off = 0; Elf32_Word dyn_size = 0; @@ -415,8 +481,17 @@ void check_sec32(struct Elf32_Ehdr* header, FILE* fp) { int n = dyn_size / sizeof(struct Elf32_Dyn); struct Elf32_Dyn *dyns = malloc(dyn_size); + if (!dyns) + { + puts("Memory allocation error."); + exit(-ENOMEM); + } fseek(fp, dyn_off, SEEK_SET); - fread(dyns, sizeof(struct Elf32_Dyn), n, fp); + if (!fread(dyns, sizeof(struct Elf32_Dyn), n, fp)) + { + puts("Read error."); + exit(-EIO); + } for (int i=0; i