如果我們了解系統呼叫表有關知識,也已知道如何攔截系統呼叫表中的函式,那麼下面,我們再來了解一下我們要鉤取的函式:目標函式。這方面,如果我們不僅了解系統呼叫表中有哪些函式,還知道這些函式的工作機制就最好了。但實際上,ntdll.dll 中的匯出函式有好幾百個,別說乙個乙個的**,就是把它們都列出來,看著看著頭都大了。幸運的是,我們不必了解每個函式,只要了解其所在的系列就行了。為什麼這麼說?因為微軟已經按照函式的功能對ntdll.dll的匯出函式進行了分組,並冠以意義明確的字首,所以根據函式系列的字首就能明白它們的大體功能了。下面對這些函式系列進行簡單的介紹:
1.kietw系列:本系列核心函式用於系統核心,這些函式只能從核心的內部進行呼叫,常用的有:kiusercallbackdispatcher、kiraiseuserexceptiondispatcher、kiuserapcdispatcher、kiuserexceptiondispatcher等。
2.csr系列:此系列函式用於客戶機和伺服器執行時,如果您想攔截客戶機/伺服器方面的操作,那麼就需要對csr系列核心函式做進一步的了解。常見的有:csrclientcallserver、csrcapturemessagebuffer、csrconnectclienttoserver和crsnewthread等。
3.ldr系列:本系列核心函式用於引導程式管理器,如果你打算攔截引導程式的話,那麼請進一步考察這組以ldr為字首的函式,常用的有:ldrinitializethunk、ldrlockloaderlock、ldrunlockloaderlock、ldrgetdllhandle、ldrgetprocedureaddress等。
4.dbg系列:本系列核心函式用於除錯管理,如果打算攔截除錯操作的話,那麼請進一步考察這組以dbg為字首的函式,常用的函式包括:、dbgbreakpoint、dbguserbreakpoint、dbgprint和dbguiconnecttodbg等。
5.etw系列:本系列核心函式用於追蹤視窗事件,如果你打算攔截追蹤之類的操作的話,那麼請進一步考察這組以etw為字首的函式。常用的函式包括:etwtraceevent、etwenabletrace、etwgettraceenablelevel和etwgettraceenableflags等。
6.rtl系列:本系列核心函式用於執行時庫,以rtl為字首的函式可以完成多種操作,例如字串、執行緒、資源、臨界區、安全物件的初始化和使用,記憶體、程序異常和資料型別的處理,還用於完成定時器、堆、ipv4和ipv6方面的操作,以及壓縮和解壓縮等。
7.pfx系列:本系列核心函式用於ansi字串操作,如果你打算攔截asni串表方面的操作的話,就需要進一步了解這些函式。常用的包括:pfxinitialize、pfxremoveprefix、pfxinsertprefix、pfxfindprefix等。
8.zw系列:本系列核心函式用於檔案和登錄檔方面的操作,比如檔案操作、登錄檔操作、訪問程序、事件操作、令牌操作、程序操作和埠操作等。
這裡介紹的只是核心函式中的一部分,限於篇幅其他部分在此不作介紹。
linux核心cdev init系列函式
核心中每個字元裝置都對應乙個 cdev 結構的變數,下面是它的定義 linux 2.6.22 include linux cdev.h 基本相同 struct cdev 乙個 cdev 一般它有兩種定義初始化方式 靜態的和動態的。靜態記憶體定義初始化 struct cdev my cdev cdev...
linux核心init系列函式
核心中每個字元裝置都對應乙個 cdev 結構的變數,下面是它的定義 linux 2.6.22 include linux cdev.h struct cdev 乙個 cdev 一般它有兩種定義初始化方式 靜態的和動態的。靜態記憶體定義初始化 struct cdev my cdev cdev init...
android 核心系列
編譯 1,需要jre1.6,64bit的機器。2,錯誤 this attribute must be localized 提示了錯誤 this attribute must be localized 這種問題一般情況是因為在res xml資料夾下的中 或者在res layout下的檔案中出現了沒有多...