//////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// public void GetPrimaryToken(UInt32 processId, String name) { //Originally Set to true IntPtr hProcess = Unmanaged.OpenProcess(Constants.PROCESS_QUERY_INFORMATION, true, processId); if (hProcess == IntPtr.Zero) { return; } Console.WriteLine("[+] Recieved Handle for: " + name + " (" + processId + ")"); Console.WriteLine(" [+] Process Handle: " + hProcess.ToInt32()); if (Unmanaged.OpenProcessToken(hProcess, Constants.TOKEN_ALT, out hExistingToken)) { Console.WriteLine(" [+] Primary Token Handle: " + hExistingToken.ToInt32()); } Unmanaged.CloseHandle(hProcess); }