eliben / pyelftools

Parsing ELF and DWARF in Python

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Is it possible to have the size of an ELF file on disk

LafLaurine opened this issue · comments

Hi,
I was wondering if it's possible to have the size of an ELF file on the disk, based on the information in its header ?
If I understood well, e_shoff + (e_shentsize * e_shnum) is not always equal to the size on the disk.
Thanks!

commented

Randomly saw this issue at the top of my feed- I'm wondering what you intend to use this for. I ask because for certain use-cases, exposing this as a calculated value based on abstracted header values could be a bit dangerous if not very carefully and clearly documented

I'm thinking specifically of cases involving forensic analysis, where malware could take advantage of this behavior to fool analysis logic

I'm not associated with the pyelftools project, so feel free to ignore my question- I'm just curious :)

The OP's reference to e_shoff + (e_shentsize * e_shnum) is misguided. That just calculates
the size of the section headers in total. Referring to those section headers
one gets more relevant data but one has to be aware of the Elf ABI rules. For example
SHT_NOBITS sh_type has no bits at all though it may have a large sh_size.
All this is well documented on the web.