我看本站首页那个资源部分第一个文章--Nt vs. Zw - Clearing Confusion... 有些疑问
就是我本机xp sp2,我执行u ntdll!NtReadFile是和文章介绍一样,但执行u SharedUserData!SystemCallStub 这个就不对了,没有看到sysenter 0f34???
0:000> u ntdll!NtReadFile ntdll!ZwReadFile: 7c92e27c b8b7000000 mov eax,0B7h 7c92e281 ba0003fe7f mov edx,offset SharedUserData!SystemCallStub (7ffe0300) 7c92e286 ff12 call dword ptr [edx] 7c92e288 c22400 ret 24h 7c92e28b 90 nop ntdll!NtReadFileScatter: 7c92e28c 90 nop 7c92e28d 90 nop 7c92e28e 90 nop
0:000> u SharedUserData!SystemCallStub SharedUserData!SystemCallStub: 7ffe0300 8beb mov ebp,ebx 7ffe0302 92 xchg eax,edx 7ffe0303 7c94 jl SharedUserData+0x299 (7ffe0299) //就是这里看不懂了,怎么不sysenter? 7ffe0305 eb92 jmp SharedUserData+0x299 (7ffe0299) 7ffe0307 7c00 jl SharedUserData!SystemCallStub+0x9 (7ffe0309) 7ffe0309 0000 add byte ptr [eax],al 7ffe030b 0000 add byte ptr [eax],al 7ffe030d 0000 add byte ptr [eax],al 0:000> u 7ffe0299 SharedUserData+0x299: 7ffe0299 0000 add byte ptr [eax],al 7ffe029b 0000 add byte ptr [eax],al 7ffe029d 0000 add byte ptr [eax],al 7ffe029f 0000 add byte ptr [eax],al 7ffe02a1 0000 add byte ptr [eax],al 7ffe02a3 0000 add byte ptr [eax],al 7ffe02a5 0000 add byte ptr [eax],al 7ffe02a7 0000 add byte ptr [eax],al 0:000> u 7ffe0309 SharedUserData!SystemCallStub+0x9: 7ffe0309 0000 add byte ptr [eax],al 7ffe030b 0000 add byte ptr [eax],al 7ffe030d 0000 add byte ptr [eax],al 7ffe030f 0000 add byte ptr [eax],al 7ffe0311 0000 add byte ptr [eax],al 7ffe0313 0000 add byte ptr [eax],al 7ffe0315 0000 add byte ptr [eax],al 7ffe0317 0000 add byte ptr [eax],al
.......
按两个jl再次u的结果发现也不对啊 最近在出差,张老师那本宝典没有带,那本宝典有一个大的问题,就是太厚,不好带 :) 所以有些疑问可能书上有,但自己没看,所以请哪位高手不吝指点下
|