當前位置:編程學習大全網 - 網站源碼 - 求助NtReadvirtualMemory 函數源碼

求助NtReadvirtualMemory 函數源碼

這種問題妳在問問上問不會有很好的結果的,我簡單給妳說說思路和原理 NtReadVirtualMemory這個函數在RING3下由NTDLL.DLL導出,對應的系統服務函數地址保存在SSDT裏。不知道妳問的是應用層還是內核層,我分別和妳說壹下。 RING3下可以編寫DLL註入每個進程,然後在每個進程內修改系統動態鏈接庫的導出表,即IAT HOOK。要想得到原始函數地址,首先要打開磁盤上的NTDLL.DLL文件,解析該文件的導出表(EAT),根據NTDLL.DLL的內存基址以及磁盤文件裏記錄的RVA手動計算出NtReadVirtualMemory函數地址。 RING0下直接修改SSDT表即可掛鉤NtReadVirtualMemory系統服務,要想獲取SSDT裏各例程的原始地址,同樣需要自己解析磁盤文件(ntoskrnl.exe)。關於SSDT HOOK的內容網上很多,我在看雪找到了壹個不錯的貼妳可以參考下:

很早以前用VB6寫過壹個ring3下檢測EAT HOOK/IAT HOOK的程序,不過只在XP下測試過,而且現在很少人用VB6了,這份代碼可能對妳沒有什麽參考價值,如果有需要的話可以去我的博客找找代碼naylon.0ginr.com

  • 上一篇:高壹物理
  • 下一篇:通達信復制過去文華財經,提示第五行非法逗號,可能漏掉了函數,麻煩各位能幫忙看下什麽問題嗎,謝謝le
  • copyright 2024編程學習大全網