Ejemplo n.º 1
0
        public static void GetProccesses()
        {
            ListOfProcesses.Clear();
            var  p = Process.GetProcesses();
            bool success;

            foreach (var pl in p)
            {
                processinfo proc = new processinfo();
                var         dep  = new PROCESS_MITIGATION_DEP_POLICY();
                var         aslr = new PROCESS_MITIGATION_ASLR_POLICY();
                try
                {
                    proc.ProcName    = pl.ProcessName;
                    proc.PID         = pl.Id;
                    proc.Description = pl.MainModule.FileVersionInfo.FileDescription;
                    proc.Path        = pl.MainModule.FileName;
                    proc.ParPID      = GetParentProcces(pl.Id);
                    proc.ParName     = Process.GetProcessById(proc.ParPID).ProcessName;
                    proc.Owner       = GetProcessOwner(pl);
                    proc.SID         = GetOwnerSID(pl);
                    proc.Arch        = GetArchitecture(pl);
                    proc.Module      = pl.Modules;
                    success          = GetProcessMitigationPolicy(pl.Handle, 0, ref dep, Marshal.SizeOf(dep));
                    success          = GetProcessMitigationPolicy(pl.Handle, 1, ref aslr, Marshal.SizeOf(aslr));
                    proc.DEP         = dep.Enable;
                    proc.ASLR        = aslr.Enable;
                    //var DEP
                    //var ASLR
                }
                catch (Exception)
                {
                    proc.ProcName    = pl.ProcessName;
                    proc.PID         = pl.Id;
                    proc.Description = "Access Denied";
                    proc.Path        = "Access Denied";
                    proc.ParPID      = 0;
                    proc.ParName     = "System";
                    proc.Owner       = "System";
                    proc.Arch        = "x64";
                    proc.DEP         = true;
                    proc.ASLR        = true;
                    continue;
                }
                ListOfProcesses.Add(proc);
            }
        }
Ejemplo n.º 2
0
 static extern bool GetProcessMitigationPolicy(
     IntPtr hProcess,
     /*PROCESS_MITIGATION_POLICY*/ int mitigationPolicy,
     ref PROCESS_MITIGATION_DEP_POLICY lpBuffer,
     int dwLength);