原创 EPT的開啓與處理
Windows內核分析索引目錄:https://www.cnblogs.com/onetrainee/p/11675224.html EPT的開啓與處理 1. EPT的概念 EPT(Extend Page Table)擴展頁表機制,可以
原创 模塊、進程、線程回調函數的逆向
Windows內核分析索引目錄:https://www.cnblogs.com/onetrainee/p/11675224.html 模塊、進程、線程回調函數的逆向 關於這些回調函數的用法,網上很多,msdn也有定義,所以就不過多寫代碼;
原创 VT MSR、CR、 Exception、#PF
Windows內核分析索引目錄:https://www.cnblogs.com/onetrainee/p/11675224.html VT MSR、CR、 Exception、#PF 1. MSR寄存器讀寫攔截 ① 開啓虛擬機控制字
原创 VT MTF VM-Exit
Windows內核分析索引目錄:https://www.cnblogs.com/onetrainee/p/11675224.html VT MTF VM-Exit MTF全程是 Monitor Trap flag,其在 VM-execut
原创 異常與中斷
1. CPU存在三種異常:Fault、Trap、Abort 其中,Fault異常,在處理之後,繼續回到該條指令來運行;但是Trap異常在處理之後,會繞過該條指令,到下一條指令來運行。 Fault中典型的就是#PF(頁異常),當發現缺
原创 VT技術對於除零異常的攔截與派發到3號中斷
Windows內核分析索引目錄:https://www.cnblogs.com/onetrainee/p/11675224.html VT技術對於除零異常的攔截與派發到3號中斷 1. 異常的攔截與處理 ①異常的攔截 VMCS域中
原创 KVM_SET_SREGS 64位設置錯誤
KVM_SET_SREGS 64位設置錯誤 KVM中如果通過 KVM_SET_SREGS 開啓64位(段描述符l位置1時),可能會出現無效參數的錯誤。 出現這個的原因是 kvm_sregs.efer 沒設置值,來開啓64位,關於I
原创 SYSRET
SYSRET指令與SYSCALL指令是一對。它從OS System-call 例程返回到三環的用戶代碼。從RCX中加載IRP,之後從R11中加載RLFAGS。如果是64位操作數的大小,SYSRET仍然保持在64位模式;否則,它進入兼容模
原创 SYSCALL
SYSCALL在0環權限下調用一個OS系統調用的處理例程。它通過加載來自 IA32_LSTR MSR 來加載 RIP(之後保存syscall下一條指令的地址在rcx中)。(WRMSR指令確保 IA32_LSTAR MSR 總是包含一個合
原创 Python進程池中實現進度條顯示
Python進程池中實現進度條顯示 今天使用進程池爬蟲,爬的網頁太多,想通過進度條來顯示出來,但是發現並沒有想象的那麼簡單。 Python中多進程使用Queue來數據共享,進程池使用Manager().Queue()來實現數據共享,
原创 wchar,char,string,wstring互轉
wchar,char,string,wstring互轉 std::wstring temp = std::wstring(me32.szModule); // wchar -> string impBlock.dllName = s
原创 鍵盤過濾
《Windows內核安全與驅動開發》閱讀筆記 -- 索引目錄 鍵盤過濾 1.如何綁定需要過濾的設備 鍵盤在底層存在一個驅動,即 \Driver\kbdclass,我們通過ObReferenceObjectByName這個非公開函數來獲取
原创 Vmware中Linux 虛擬機與Windows物理機建立共享文件夾
Vmware中Linux 虛擬機與Windows物理機建立共享文件夾 1. 下載 Vmware Tools ,注意其高版本已經更新爲open-vm-tools,如果使用共享文件需要下載別的,這裏直接下載舊版本的Vmware Tool
原创 遍歷某一進程模塊
#include <iostream> #include <Windows.h> #include <TlHelp32.h> #include <locale.h> using namespace std; // 遍歷系統的進程模塊
原创 第六章 內核機制
第六章 內核機制 這章我們討論Windows內核提供的各種機制。這些中的一部分對驅動開發者有直接的用處。其他的是一些驅動開發者需要理解的機制,這將幫你調試和大體理解系統的活動。 在這章中: 中斷請求等級 延遲調用過程(DPC) 同步