能力值:
( LV2,RANK:10 )
|
-
-
3 楼
恩, 我也不是很懂,我直接IDA看的。
.text:004067D1 _KiSystemService proc near
.text:004067D1
.text:004067D1 push 0
.text:004067D3 push ebp
.text:004067D4 push ebx
.text:004067D5 push esi
.text:004067D6 push edi
.text:004067D7 push fs
.text:004067D9 mov ebx, 30h
.text:004067DE mov fs, bx
.text:004067E0 push large dword ptr fs:0
.text:004067E7 mov large dword ptr fs:0, 0FFFFFFFFh
.text:004067F2 mov esi, large fs:124h
.text:004067F9 push dword ptr [esi+140h]
.text:004067FF sub esp, 48h
.text:00406802 mov ebx, [esp+68h+arg_0]
.text:00406806 and ebx, 1
.text:00406809 mov [esi+140h], bl
.text:0040680F mov ebp, esp
.text:00406811 mov ebx, [esi+134h]
.text:00406817 mov [ebp+3Ch], ebx
.text:0040681A mov [esi+134h], ebp
.text:00406820 cld
.text:00406821 mov ebx, [ebp+60h]
.text:00406824 mov edi, [ebp+68h]
.text:00406827 mov [ebp+0Ch], edx
.text:0040682A mov dword ptr [ebp+8], 0BADB0D00h
.text:00406831 mov [ebp+0], ebx
.text:00406834 mov [ebp+4], edi
.text:00406837 test byte ptr [esi+2Ch], 0FFh
.text:0040683B jnz Dr_kss_a
.text:0040683B
.text:00406841
.text:00406841 loc_406841: ; CODE XREF: Dr_kss_a+10j
.text:00406841 ; Dr_kss_a+7Cj
.text:00406841 sti
.text:00406842 jmp loc_406932
.text:00406842
.text:00406847 ; ---------------------------------------------------------------------------
.text:00406847
.text:00406847 _KiFastCallEntry2: ; DATA XREF: V86_kit1_a:loc_4075E1o
.text:00406847 mov ecx, 30h
.text:0040684C mov fs, cx
.text:0040684E mov ecx, 23h
.text:00406853 mov ds, cx
.text:00406855 mov es, cx
.text:00406857 mov ecx, large fs:40h
.text:0040685E mov esp, [ecx+4]
.text:00406861 push 23h
.text:00406863 push edx
.text:00406864 pushf
.text:00406865 or byte ptr [esp+1], 1
.text:0040686A jmp short loc_4068BA
.text:0040686A
.text:0040686C ; ---------------------------------------------------------------------------
.text:0040686C
.text:0040686C loc_40686C: ; CODE XREF: _KiSystemService+BFj
.text:0040686C ; _KiSystemService+130j
.text:0040686C mov ecx, large fs:40h
.text:00406873 mov esp, [ecx+4]
.text:00406876 push 0
.text:00406878 push 0
.text:0040687A push 0
.text:0040687C push 0
.text:0040687E push 23h
.text:00406880 push 0
.text:00406882 push 20202h
.text:00406887 push 1Bh
.text:00406889 push 0
.text:0040688B jmp _KiTrap06
.text:0040688B
.text:00406890 ; ---------------------------------------------------------------------------
.text:00406890 jmp short loc_40686C
.text:00406890
.text:00406892 ; ---------------------------------------------------------------------------
.text:00406892 lea esp, [esp+0]
.text:00406899 lea ebx, [ebx+0]
.text:00406899
.text:0040689F
.text:0040689F _KiFastCallEntry: ; DATA XREF: V86_kit1_a+99o
.text:0040689F ; KiLoadFastSyscallMachineSpecificRegisters(x)+24o
.text:0040689F mov ecx, 23h
.text:004068A4 push 30h
.text:004068A6 pop fs
.text:004068A8 mov ds, cx
.text:004068AA mov es, cx
.text:004068AC mov ecx, large fs:40h
.text:004068B3 mov esp, [ecx+4]
.text:004068B6 push 23h
.text:004068B8 push edx
.text:004068B9 pushf
.text:004068B9
.text:004068BA
.text:004068BA loc_4068BA: ; CODE XREF: _KiSystemService+99j
.text:004068BA push 2
.text:004068BC add edx, 8
.text:004068BF popf
.text:004068C0 or byte ptr [esp+1], 2
.text:004068C5 push 1Bh
.text:004068C7 push dword ptr ds:0FFDF0304h
.text:004068CD push 0
.text:004068CF push ebp
.text:004068D0 push ebx
.text:004068D1 push esi
.text:004068D2 push edi
.text:004068D3 mov ebx, large fs:1Ch
.text:004068DA push 3Bh
.text:004068DC mov esi, [ebx+124h]
.text:004068E2 push dword ptr [ebx]
.text:004068E4 mov dword ptr [ebx], 0FFFFFFFFh
.text:004068EA mov ebp, [esi+18h]
.text:004068ED push 1
.text:004068EF sub esp, 48h
.text:004068F2 sub ebp, 29Ch
.text:004068F8 mov byte ptr [esi+140h], 1
.text:004068FF cmp ebp, esp
.text:00406901 jnz loc_40686C
.text:00406901
.text:00406907 and dword ptr [ebp+2Ch], 0
.text:0040690B test byte ptr [esi+2Ch], 0FFh
.text:0040690F mov [esi+134h], ebp
.text:00406915 jnz Dr_FastCallDrSave
.text:00406915
.text:0040691B
.text:0040691B loc_40691B: ; CODE XREF: Dr_FastCallDrSave+10j
.text:0040691B ; Dr_FastCallDrSave+7Cj
.text:0040691B mov ebx, [ebp+60h]
.text:0040691E mov edi, [ebp+68h]
.text:00406921 mov [ebp+0Ch], edx
.text:00406924 mov dword ptr [ebp+8], 0BADB0D00h
.text:0040692B mov [ebp+0], ebx
.text:0040692E mov [ebp+4], edi
.text:00406931 sti
.text:00406931
.text:00406932
.text:00406932 loc_406932: ; CODE XREF: _KiBBTUnexpectedRange+18j
.text:00406932 ; _KiSystemService+71j
.text:00406932 mov edi, eax
.text:00406934 shr edi, 8
.text:00406937 and edi, 30h
.text:0040693A mov ecx, edi
.text:0040693C add edi, [esi+0E0h]
.text:00406942 mov ebx, eax
.text:00406944 and eax, 0FFFh
.text:00406949 cmp eax, [edi+8]
.text:0040694C jnb _KiBBTUnexpectedRange
.text:0040694C
.text:00406952 cmp ecx, 10h
.text:00406955 jnz short loc_406972
.text:00406955
.text:00406957 mov ecx, large fs:18h
.text:0040695E xor ebx, ebx
.text:0040695E
.text:00406960
.text:00406960 loc_406960: ; DATA XREF: Dr_kite_a+1C0o
.text:00406960 or ebx, [ecx+0F70h]
.text:00406966 jz short loc_406972
.text:00406966
.text:00406968 push edx
.text:00406969 push eax
.text:0040696A call ds:_KeGdiFlushUserBatch
.text:00406970 pop eax
.text:00406971 pop edx
.text:00406971
.text:00406972
.text:00406972 loc_406972: ; CODE XREF: _KiSystemService+184j
.text:00406972 ; _KiSystemService+195j
.text:00406972 inc large dword ptr fs:638h
.text:00406979 mov esi, edx
.text:0040697B mov ebx, [edi+0Ch]
.text:0040697E xor ecx, ecx
.text:00406980 mov cl, [eax+ebx]
.text:00406983 mov edi, [edi]
.text:00406985 mov ebx, [edi+eax*4] =================>取SSDT
.text:00406988 sub esp, ecx
.text:0040698A shr ecx, 2
.text:0040698D mov edi, esp
.text:0040698F cmp esi, ds:_MmUserProbeAddress
.text:00406995 jnb loc_406B43
.text:00406995
.text:0040699B
.text:0040699B loc_40699B: ; CODE XREF: _KiSystemService+376j
.text:0040699B ; DATA XREF: Dr_kite_a+1B6o
.text:0040699B rep movsd
.text:0040699D call ebx =================>系统调用
.text:0040699D
如果有贴错,请各位大侠指正。
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
text:004067D1 _KiSystemService proc near ===>int 2e
...
text:00406847 _KiFastCallEntry2:
...
text:0040689F _KiFastCallEntry: ===>Sysenter
...
text:00406985 mov ebx, [edi+eax*4]
...
text:0040699D call ebx
Isaiah 是这个FastCall吗?
|