跳远时修改的内存

逆向工程 视窗 x86 x86-64 追踪
2021-06-18 04:08:22

观察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映射到内存时修改了?

0个回答
没有发现任何回复~