示例#1
0
文件: WIP.cs 项目: windrobin/kumpro
 public static WIP Show(Control parent) {
     WIP o = new WIP();
     o.Location = Point.Empty;
     o.Size = parent.ClientSize;
     o.Parent = parent;
     o.Show();
     o.BringToFront();
     o.Update();
     parent.Update();
     return o;
 }
示例#2
0
文件: WIP.cs 项目: windrobin/kumpro
        public static WIP Show(Control parent)
        {
            WIP o = new WIP();

            o.Location = Point.Empty;
            o.Size     = parent.ClientSize;
            o.Parent   = parent;
            o.Show();
            o.BringToFront();
            o.Update();
            parent.Update();
            return(o);
        }
示例#3
0
        private void bLoadfrmSeclog_Click(object sender, EventArgs e)
        {
            using (WIP wip = WIP.Show(this)) {
                dt.Rows.Clear();

                EventLog ev    = new EventLog("Security");
                XEv      ev680 = null;
                foreach (EventLogEntry ent in ev.Entries)
                {
                    if (ent.Source != "Security" || ent.EntryType != EventLogEntryType.SuccessAudit)
                    {
                        continue;
                    }
                    int id = ((int)ent.InstanceId) & 0x3fffffff;
                    if (id == 564)
                    {
                        //削除されたオブジェクト:
                        //    オブジェクト サーバー:	Security Account Manager [0]
                        //    ハンドル ID:	1429160 [1]
                        //    プロセス ID:	1248 [2]
                        //    イメージ ファイル名:	C:\WINDOWS\system32\lsass.exe [3]

                        Ds.DTDelRow row = dt.NewDTDelRow();
                        row.日時          = ent.TimeGenerated;
                        row.オブジェクト      = "";
                        row.クライアントアカウント = "";
                        row.一次アカウント     = "";
                        row.Message     = new XEv(ent).Message;

                        XEv evObjHandle;
                        if (dictObjHandle.TryGetValue(ent.ReplacementStrings[1], out evObjHandle))
                        {
                            row.オブジェクト   = evObjHandle.ObjectName;
                            row.Message += "\r\n---\r\n" + (evObjHandle.Message);

                            XLogon evLogonId;
                            if (dictLogonId.TryGetValue(evObjHandle.ClientLogonId, out evLogonId))
                            {
                                row.クライアントアカウント = evLogonId.Account;
                                row.Message    += "\r\n---\r\n" + (evLogonId.Message);
                            }
                            if (dictLogonId.TryGetValue(evObjHandle.PrimaryLogonId, out evLogonId))
                            {
                                row.一次アカウント  = evLogonId.Account;
                                row.Message += "\r\n---\r\n" + (evLogonId.Message);
                            }
                        }

                        dt.AddDTDelRow(row);
                    }
                    else if (id == 680)   // アカウント ログオン
                    //ログオン試行者: MICROSOFT_AUTHENTICATION_PACKAGE_V1_0 [0]
                    //ログオン アカウント:  KU [1]
                    //ソース ワークステーション: DD11 [2]
                    // エラー コード: 0x0 [3]
                    {
                        ev680 = new XEv(ent);
                    }
                    else if (id == 576)
                    {
                        //新しいログオンへの特権の割り当て:
                        //    ユーザー名:	[0]
                        //    ドメイン:		[1]
                        //    ログオン ID:		(0x0,0x595A70) [2]
                        //    特権:		SeChangeNotifyPrivilege [3]
                        dictLogonId[ent.ReplacementStrings[2]] = new XLogon(
                            ev680,
                            new XEv(ent)
                            );
                        ev680 = null;
                    }
                    else if (id == 538)
                    {
                        //ユーザーのログオフ:
                        //    ユーザー名:	DD7$ [0]
                        //    ドメイン:		HIRAOKA [1]
                        //    ログオン ID:		(0x0,0xF027A2) [2]
                        //    ログオンの種類:	3 [3]
                        dictLogonId.Remove(ent.ReplacementStrings[2]);
                    }
                    else if (id == 560)
                    {
                        //オブジェクトのオープン:
                        //    オブジェクト サーバー:	Security [0]
                        //    オブジェクトの種類:	File [1]
                        //    オブジェクト名:	C:\Documents and Settings\KU\NetHood [2]
                        //    ハンドル ID:	4840 [3]
                        //    操作 ID:	{0,15252602} [4] [5]
                        //    プロセス ID:	5628 [6]
                        //    イメージ ファイル名:	C:\Proj\MkLnk\Debug\MkLnk.exe [7]
                        //    プライマリ ユーザー名:	KU [8]
                        //    プライマリ ドメイン:	DD11 [9]
                        //    プライマリ ログオン ID:	(0x0,0x101FC5) [10]
                        //    クライアント ユーザー名:	- [11]
                        //    クライアント ドメイン:	- [12]
                        //    クライアント ログオン ID:	- [13]
                        //    アクセス		%SYNCHRONIZE [14]
                        //            %ReadData (または ListDirectory)
                        //    特権		- [15]
                        //    制限された SID 数: 0 [16]
                        dictObjHandle[ent.ReplacementStrings[3]] = new XEv(ent);
                    }
                    else if (id == 562)
                    {
                        //ハンドルのクローズ:
                        //オブジェクト サーバー:	Security [0]
                        //ハンドル ID:	4840 [1]
                        //プロセス ID:	5628 [2]
                        //イメージ ファイル名:	C:\Proj\MkLnk\Debug\MkLnk.exe [3]
                        dictObjHandle.Remove(ent.ReplacementStrings[1]);
                    }
                }

                dt.AcceptChanges();
            }
        }