Пример #1
0
        public void LoggingThread(iosSyslogger form, loggerTool tool, string uuid) //Creating thread for Logger
        {
            Thread loggingThread = new Thread(() => tool.readLog(form, uuid));

            loggingThread.IsBackground = true;
            lstThreads.Add(loggingThread);
        }
Пример #2
0
        public void deviceInfoThread(iosSyslogger form, loggerTool tool, string uuid) //Create thread for Device info reader
        {
            Thread deviceInfoThread = new Thread(() => tool.readDeviceinfo(form, uuid));

            deviceInfoThread.IsBackground = true;
            lstThreads.Add(deviceInfoThread);
        }
Пример #3
0
        static void Main()
        {
            string currentPath = System.Environment.CurrentDirectory;

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            iosSyslogger LoggerWindow = new iosSyslogger();
            loggerTool   tool         = new loggerTool();

            WqlEventQuery          insertQuery   = new WqlEventQuery("SELECT * FROM Win32_DeviceChangeEvent WHERE EventType = 2"); //Checking USB device insertion
            ManagementEventWatcher insertWatcher = new ManagementEventWatcher(insertQuery);

            WqlEventQuery          removeQuery   = new WqlEventQuery("SELECT * FROM __InstanceDeletionEvent WITHIN 2 WHERE TargetInstance ISA 'Win32_USBHub'"); //Checking USB removal
            ManagementEventWatcher removeWatcher = new ManagementEventWatcher(removeQuery);

            insertWatcher.EventArrived += new EventArrivedEventHandler((source, e) => DeviceInsertedEvent(source, e, LoggerWindow, tool));
            insertWatcher.Start();

            removeWatcher.EventArrived += new EventArrivedEventHandler((source, e) => DeviceRemovedEvent(source, e, LoggerWindow, tool));
            removeWatcher.Start();

            Thread loggerParentThread = new Thread(() => tool.readDeviceUUID(LoggerWindow, tool)); //Parent thread for Syslogger

            loggerParentThread.Start();

            Application.Run(LoggerWindow);

            AppDomain.CurrentDomain.ProcessExit += new EventHandler(OnProcessExit);
        }
Пример #4
0
        static void Main()
        {
            string currentPath = System.Environment.CurrentDirectory;
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            iosSyslogger LoggerWindow = new iosSyslogger();
            loggerTool tool = new loggerTool();

            WqlEventQuery insertQuery = new WqlEventQuery("SELECT * FROM Win32_DeviceChangeEvent WHERE EventType = 2"); //Checking USB device insertion
            ManagementEventWatcher insertWatcher = new ManagementEventWatcher(insertQuery);

            WqlEventQuery removeQuery = new WqlEventQuery("SELECT * FROM __InstanceDeletionEvent WITHIN 2 WHERE TargetInstance ISA 'Win32_USBHub'"); //Checking USB removal
            ManagementEventWatcher removeWatcher = new ManagementEventWatcher(removeQuery);

            insertWatcher.EventArrived += new EventArrivedEventHandler((source, e) => DeviceInsertedEvent(source, e, LoggerWindow, tool));
            insertWatcher.Start();

            removeWatcher.EventArrived += new EventArrivedEventHandler((source, e) => DeviceRemovedEvent(source, e, LoggerWindow, tool));
            removeWatcher.Start();

            Thread loggerParentThread = new Thread(() => tool.readDeviceUUID(LoggerWindow, tool)); //Parent thread for Syslogger
            loggerParentThread.Start();

            Application.Run(LoggerWindow);

            AppDomain.CurrentDomain.ProcessExit += new EventHandler(OnProcessExit);
        }
Пример #5
0
 static void DeviceRemovedEvent(object sender, EventArrivedEventArgs e, iosSyslogger window, loggerTool tool)
 {
     GlobalData.usbInserted = false;
     if (GlobalData.usbRemoved == true)
         return;
     else
     {
         GlobalData.usbRemoved = true;
         tool.readDeviceUUID(window, tool);
     }
 }
Пример #6
0
 static void DeviceInsertedEvent(object sender, EventArgs e,iosSyslogger window, loggerTool tool)
 {
     if (GlobalData.usbInserted == true) //If this is true, new iOS Device has already been processed
     {
         return;
     }
     else
     {
         GlobalData.usbInserted = true;
         tool.readDeviceUUID(window, tool);
     }
 }
