• <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>

            悲情土仔一生

              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
              14 隨筆 :: 0 文章 :: 74 評論 :: 0 Trackbacks

            編程制作管理員登陸報警器

            作者:Tuuzed(土仔)    
            版權聲明:可以任意轉載,轉載時請務必以超鏈接形式標明文章原始出處和作者信息及本聲明
            http://www.shnenglu.com/tuuzed/archive/2008/03/16/44656.html



                    某日,你“偶然”登陸到了一臺服務器上,在確認管理員不在后,開始在服務器上做起一些見不得人的事來。但,這時的你一定不是“心定定”,你或許是在想:萬一這時有用戶登陸進來怎么辦?如果有什么程序能在有用戶登陸進來時提醒一下,那該多好。

                    “自己動手,豐衣足食”的時候又來了。搞個思路吧:WIN32系統離不開消息,有人登陸應該會給個消息;得到消息了,判斷是什么人登陸;根據登陸用戶的權限做出反應。

                     用戶登陸系統給什么消息?查MSDN,系統會在用戶登陸或斷開時發出WM_WTSSESSION_CHANGE的消息,通過它附帶的參數,可以判斷出是登陸或是斷開。其中WTS_CONSOLE_CONNECT、WTS_REMOTE_CONNECT、WTS_SESSION_LOGON十分有用。

                    如何通過消息判斷登陸用戶是誰?還是在WM_WTSSESSION_CHANGE消息中,帶有另一個參數:登陸者的session ID。將session ID傳入API函數WTSQuerySessionInformation中可以查詢到User Name。

                    如何判斷用戶權限?獲取的User Name傳入API函數NetUserGetInfo中,利用帶出的USER_INFO_1結構中的usri1_priv得到權限標識。

                    下面是利用C++Builder做demo的核心代碼:

                    首先在Form建立時加入語句:WTSRegisterSessionNotification(frmMain->Handle, NOTIFY_FOR_ALL_SESSIONS),告訴系統有Session消息時通知Form。記住要傳入的是主Form的Handle,而不是Application的Handle(BCB用戶應該知道區別)。

                    然后在.H中重載void __fastcall WndProc(Messages::TMessage &Message);在.CPP中實現它:

             1void __fastcall TfrmMain::WndProc(Messages::TMessage &Message)
             2{
             3    if (Message.Msg==WM_WTSSESSION_CHANGE)
             4    {
             5        switch (Message.WParam)
             6        {
             7            case WTS_CONSOLE_CONNECT:
             8                //控制臺登陸,報警。
             9                break;
            10            case WTS_CONSOLE_DISCONNECT:
            11                break;
            12            case WTS_REMOTE_CONNECT:
            13                //有遠程連接,報警。
            14                break;
            15            case WTS_REMOTE_DISCONNECT:
            16                break;
            17            case WTS_SESSION_LOGON:
            18                //用戶登陸了,報警。
            19                break;
            20            case WTS_SESSION_LOGOFF:
            21                break;
            22            case WTS_SESSION_LOCK:
            23               break;
            24            case WTS_SESSION_UNLOCK:
            25                 break;
            26            default:
            27                //unknown
            28        }

            29    }

            30}
             

             

                     在C++ Builder編制程序的時候,一定要在#include <vcl.h>前先定義#define _WIN32_WINNT 0x0501,要不是的話編譯時會提示找不到WM_WTSSESSION_CHANGE定義(具體原因是在winuser.h中,_WIN32_WINNT必須是大于 0x0501系統才定義了WM_WTSSESSION_CHANGE)。最后,在程序退出前,要告訴系統不要再發消息過來了:WTSUnRegisterSessionNotification

                    程序做出來后,我給它起名:Hacker RUN! 中文名:黑客快跑。

            posted on 2008-03-16 23:56 土仔 閱讀(2711) 評論(3)  編輯 收藏 引用 所屬分類: 土仔黑客

            評論

            # re: 編程制作管理員登陸報警器 2008-03-17 09:58 GouGou
            C++Builder真的很好用嗎???  回復  更多評論
              

            # re: 編程制作管理員登陸報警器 2008-03-17 10:23 鑄鑄平板
            寫的是什么呀,看不太懂  回復  更多評論
              

            # re: 編程制作管理員登陸報警器 2008-06-09 03:21 黃軍輝
            http://hookbase.com/design/List_194.html  回復  更多評論
              

            久久人人爽人人人人片av| 国内精品久久久久伊人av| 国产精品gz久久久| 亚洲国产精品成人AV无码久久综合影院| 久久精品国产精品亚洲人人| 综合久久久久久中文字幕亚洲国产国产综合一区首 | 日日狠狠久久偷偷色综合96蜜桃 | 色综合久久中文字幕综合网| 伊人久久大香线蕉av一区| 久久综合狠狠综合久久激情 | 一级做a爰片久久毛片毛片| 色婷婷综合久久久中文字幕| 青青青国产精品国产精品久久久久| 亚洲欧美成人久久综合中文网| 国产精品岛国久久久久| 国产精品久久久久免费a∨| 91精品国产91热久久久久福利| 亚洲国产一成人久久精品| 午夜精品久久久久久影视riav| 99热精品久久只有精品| 国产精品久久久久国产A级| 久久精品国产2020| 亚洲v国产v天堂a无码久久| 国产亚洲成人久久| 97超级碰碰碰碰久久久久| 久久99热只有频精品8| 精品综合久久久久久97| 国产精品一区二区久久精品涩爱| 久久久精品人妻无码专区不卡| 色综合久久最新中文字幕| 国内精品久久久久久99蜜桃| 久久精品人成免费| 久久久一本精品99久久精品66| 伊人久久综合精品无码AV专区| 久久天天躁狠狠躁夜夜2020| 久久五月精品中文字幕| 久久人妻少妇嫩草AV蜜桃| 人妻丰满?V无码久久不卡| 色8激情欧美成人久久综合电| 人妻系列无码专区久久五月天| 久久久久久A亚洲欧洲AV冫|