Jeh*_*joa 2 winapi winsxs wow64 createfile windows-7-x64
我目前正在用C++编写一些测试代码,这些代码使用PE文件来理解它的文件格式结构.我的项目设置为64位编译.在我的代码中,我打开%SystemRoot%\ system32\calc.exe并读取IMAGE_DOS_HEADER和IMAGE_NT_HEADERS结构.同时我使用十六进制编辑器插件在Notepad ++中打开了相同的calc.exe.我将我的代码读取的值与Notepad ++进行了比较,发现它们不同.我将calc.exe从System32复制到C:\ Temp\calc.exe,现在值匹配.
Notepad ++似乎是一个32位应用程序(尚未检查PE文件,但由于它默认安装到Program Files(x86),所以它似乎是一个安全的假设).
这个WinSxS在起作用吗?或者还有什么导致这个?哪个文件实际上被送到32位应用程序打开%SystemRoot%\ system32\calc.exe?
只是好奇.在此先感谢任何光线.
是的,这是WOW重定向器.你会看到C:\ Windows\SysWOW64中还有一个calc.exe.这是使用%SystemRoot%\ System32\calc.exe路径时打开的文件.
可以使用Wow64DisableWow64FsRedirection临时禁用此文件以访问该文件的64位版本
可以在File System Redirector中找到更多详细信息