.text:00465651 _KiSystemService proc near ; CODE XREF: ZwAcceptConnectPort(x,x,x,x,x,x)+Cp
.text:00465651 ; ZwAccessCheck(x,x,x,x,x,x,x,x)+Cp ...
.text:00465651
.text:00465651 arg_0 = dword ptr 4
.text:00465651
.text:00465651 push 0
.text:00465653 push ebp
.text:00465654 push ebx
.text:00465655 push esi
.text:00465656 push edi
.text:00465657 push fs
.text:00465659 mov ebx, 30h
.text:0046565E db 66h
.text:0046565E mov fs, bx ; 段选择子为 30H
.text:00465661 push dword ptr ds:0FFDFF000h ; fs:[0]
.text:00465667 mov dword ptr ds:0FFDFF000h, 0FFFFFFFFh
; ExceptionList = FFFFFFFFH
.text:00465671 mov esi, ds:0FFDFF124h
; _KPCR.PrcbData.CurrentThread
.text:00465677 push dword ptr [esi+140h]
.text:0046567D sub esp, 48h
.text:00465680 mov ebx, [esp+68h+arg_0] ; arg_0 = 8
.text:00465684 and ebx, 1

本文详细分析了KiSystemService的实现过程,包括如何切换到内核上下文、处理异常帧、保存用户模式上下文,并调用NT函数。通过对KiSystemService的汇编代码解析,揭示了系统调用的服务流程。
最低0.47元/天 解锁文章
2619

被折叠的 条评论
为什么被折叠?