Пример #7
0
        public void readDeviceUUID(iosSyslogger form, loggerTool tool)
        {
            string currentPath = System.Environment.CurrentDirectory;

            Process process = new Process();

            process.StartInfo.FileName               = currentPath + @"\deviceid.exe";
            process.StartInfo.Arguments              = "-l";
            process.StartInfo.UseShellExecute        = false;
            process.StartInfo.CreateNoWindow         = true;
            process.StartInfo.RedirectStandardOutput = true;
            process.StartInfo.RedirectStandardError  = true;

            process.OutputDataReceived += new DataReceivedEventHandler((source, e) => uuidinfoHandler(source, e, form));

            //* Start process and handlers
            process.Start();
            process.BeginOutputReadLine();
            process.BeginErrorReadLine();
            process.WaitForExit();


            if (Program.GlobalData.usbRemoved == true) //Called after usb waas removed
            {
                foreach (string uuidt in Program.GlobalData.uuid)
                {
                    Process test = new Process();
                    if (!(crProcess.TryGetValue(uuidt, out test)))
                    {
                        continue;
                    }
                    if (!Program.GlobalData.tempuuid.Contains(uuidt) && uuidt != null && crProcess[uuidt] != null)
                    {
                        crProcess[uuidt].Kill();
                        crProcess.Remove(uuidt);
                    }
                }
                Program.GlobalData.uuid.Clear();
                Program.GlobalData.uuid.AddRange(Program.GlobalData.tempuuid);

                foreach (string uuidstring in Program.GlobalData.uuid)
                {
                    Thread loggingThread = new Thread(() => tool.readDeviceinfo(form, uuidstring));
                    loggingThread.IsBackground = true;
                    loggingThread.Start();
                }
                Program.GlobalData.usbRemoved = false;
                return;
            }

            else if (Program.GlobalData.usbInserted == true) //Called after usb was inserted
            {
                if (Program.GlobalData.uuid[Program.GlobalData.uuid.Count - 1] == null)
                {
                    return;
                }
                else
                {
                    deviceInfoThread(form, tool, Program.GlobalData.uuid[Program.GlobalData.uuid.Count - 1]);
                    LoggingThread(form, tool, Program.GlobalData.uuid[Program.GlobalData.uuid.Count - 1]);
                    lstThreads[lstThreads.Count - 2].Start();
                    lstThreads[lstThreads.Count - 1].Start();
                    Program.GlobalData.notInit = true;
                    return;
                }
            }
            else if (Program.GlobalData.usbInserted != true) //First time initiated
            {
                if (Program.GlobalData.usbInserted == true)
                {
                    return;
                }
                foreach (string uuid in Program.GlobalData.uuid)
                {
                    deviceInfoThread(form, tool, uuid);
                    LoggingThread(form, tool, uuid);
                }

                foreach (Thread th in lstThreads)
                {
                    th.Start();
                }
                return;
            }
            else
            {
                return;
            }
        }
Пример #8
0
 static void DeviceRemovedEvent(object sender, EventArrivedEventArgs e, iosSyslogger window, loggerTool tool)
 {
     GlobalData.usbInserted = false;
     if (GlobalData.usbRemoved == true)
     {
         return;
     }
     else
     {
         GlobalData.usbRemoved = true;
         tool.readDeviceUUID(window, tool);
     }
 }
Пример #9
0
 static void DeviceInsertedEvent(object sender, EventArgs e, iosSyslogger window, loggerTool tool)
 {
     if (GlobalData.usbInserted == true) //If this is true, new iOS Device has already been processed
     {
         return;
     }
     else
     {
         GlobalData.usbInserted = true;
         tool.readDeviceUUID(window, tool);
     }
 }
Пример #10
0
        public void readDeviceUUID(iosSyslogger form, loggerTool tool)
        {
            string currentPath = System.Environment.CurrentDirectory;

            Process process = new Process();
            process.StartInfo.FileName = currentPath + @"\deviceid.exe";
            process.StartInfo.Arguments = "-l";
            process.StartInfo.UseShellExecute = false;
            process.StartInfo.CreateNoWindow = true;
            process.StartInfo.RedirectStandardOutput = true;
            process.StartInfo.RedirectStandardError = true;

            process.OutputDataReceived += new DataReceivedEventHandler((source, e) => uuidinfoHandler(source, e, form));

            //* Start process and handlers
            process.Start();
            process.BeginOutputReadLine();
            process.BeginErrorReadLine();
            process.WaitForExit();

            if (Program.GlobalData.usbRemoved == true) //Called after usb waas removed
            {

                foreach (string uuidt in Program.GlobalData.uuid)
                {
                    Process test = new Process();
                    if (!(crProcess.TryGetValue(uuidt, out test)))
                    {
                        continue;
                    }
                    if (!Program.GlobalData.tempuuid.Contains(uuidt) && uuidt != null && crProcess[uuidt] != null)
                    {
                        crProcess[uuidt].Kill();
                        crProcess.Remove(uuidt);
                    }
                }
                Program.GlobalData.uuid.Clear();
                Program.GlobalData.uuid.AddRange(Program.GlobalData.tempuuid);

                foreach (string uuidstring in Program.GlobalData.uuid)
                {
                    Thread loggingThread = new Thread(() => tool.readDeviceinfo(form, uuidstring));
                    loggingThread.IsBackground = true;
                    loggingThread.Start();
                }
                Program.GlobalData.usbRemoved = false;
                return;
            }

            else if (Program.GlobalData.usbInserted == true) //Called after usb was inserted
            {
                if (Program.GlobalData.uuid[Program.GlobalData.uuid.Count - 1] == null)
                    return;
                else
                {
                    deviceInfoThread(form, tool, Program.GlobalData.uuid[Program.GlobalData.uuid.Count - 1]);
                    LoggingThread(form, tool, Program.GlobalData.uuid[Program.GlobalData.uuid.Count - 1]);
                    lstThreads[lstThreads.Count - 2].Start();
                    lstThreads[lstThreads.Count - 1].Start();
                    Program.GlobalData.notInit = true;
                    return;

                }

            }
            else if (Program.GlobalData.usbInserted!=true) //First time initiated
            {
                if (Program.GlobalData.usbInserted == true) return;
                foreach (string uuid in Program.GlobalData.uuid)
                {
                    deviceInfoThread(form, tool, uuid);
                    LoggingThread(form, tool, uuid);
                }

                foreach (Thread th in lstThreads)
                {
                    th.Start();
                }
                return;
            }
            else
                return;
        }
Пример #11
0
 //Creating thread for Logger
 public void LoggingThread(iosSyslogger form, loggerTool tool,string uuid)
 {
     Thread loggingThread = new Thread(() => tool.readLog(form,uuid));
     loggingThread.IsBackground = true;
     lstThreads.Add(loggingThread);
 }
Пример #12
0
 //Create thread for Device info reader
 public void deviceInfoThread(iosSyslogger form, loggerTool tool, string uuid)
 {
     Thread deviceInfoThread = new Thread(() => tool.readDeviceinfo(form,uuid));
     deviceInfoThread.IsBackground = true;
     lstThreads.Add(deviceInfoThread);
 }