将ntdll.Kernel32ThreadInitThunkFunction相关问题

问题描述 投票:-3回答:1

Kernel32ThreadInitThunkFunction这个全局变量不是在ntdll里面导入的,但是他的值是kernel32.BaseThreadInitThunk函数这是为什么? PE如何知道在加载ntdll时需要加载kernel32.BaseThreadInitThunk?

c windows-kernel
1个回答
0
投票

Kernel32ThreadInitThunkFunctionntdll.dll内部的全局变量。 ntdll.dll只是单个dll,它最初从内核加载(使用exe)。这个DLL必须没有任何依赖,任何静态导入。在进程初始化ntdll.dll期间,如果这不是CLR图像,子系统是IMAGE_SUBSYSTEM_WINDOWS_GUIIMAGE_SUBSYSTEM_WINDOWS_CUI - 加载kernel32.dll,查询BaseThreadInitThunk函数并将其存储在Kernel32ThreadInitThunkFunction中。它在开始调用dll init例程之前调用它来初始化终端服务器

© www.soinside.com 2019 - 2024. All rights reserved.