前言
該文章主要是講解了常見的應用程式黑客技術基本概念,包括訊息鉤取,api鉤取,dll注入,**注入
天象獨行
0x01;訊息鉤取
原理:在我們通過鍵盤,滑鼠等輸入資訊過程中,windows會通過鉤鏈(hookchain)來處理這些資訊。所謂的鉤鏈本質上是乙個列表,包含處理訊息的一系列函式的指標列表。這麼來看,所謂的訊息鉤取本質上是將惡意程序的指標注入到鉤鏈當中。導致鉤鏈在處理資訊的過程中執行其他操作。比如:鍵盤記錄器。
利用方法:檔案user32.dll當中的setwindowshookexa()方法。
注釋:1;user32.dll是windows使用者介面相關應用程式介面,用於包括windows處理,基本使用者介面等特性,如建立視窗和傳送訊息。
2;鉤子(hook),是windows訊息處理機制的乙個平台,應用程式可以在上面設定子程以監視指定視窗的某種訊息,而且所監視的視窗可以是其他程序所建立的。當訊息到達後,在目標視窗處理函式之前處理它。鉤子機制允許應用程式截獲處理window訊息或特定事件。
0x02;api鉤取
原理:在作業系統當中存在乙個除錯程序。他的作用是在程式特定的命令位置設定斷點並且註冊特定的方法。這個時候,當程式執行到斷點位置是會執行之前註冊的方法(**)。那麼,api鉤取就是在**方法中注入可以**。
0x03;dll注入
什麼是dll???
所謂的dll即動態鏈結庫,可以認為本質是乙個共享的函式方法檔案,以便不同程式來共享呼叫執行。
常見dll注入的方法有:
1;在登錄檔特定位置輸入指定dll名稱,這個時候在應用程式呼叫user32.dll檔案是,指定的dll檔案就會被載入記憶體當中。
2;利用鉤取函式來dll注入。
3;為執行中的應用程式建立遠端執行緒以插入dll。
注釋: dll動態鏈結庫
0x04;**注入
原理:為執行中的程式建立遠端執行緒以插入惡意**。
關於彙編 0x01記憶體
記憶體,與記憶體條不是乙個概念。在計算機中,每個程序都有自己的4gb記憶體空間,這個4gb的記憶體空間並不是真實的,而是系統分配的虛擬記憶體。虛擬記憶體 物理記憶體 記憶體條等其它硬體裝置 板卡記憶體 物理記憶體是用來跟硬體記憶體互相對映的,跟記憶體條的大小也不是一一對應的。如何通過虛擬記憶體如何找...
招聘程式設計題0x01
python3 coding utf 8 題目描述 請設計乙個高效演算法,再給定的字串陣列中,找到包含 coder 的字串 不區分大小寫 並將其作為乙個新的陣列返回。結果字串的順序按照 coder 出現的次數遞減排列,若兩個串中 coder 出現的次數相同,則保持他們在原陣列中的位置關係。給定乙個字...
C語言雜記 0x01
ascii碼中 字元a是97,字元b是98,計算 a 1這個表示式,應該按照ascii碼把 a 當做證書值97,然後加1,得到98,然後printf把98這個整數值當做ascii碼來列印,列印出相應字元b 我們稱整型為 int 型,現在我們知道 char 型別本質上也是整數,只不過比 int 型別的...