【发布时间】:2013-05-11 14:05:13
【问题描述】:
好吧,这很奇怪。这是我第一次看到这样一行代码。 基本上,一旦您从程序的 PE 标头中指定了偏移量(地址),这就会调用应用程序的入口点。
如您所知 - 我最近一直在尝试编写自己的 PE 加载程序。我仍然是一个初学者并试图理解结构 - 但该函数调用究竟是什么意思?
((void(*)(void))EntryPoint)();
//where 0x4484502 is gotten from:
PIMAGE_NT_HEADERS nt_header;
DWORD EntryPoint = nt_header->OptionalHeader.ImageBase + nt_header->OptionalHeader.AddressOfEntryPoint;
((void(*)(void))0x4484502)();
【问题讨论】:
标签: pointers memory void portable-executable entry-point