Check DT_HASH and DT_GNU_HASH.
https://github.com/upx/upx/issues/235 POC2,POC4 Also cleanup checking of symbol number and .st_name in POC1,POC3,POC5,POC7,POC9,POC11 modified: p_lx_elf.cpp modified: p_lx_elf.h
This commit is contained in:
@@ -163,6 +163,7 @@ protected:
|
||||
virtual upx_uint64_t elf_unsigned_dynamic(unsigned) const;
|
||||
virtual int adjABS(Elf32_Sym *sym, unsigned delta);
|
||||
|
||||
char const *get_str_name(unsigned st_name, unsigned symnum) const;
|
||||
char const *get_dynsym_name(unsigned symnum, unsigned relnum) const;
|
||||
protected:
|
||||
Elf32_Ehdr ehdri; // from input file
|
||||
@@ -298,6 +299,7 @@ protected:
|
||||
virtual upx_uint64_t elf_unsigned_dynamic(unsigned) const;
|
||||
virtual int adjABS(Elf64_Sym *sym, unsigned delta);
|
||||
|
||||
char const *get_str_name(upx_uint64_t st_name, unsigned symnum) const;
|
||||
char const *get_dynsym_name(unsigned symnum, unsigned relnum) const;
|
||||
protected:
|
||||
Elf64_Ehdr ehdri; // from input file
|
||||
|
||||
Reference in New Issue
Block a user