標籤:
我們要先看看微軟官方的著名HOOK庫:
Detours Professional 3.0
售價:US$9,999.95
功能列表:
Detours 3.0 includes the following new features over Detours 2.x:
-
Support for 64-bit code on x64 and IA64 processors (Professional Edition only).
-
Support for all Windows processors (Professional Edition only).
-
Removed requirement for including detoured.dll in processes.
-
Compatibility improvements for detouring APIs used by managed-code (MSIL) programs, especially on x64 processors.
-
Addition of APIs to enumerate PE binary Imports and to determine the module referenced by a function pointer.
從上面我們可以看到 功能著實強大啊,對64位以及64相關進程甚至全部WINDOWS進程均可以HOOK,基本上可以稱之為牛逼庫。
實際上使用過免費版的知道,基本上Detours還能分析PE結構,匯入表和匯出表修改等。
本次我要介紹的是像我這種窮人屌絲才能用得起的,EASYHOOK。
我們來看看EASYHOOK的介紹:
EasyHook的口號:
EasyHook Continuing Detours
我們可以理解為它就是Detours的替代品,用於替代那些買不起昂貴微軟產品的屌絲們。
OK我們再來看看它的強大:
-
首先他支援C#語言(此處已超越Detours),擁有C# Wapper
-
與Detours的收費版本一致的是,支援全部類型的進程
-
完美支援64位進程以及目標
-
已經持續更新很久,並且擁有強大的支援。
-
著名遊戲引擎UNREAL在使用該系統,雖然我沒注意過在哪裡使用過。
-
支援託管以及非託管層級的代碼調用以及HOOK
-
開放全部源碼,可以學習修改,提取甚至靜態編譯
-
超級簡單的注入遠程DLL至對方進程,這點比Detours要簡單的多。
-
強大的介面文檔,這個寫的非常詳細了
-
驅動級選項,認真讀文檔會知道他可以選擇性的使用驅動程式來提升本身的許可權
-
擁有強大的API可以檢測到目標進程或系統進程是否為64位
-
注入時可針對64位和32位做不同的介面
缺點是 有C++的介面,只是需要提煉和編譯一下,研究成本明顯略高。
官方首頁:http://easyhook.codeplex.com/
丟棄昂貴的Detours Professional 3.0,使用免費強大的EasyHook