I’ve been writing a simple ELF parser program to take an ELF 64bit binary and run it.
My program seems to work on programs written in Assembly, but when trying to run it on a simple C program it doesn’t work.
When running the C program within my ELF parser it should be working fine: the assembly my parser executes matches the assembly of _start. But when I run the C program (outside of my ELF parser) it starts from a different set of assembly instructions (which are also marked as _start on GDB)
I’m confused on whats going on. Doesn’t an executable always start executing from the entry point specified on the ELF?
If needed I can include the C program and the assemblies (of both what my parser executes and what the C program executes)