天天看點

常見的反調試的方法

參考:

https://blog.csdn.net/r250414958/article/details/84104089

1. windows提供的api接口:IsDebuggerPresent()

2. 檢測父程序:一般輕按兩下運作的程序的父程序都是explorer.exe,但是如果程序被調試,父程序則是調試器程序,也就是說如果父程序不是explorer.exe,就可以認為有調試器存在。

explorer.exe是Windows程式管理器或者檔案資料總管,它用于管理Windows圖形殼,包括桌面和檔案管理,删除該程式會導緻Windows圖形界面無法使用

3. SeDebugPrivilege權限判斷

預設情況下程序是沒有SeDebugPrivilege權限的,但是當程序通過OD或者xdbg等調試器啟動時,由于調試器本身啟動了SeDebugPrivilege權限,當調試程序被加載時SeDebugPrivilege也就被繼承了。是以我們可以檢測程序的SeDebugPrivilege權限來間接判斷是否存在調試器,而對SeDebugPrivilege權限的判斷可以用能否打開csrss.exe程序來判斷

其他的等待添加。