观察Wow64在Windows 7上切换的痕迹,下面的情况让我一头雾水
...
0x77491dbe 64 ff 15 c0 00 00 00 call fs:[0xc0] ; syswow64\ntdll.dll
0x74632320 ea 1e 27 63 74 33 00 jmp far 0x33:0x7463271e ; system32\wow64cpu.dll
0x7463271e 67 44 8b 04 24 mov r8d, [esp] ; system32\wow64cpu.dll
...
第一条指令与X86SwitchTo64BitMode类似,第二条指令是切换回 64 位模式。所以wow64cpu.dll实际上已经映射到两个不同的代码段:cs = 23用于兼容模式(第二条指令)和cs = 33用于 64 位模式(第三条指令)。
但是我jmp far...在相应的 dll 中找不到第二条指令 ( )。还有ea 1e 27 b6 78...的0x74632320,不ea 1e 27 64...作为跟踪观察到。
被wow64cpu.dll映射到内存时被修改了?