Windows初始执行上下文

Nic*_*uet 3 windows x86 assembly loader portable-executable

一旦Windows在内存中加载了可执行文件并将执行转移到入口点,寄存器和堆栈中的值是否有意义?如果是这样,我在哪里可以找到更多有关它的信息?

Igo*_*sky 7

正式地说,PE文件入口点的寄存器没有定义的值.您应该使用API​​,例如GetCommandLine检索所需的信息.但是,由于最终将控制转移到入口点的内核功能与过去相比没有太大变化,因此一些PE打包器和恶意软件开始依赖于它的特性.两个或多或少可靠的寄存器是:

  • EAX指向应用程序的入口点(因为内核函数用于call eax跳转到它)

  • EBX指向流程环境块(PEB).