Windows核心情景分析 學習日誌之一

2021-08-25 02:15:12 字數 651 閱讀 1854

毛德操老師對核心的研究非常透徹,乙個小問題都能講得異常清晰,pfpf。

系統呼叫

一般只有三種手段可以從使用者態進入核心態:

1、中斷(interrupt)

2、異常(exception)

3、自陷(trap)

4、快速系統呼叫(fastsystemcall)pentium 2之後出現

5、呼叫門 x86系列,基本上無人使用

在使用這些進入核心的方法時,同時儲存了使用者態的cpu、棧和引數資訊。

stub即為中介函式,位於應用程式和核心之間,通過自陷或快速系統呼叫進入核心。

比如__declspec(naked) __stdcall

ntreadfile(int dummy0, int dummy1, int dummy2)

__asm

mov eax, 152

mov ecx, kuer_shared_syscall

call[ecx]

ret 9

kuser_shared_syscall 指向使用者空間的乙個位址,0x7ffe0300(也就是系統空間的0xffdf0300),儲存乙個函式指標,在作業系統初始化時,根據cpuid判斷是否支援快速系統呼叫,而使該指標指向kiintsystemcall()或kifastsystemcall()

windows 核心情景分析 說明

說明本文結合 windows核心情景分析 毛德操著 軟體除錯 張銀奎著 windows核心程式設計 寒江獨釣 windows核心安全程式設計 windows pe權威指南 c 反彙編與逆向分析揭秘 以及reactos作業系統 v0.3.12 原始碼,以 windows核心情景分析 為藍本,對wind...

Windows核心情景分析 概述

現在的windows 現在的windows核心包含了兩大部分,一部分是本來意面上的作業系統核心,另一部分則是移到了核心中的視窗服務,前者對應ntoskrnl.exe後者win32k.sys 後者部分為了保證效率。windows作業系統包含多個子系統,最常用就是windows子系統 貌似現在的wind...

《Windows核心情景分析》物件管理

物件的資料結構都是由物件頭和具體物件型別的資料結構兩部分組成。物件頭object header在下,它的上方是具體物件型別的資料結構本身。nt object header 0x000 pointercount int4b 0x004 handlecount int4b 0x004 nexttofre...