I\'m trying to put an elf file into memory and then execute it, these are the steps:
1- file to put into memory
int main()
{
printf(\"Hello world! \\n
Your problem is that you need to use the correct entry point and you need initialize the program's stack (and maybe registers) the same way the OS would. You need to use the correct entry point so that the C runtime library is initialized, otherwise your call to printf
(or puts
as the case may be) will almost certainly crash. You need to setup the stack correctly because that's where the C runtime library's initialization code will look for the program's arguments and environment (and maybe other things).
You didn't say what operating system you're using, but if your using Linux you might want to look as an answer to different question given by CesarB describing the initial state of the stack on ARM Linux.