古典黑客技術之HOOK API

2021-07-05 04:27:08 字數 1441 閱讀 4279

hook api技術可以攔截、控制某些api函式的呼叫。當乙個api函式被攔截之後,使用者可以讓目標程式執行事先準備好的**。(比如說,構造的**是過濾此api函式傳入的引數的,而此api函式又是用來獲取程序的,當此api被攔截之後,我們就可以讓它轉去執行過濾引數的**。)

hook api其實是對遠端程序記憶體資料的修改,可以通過修改匯入表中的匯入函式位址表來實現api hook,而程序記憶體資料又是檔案在記憶體中以某種規則建立的映像。

pe(portable executable)意味著此檔案格式是跨win32平台的。即使windows執行在非intel的cpu上,任何win32平台的pe裝載器都可以識別和使用該檔案格式。

這兩天一直在忙其他的事情,今天終於可以接著寫下去了。

先上一段完整的**舉個栗子吧,注釋已經寫得很清楚了,希望有興趣的童鞋可以一行一行認真看完,肯定會有收穫的。

#include "stdafx.h"

#include

using namespace std;

unsigned

long* lpaddr;

proc oldproc;

int apihook(char *dllname,proc oldfunaddr,proc newfunaddr);

bool apientry dllmain( hmodule hmodule,

dword ul_reason_for_call,

lpvoid lpreserved

)return

true;

}bool _stdcall myterminateprocess(handle hprocess, uint uexitcode)

int apihook(char *dllname, //dll檔名

proc oldfunaddr, //需要hook的函式位址

proc newfunaddr //構造的函式位址

)pimportdesc++;

}//定位到firstthunk引數指向的image_thunk_data,此時這個結構已經是函式入口點位址了

image_thunk_data* pthunk = (image_thunk_data*)((byte*)lpbase + pimportdesc->firstthunk);

//遍歷這部分iat表

while(pthunk->u1.function)

pthunk++;

}return

0;}

把這個cpp編譯成dll注入到應用程式裡,任務管理器就殺不掉他啦~

我等下就去寫注入的**,一定不會犯拖延症的!!!

未完待續哦~

黑客技術提高

流行與常用的工具包括legion,enum,smbgrind,ntscan.國內比較流行xscan 遠端桌面 3389 埠常用猜解tsgrinder,brutik,fast rdp brute,dubrute ms sql 1433埠 1434 埠 使用sqlbf,auto sql cain and...

php的安全(黑客技術)

1.字串操作 1 對於輸入的字串來說,某些字元肯定是有效的。但是對於我們黑客來說,就是要往裡面輸入一些具有特殊功能的字元。但是php為了防止使用者輸入的資料具有某個功能,提供了轉義字串函式。這些轉義字串函式將字串轉義就是在她們前面加上乙個反斜槓。例如,雙引號 就邊成了 反斜槓雙引號 反斜槓 就變成了...

黑客技術文章(序)

縱觀人類歷史,你會感嘆馬克思哲學所說的歷史唯物主義,更加感嘆中華上古典籍 易經 所謂 久則變,變則通,通則久 的迴圈。我習慣用極端的手法來比喻或者說明問題,甚至會帶有色情和暴力的比喻,因為我發現當我這樣表達時,我的徒弟或者聽眾記憶最深刻 且最活躍。戰爭,是人類活動最極端的行為,我們就拿 戰爭 說事。...