kosword
驱动牛犊
驱动牛犊
  • 注册日期2007-01-17
  • 最后登录2009-01-09
  • 粉丝1
  • 关注0
  • 积分2分
  • 威望11点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2910回复:2

谁获取过shadow table ?win32k.sys

楼主#
更多 发布于:2009-01-09 11:15
ruti
dengkeng
驱动牛犊
驱动牛犊
  • 注册日期2004-02-19
  • 最后登录2010-06-14
  • 粉丝0
  • 关注0
  • 积分12分
  • 威望70点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2009-01-29 22:23
.text:00016E0A Get_KeServiceDescriptorTableShadow proc near
.text:00016E0A                                         ; CODE XREF: Init_KeServiceDescriptorTableShadow_Info+19p
.text:00016E0A                                         ; Init_KeServiceDescriptorTableShadow_Info+2Dp
.text:00016E0A
.text:00016E0A arg_0           = dword ptr  8
.text:00016E0A
.text:00016E0A                 mov     edi, edi
.text:00016E0C                 push    ebp
.text:00016E0D                 mov     ebp, esp
.text:00016E0F                 mov     eax, ds:KeAddSystemServiceTable
.text:00016E14                 mov     ecx, [ebp+arg_0] ; kd> u KeAddSystemServiceTable l10
.text:00016E14                                         ; nt!KeAddSystemServiceTable:
.text:00016E14                                         ; 804c3a16 55              push    ebp
.text:00016E14                                         ; 804c3a17 8bec            mov     ebp,esp
.text:00016E14                                         ; 804c3a19 837d1803        cmp     dword ptr [ebp+18h],3
.text:00016E14                                         ; 804c3a1d 56              push    esi
.text:00016E14                                         ; 804c3a1e 57              push    edi
.text:00016E14                                         ; 804c3a1f 7760            ja      nt!KeAddSystemServiceTable+0x6b (804c3a81)
.text:00016E14                                         ; 804c3a21 8b4518          mov     eax,dword ptr [ebp+18h]
.text:00016E14                                         ; 804c3a24 c1e004          shl     eax,4
.text:00016E14                                         ; 804c3a27 83b82008488000  cmp     dword ptr nt!KeServiceDescriptorTable (80480820)[eax],0
.text:00016E14                                         ; 804c3a2e 7551            jne     nt!KeAddSystemServiceTable+0x6b (804c3a81)
.text:00016E14                                         ; 804c3a30 83b86009488000  cmp     dword ptr nt!KeServiceDescriptorTableShadow (80480960)[eax],0
.text:00016E14                                         ; 804c3a37 8d8860094880    lea     ecx,nt!KeServiceDescriptorTableShadow (80480960)[eax]
.text:00016E14                                         ; 804c3a3d 7542            jne     nt!KeAddSystemServiceTable+0x6b (804c3a81)
.text:00016E14                                         ; 804c3a3f 8b5508          mov     edx,dword ptr [ebp+8]
.text:00016E14                                         ; 804c3a42 8b7510          mov     esi,dword ptr [ebp+10h]
.text:00016E14                                         ; 804c3a45 8b7d14          mov
.text:00016E17                 push    ebx
.text:00016E18                 mov     ebx, [eax+ecx]  ; KeServiceDescriptorTableShadow
.text:00016E1B                 mov     eax, ds:KeServiceDescriptorTable
.text:00016E20                 lea     ecx, [eax-40000h]
.text:00016E26                 cmp     ecx, ebx
.text:00016E28                 ja      short loc_16E61
.text:00016E2A                 add     eax, 40000h
.text:00016E2F                 cmp     eax, ebx
.text:00016E31                 jb      short loc_16E61
.text:00016E33                 push    ebx             ; VirtualAddress
.text:00016E34                 call    ds:MmIsAddressValid
.text:00016E3A                 cmp     al, 1
.text:00016E3C                 jnz     short loc_16E61
.text:00016E3E                 mov     edx, ds:KeServiceDescriptorTable
.text:00016E44                 push    esi
.text:00016E45                 push    edi
.text:00016E46                 push    4
.text:00016E48                 pop     ecx
.text:00016E49                 mov     edi, edx
.text:00016E4B                 mov     esi, ebx
.text:00016E4D                 xor     eax, eax
.text:00016E4F                 repe cmpsd
.text:00016E51                 pop     edi
.text:00016E52                 pop     esi
.text:00016E53                 jnz     short loc_16E61
.text:00016E55                 mov     eax, ebx
.text:00016E57                 sub     eax, edx
.text:00016E59                 neg     eax
.text:00016E5B                 sbb     eax, eax
.text:00016E5D                 and     eax, ebx
.text:00016E5F                 jmp     short loc_16E63
.text:00016E61 ; ---------------------------------------------------------------------------
.text:00016E61
.text:00016E61 loc_16E61:                              ; CODE XREF: Get_KeServiceDescriptorTableShadow+1Ej
.text:00016E61                                         ; Get_KeServiceDescriptorTableShadow+27j ...
.text:00016E61                 xor     eax, eax
.text:00016E63
.text:00016E63 loc_16E63:                              ; CODE XREF: Get_KeServiceDescriptorTableShadow+55j
.text:00016E63                 pop     ebx
.text:00016E64                 pop     ebp
.text:00016E65                 retn    4
.text:00016E65 Get_KeServiceDescriptorTableShadow endp


每个系统的不一样,一个传入的是0x1C,另外一个是0x1A
sysXboy
驱动牛犊
驱动牛犊
  • 注册日期2009-06-22
  • 最后登录2010-02-07
  • 粉丝0
  • 关注0
  • 积分14分
  • 威望131点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2009-06-22 22:52
lkd> x nt!keserviced*
8055d6c0 nt!KeServiceDescriptorTableShadow = <no type information>
8055d700 nt!KeServiceDescriptorTable = <no type information>
lkd> dd 8055d700
8055d700  80505460 00000000 0000011c 805058d4
8055d710  00000000 00000000 00000000 00000000
8055d720  00000000 00000000 00000000 00000000
8055d730  00000000 00000000 00000000 00000000
8055d740  00000002 00002710 bf80c339 00000000
8055d750  b9c8ea80 b9f0c4a0 88ae7f9c 806f70c0
8055d760  00000000 00000000 ffeced30 ffffffff
8055d770  bdbeb870 01c9f33c 00000000 00000000
lkd> dd 80505460
80505460  805a5614 805f1ae8 805f531e 805f1b1a
80505470  805f5358 805f1b50 805f539c 805f53e0
80505480  806163cc 8061710e 805ecee6 805ecb3e
80505490  805d5b46 805d5af6 806169f2 805b6f7e
805054a0  8061600e 805a9a9e 805b1596 805d760a
805054b0  8050289c 80617100 80577ae6 80539be2
805054c0  8060f5dc 805bd4f8 805f5858 80624380
805054d0  805f9d68 805a5d02 806245d4 805a55b4
lkd> uf 805a5614
nt!NtAcceptConnectPort:
805a5614 689c000000      push    9Ch
805a5619 6850ab4d80      push    offset nt!_real+0x118 (804dab50)
805a561e e86d75f9ff      call    nt!_SEH_prolog (8053cb90)
805a5623 64a124010000    mov     eax,dword ptr fs:[00000124h]
805a5629 8a8040010000    mov     al,byte ptr [eax+140h]
805a562f 884590          mov     byte ptr [ebp-70h],al
805a5632 84c0            test    al,al
805a5634 0f84b9010000    je      nt!NtAcceptConnectPort+0x1df (805a57f3)


xp sp3
游客

返回顶部