Ejemplo n.º 1
0
        public void Start(Writefile writeFile, string binaryPath)
        {
            List <SerializedProcess> readProcesses = new List <SerializedProcess>();

            readProcesses = writeFile.ReadFromBinaryFile <List <SerializedProcess> >(binaryPath);
            Process[]          processlist = Process.GetProcesses();
            byte[]             result;
            Encryption         encryptionManager = new Encryption();
            StringManipulation stringManipulator = new StringManipulation();

            foreach (Process process in processlist)
            {
                Boolean found = false;
                result = encryptionManager.generateHash(process.ProcessName);
                string            processName       = stringManipulator.ByteArrayToString(result);
                SerializedProcess serializedProcess = new SerializedProcess();
                serializedProcess.Name = processName;
                int index = readProcesses.FindIndex(processList => processList.Name == serializedProcess.Name);
                if (index > -1)
                {
                    found = true;
                }
                if (!found)
                {
                    process.Kill();
                }
            }
        }