Kernel32ThreadInitThunkFunction这个全局变量不是在ntdll里面导入的,但是他的值是kernel32.BaseThreadInitThunk函数这是为什么? PE如何知道在加载ntdll时需要加载kernel32.BaseThreadInitThunk?
答案 0 :(得分:0)
Kernel32ThreadInitThunkFunction
是ntdll.dll
内的全局变量。 ntdll.dll
只是单个dll,它最初从内核加载(使用exe)。这个DLL必须没有任何依赖,任何静态导入。在进程初始化ntdll.dll
期间,如果这不是CLR映像,子系统是IMAGE_SUBSYSTEM_WINDOWS_GUI
或IMAGE_SUBSYSTEM_WINDOWS_CUI
- 加载 kernel32.dll ,请查询{{ 1}}函数并将其指针存储在BaseThreadInitThunk
中。它在开始调用dll init例程之前调用它来初始化终端服务器