win32 hook相關模式

2021-07-03 23:18:57 字數 1241 閱讀 5219

以下內容是有關win32  hook技術的乙個總結性內容,屬於內功型知識

觀察模式

最為常用,像windows提供的setwindowhook就是典型地為這類應用準備的。而且這也是最普遍的用法。這個模式的特點是,在事情發生的時候,發出乙個通知資訊。觀察者只可以檢視過程中的資訊,根據自己關心的內容處理自己的業務,但是不可以更改原來的流程。

注入模式

這個模式和觀察模式最大的不一樣的地方在於,注入的**是為了擴充套件原始**的功能業務。外掛程式模式是此類模式的典型案例.不管瘦核心的外掛程式系統(如eclipse)還是胖核心的外掛程式系統(如delphi、visual studio等ide環境),其對外提供的外掛程式介面都是為了擴充套件本身系統的功能的.這種擴充套件的應用方式的典型特點,就是新的擴充套件**和原來的**會協調處理同類業務。

替換模式

如果針對應用目的不同,可以叫修復模式或破解模式。前者是為了修改系統中的bug,後者是為了破解原有系統的限制。很多黑客使用此種模式,將訪問加密鎖的dll中的匯出表,替換成自己的函式,這樣跳過對軟體的控制**。這類應用的難點是,找出函式的引數。這類模式的特點是,原有的**會被新的**所替換。

前面三個是基本模式,還有很多和實際應用相關的模式。

集權模式

此類模式的出現,大都是為了在全部系統中,統一處理某類事情。它的特點不在於注入的方式,而在於處理的模式。這個模式,大都應用到某類服務上,比如鍵盤服務,滑鼠服務,印表機服務等等特定服務上。通過統一接管此類服務的訪問,限制或者協調對服務的訪問。比如鍵盤鎖功能的實現,就是暫時關閉鍵盤的所有應用。這類模式的特點主要會和特點服務有關聯。

修復模式

替換模式的一種,這裡強調的是其應用的目的是為了修復或擴充套件原有系統的功能。

破解模式

替換模式的一種,這裡強調的是其應用的目的是為了跳過原有系統的一部分**。如加密檢測**,網路檢測**等等。

外掛程式模式

注入模式的一種,在系統的內部直接依靠hook機制進行擴充套件業務功能。

共享模式

這類應用中,經常是為了獲取對方的資料。必然我希望獲取對方系統中,所有字串的值。可以通過替換對方的記憶體管理器,匯出所有字串。這個應用比較特殊。不過其特點在於,目的是達到系統之間的資料共享。其實現,可能是觀察模式,也可能是替換模式。

Win32 程序相關的API

開啟程序控制代碼 通過程序id 開啟模組控制代碼 基址 根據程序控制代碼 模組名 獲取模組的檔案全路徑 根據程序控制代碼 模組控制代碼 獲取模組的檔名 根據程序控制代碼 模組控制代碼 獲取模組的映象大小 入口位址 通過程序控制代碼 模組起始位址 讀取程序的記憶體 獲取程序的所有模組的控制代碼 inc...

片段 Win32 模式窗體 訊息路由

近來,有個需求 和乙個外部程式對接。具體是,我這邊 主程式用 process 啟動外部程式。外部程式啟動後,我這邊呼叫的窗體不允許再進行任何操作。當外部程式關閉時,外部程式會向我這邊的主程式 返回結果。1 process process process.start 外部程式.exe 外部程式的引數 ...

win32強化練習4 0 資源相關練習簡介

第4部分,我們對資源進行強化練習!資源簡單的講有abcdimst這幾類,這當然不包括全部,其中 a accelerator 快捷鍵 b bitmap 位圖 c cursor 游標 d dialog 對話方塊 i icon 圖示 m menu 選單 s stringtable 字串表 t 工具欄 我們...