前言html
該文章主要是講解了常見的應用程序黑客技術基本概念,包括消息鉤取,API鉤取,DLL注入,代碼注入函數
天象獨行操作系統
0X01;消息鉤取線程
原理:在咱們經過鍵盤,鼠標等輸入信息過程當中,Windows會經過鉤鏈(HookChain)來處理這些信息。所謂的鉤鏈本質上是一個列表,包含處理消息的一系列函數的指針列表。這麼來看,所謂的消息鉤取本質上是將惡意進程的指針注入到鉤鏈當中。致使鉤鏈在處理信息的過程當中執行其餘操做。好比:鍵盤記錄器。指針
利用方法:文件user32.dll當中的SetWindowsHookExA()方法。調試
註釋:htm
1;user32.dll是Windows用戶界面相關應用程序接口,用於包括Windows處理,基本用戶界面等特性,如建立窗口和發送消息。blog
2;鉤子(Hook),是Windows消息處理機制的一個平臺,應用程序能夠在上面設置子程以監視指定窗口的某種消息,並且所監視的窗口能夠是其餘進程所建立的。當消息到達後,在目標窗口處理函數以前處理它。鉤子機制容許應用程序截獲處理window消息或特定事件。接口
0X02;API鉤取進程
原理:在操做系統當中存在一個調試進程。他的做用是在程序特定的命令位置設定斷點而且註冊特定的方法。這個時候,當程序運行到斷點位置是會執行以前註冊的方法(回調)。那麼,API鉤取就是在回調方法中注入能夠代碼。
0X03;DLL注入
什麼是DLL???
所謂的DLL即動態連接庫,能夠認爲本質是一個共享的函數方法文件,以便不一樣程序來共享調用運行。
原理:利用特定的動態連接庫DLL插入特定的應用程序。
常見DLL注入的方法有:
1;在註冊表特定位置輸入指定DLL名稱,這個時候在應用程序調用user32.dll文件是,指定的DLL文件就會被加載內存當中。
2;利用鉤取函數來DLL注入。
3;爲運行中的應用程序建立遠程線程以插入DLL。
註釋:
https://www.cnblogs.com/chechen/p/8676226.html DLL動態連接庫
0X04;代碼注入
原理:爲運行中的程序建立遠程線程以插入惡意代碼。