能力值:
( LV2,RANK:10 )
|
-
-
2 楼
KeServiceDescriptorTable.ntoskrnel.ServiceTableBase(804e3d20) + 0x7A * 4 = 804E3F08,然后804E3F08 ->8057559e
ssdt的ServiceTable是个数组,804E3F08是第0x7a项的地址,8057559e是内容,相当于ServiceTable[0x7a] = 8057559e
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
这个回帖有问题,请看下面的。
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
这个回帖还是有问题,请看下面的。
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
明白了,谢谢2楼朋友
lkd> dd KeServiceDescriptorTable
8055c6e0 80504940 00000000 0000011c 80504db4
8055c6f0 00000000 00000000 00000000 00000000
8055c700 00000000 00000000 00000000 00000000
8055c710 00000000 00000000 00000000 00000000
8055c720 00000002 00002710 bf80c247 00000000
8055c730 847f93e0 f4fbc9e0 83f30d24 806f5040
8055c740 00000000 00000000 ffeced30 ffffffff
8055c750 7376d8f0 01c80235 00000000 00000000
80504940 + 0x7A * 4 = 80504B28
lkd> dd 80504B28
80504b28 805cacfe 805ecfc4 805ecbca 805a9ec2
80504b38 80613ff2 805c487e 805caf8a 805ecfe2
80504b48 805ecd3a 80615f3a 806441dc 805c8dec
80504b58 805f739e 805f2fe6 805f31d2 805b7e52
80504b68 8060dfea 80576d64 806158da 806158da
80504b78 8053fe06 8060fbbc 8061081c 80579cb2
80504b88 805bdf8a 8057a000 8060e0b2 80576e9c
80504b98 80615076 8057a86c 805d54a2 805a4eb8
lkd> u 805cacfe
nt!NtOpenProcess:
805cacfe 68c4000000 push 0C4h
805cad03 68a0b44d80 push offset nt!FsRtlLegalAnsiCharacterArray+0x1ff0 (804db4a0)
805cad08 e8c310f7ff call nt!wctomb+0x45 (8053bdd0)
805cad0d 33f6 xor esi,esi
805cad0f 8975d4 mov dword ptr [ebp-2Ch],esi
805cad12 33c0 xor eax,eax
805cad14 8d7dd8 lea edi,[ebp-28h]
805cad17 ab stos dword ptr es:[edi]
lkd>
而直接反汇编NtOpenProcess得到
lkd> u nt!NtOpenProcess
nt!NtOpenProcess:
805cacfe 68c4000000 push 0C4h
805cad03 68a0b44d80 push offset nt!FsRtlLegalAnsiCharacterArray+0x1ff0 (804db4a0)
805cad08 e8c310f7ff call nt!wctomb+0x45 (8053bdd0)
805cad0d 33f6 xor esi,esi
805cad0f 8975d4 mov dword ptr [ebp-2Ch],esi
805cad12 33c0 xor eax,eax
805cad14 8d7dd8 lea edi,[ebp-28h]
805cad17 ab stos dword ptr es:[edi]
805cacfe这个就是OpenProcess系统服务函数的所在,原来是这样的,呵呵。
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
我晕,不会用论坛的编辑功能,结果把一个回贴弄成这样了,罪过罪过。
|
|
|