静态分析KiSystemService

本文详细分析了KiSystemService的实现过程,包括如何切换到内核上下文、处理异常帧、保存用户模式上下文,并调用NT函数。通过对KiSystemService的汇编代码解析,揭示了系统调用的服务流程。
摘要由CSDN通过智能技术生成

  KiSystemService 是INT 2EH 后调用的
2000所有的native api 都使用INT 2EH, xp下 GDC函数 进入内核调用INT 2EH
其他native api 调用KiFastCall

.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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值