Windows进程与线程学习笔记(六)—— 线程切换
生活随笔
收集整理的這篇文章主要介紹了
Windows进程与线程学习笔记(六)—— 线程切换
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Windows進程與線程學習筆記(六)—— 線程切換
- 主動切換
- 分析KiSwapContext
- 分析SwapContext
- 分析KiSWapThread
- 總結
- 時鐘中斷切換
- 系統時鐘
- 分析INT 0x30
- 分析HAL.dll
- 異常處理
主動切換
分析KiSwapContext
查看405837處ECX的來源:KiSwapThread
分析SwapContext
分析KiSWapThread
查看交叉引用表,也就是有哪些函數調用了這個函數
再查看其中 KeWaitForSingleObject 的交叉引用
總結
思考:
時鐘中斷切換
中斷一個正在執行的程序的方式:
系統時鐘
執行流程:
分析INT 0x30
ALT+T定位IDT表
KiStartUnexpectedRange 跳到了另一個函數:KiUnexpectedInterruptTail
KiUnexpectedInterruptTail 調用了 HalBeginSystemInterrupt 和 HalEndSystemInterrupt
在導入表中查看這兩個函數來源,都來自HAL.dll
分析HAL.dll
HalBeginSystemInterrupt:
HalEndSystemInterrupt:
KiDispatchInterrupt 又來自 ntoskrnl
最終,KiDispatchInterrupt 調用了 SwapContext
異常處理
總結
以上是生活随笔為你收集整理的Windows进程与线程学习笔记(六)—— 线程切换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: NCTF2019 -- PWN部分wri
- 下一篇: Windows进程与线程学习笔记(七)—