WOW64: Windows On Windows64
是一种在64位OS中支持运行的32位应用程序的机制.
64位Windows中, 64位应用程序会加载64位的kernel32.dll, ntdll.dll, 32位应用程序会加载32位的kernel32.dll, ntdll.dll. WOW64则会将32位的dll文件的API请求重定向到64位的dll文件.
注意内核模式都是64位的, 32位是通过WOW64转换到64位运行.
64应用程序调用GetSystemDirectory() API查找系统文件夹, 返回System32文件夹. 32位应用程序调用GetSystemDirectory() API, 正常来说是返回SysWOW64文件夹, 但是WOW64在中间截获查找结果修改为System32文件夹(相当于重定位), 所以还是返回System32文件夹.
注意64位系统下System32文件夹包含的是64位系统文件. 向下兼容32位的是SysWOW64文件夹.