load ELF file into memory

前端 未结 2 568
太阳男子
太阳男子 2021-02-13 15:18

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         


        
2条回答
  •  野趣味
    野趣味 (楼主)
    2021-02-13 16:05

    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.

提交回复
热议问题