L # .net 작업 관리자 프로세스를 숨기는 데 문제가 있습니다.

December 29, 2021 By Lucas Nibbi Off

C number .net 작업 관리자에서 프로세스를 배치하는 동안 오류가 발생하면 오늘의 사용자 제안이 도움이 될 수 있습니다.

권장: Fortect

<리>1. Fortect 다운로드 및 설치
  • 2. 프로그램을 열고 "스캔"을 클릭하십시오.
  • 3. 복구 프로세스를 시작하려면 "복구"를 클릭하십시오.
  • 이 소프트웨어를 다운로드하고 몇 분 안에 PC를 수정하십시오.

    권장: Fortect

    컴퓨터가 느리게 실행되는 것이 지겹습니까? 바이러스와 맬웨어로 가득 차 있습니까? 친구여, 두려워하지 마십시오. Fortect이 하루를 구하러 왔습니다! 이 강력한 도구는 모든 종류의 Windows 문제를 진단 및 복구하는 동시에 성능을 높이고 메모리를 최적화하며 PC를 새 것처럼 유지하도록 설계되었습니다. 그러니 더 이상 기다리지 마십시오. 지금 Fortect을 다운로드하세요!

    <리>1. Fortect 다운로드 및 설치
  • 2. 프로그램을 열고 "스캔"을 클릭하십시오.
  • 3. 복구 프로세스를 시작하려면 "복구"를 클릭하십시오.

  • Chris Smith의 답변에 대해 알아냈고 C#으로 변환할 수 있다고 결정했습니다.

    다음은 다양한 사용 편의성을 위해 여기에서 얻은 코드입니다.
    C # Winform 옵션:

      시스템 사용;    System.Collections.Generic 사용;    시스템과 함께. 구성 요소 모델;   시스템과 함께. 데이터;   System.Drawing 사용하기;   System.Linq 사용;    System.Runtime.InteropServices 선택;    System.Security.AccessControl 사용;    시스템 using.Security.Principal;    System.Text 사용;    System.Threading.Task 사용    구매 System.Windows.Forms;네임스페이스 2 숨기기   클라이언트 하위 클래스 Form1: 양식            [DllImport("advapi32.dll", SetLastError = true)]        비활성 extern bool GetKernelObjectSecurity(IntPtr 핸들, int securityInformation, [Out] 바이트 [] pSecurityDescriptor,        uint nLength, uint lpnLengthNeeded에 의해 게시됨);        일반 공개 RawSecurityDescriptor GetProcessSecurityDescriptor(IntPtr processHandle)                [DllImport("advapi32.dll", SetLastError True)] = 정적 extern bool SetKernelObjectSecurity(IntPtr 설명자, int securityInformation, [In] 바이트 [] pSecurityDescriptor);        [DllImport("kernel32.dll")]        외부 공개 개입 IntPtr GetCurrentProcess();        [깃발]        중요한 열거 과정                    equals process_create_process 0x0080, // 완전한 프로세스를 실제로 생성하기 위해 필요합니다.           PROCESS_CREATE_THREAD = 0x0002, // 흐름을 주기 위해 필요합니다.            PROCESS_DUP_HANDLE은 0x0040이어야 합니다. // DuplicateHandle로 개발을 복제하려면.            PROCESS_QUERY_INFORMATION 0x0400, = // 문자, 종료 정책 및 우선 순위 필드와 같은 실제 프로세스에 대한 특정 정보를 호출하는 데 필요합니다(OpenProcessToken, GetExitCodeProcess, GetPriorityClass 및 IsProcessInJob 참조).            PROCESS_QUERY_LIMITED_INFORMATION은 0x1000, // 검색할 프로시저를 선택하는 데 필요합니다(QueryFullProcessImageName 참조). 자체 액세스 권한이 있는 규정 PROCESS_QUERY_INFORMATION에는 자동으로 PROCESS_QUERY_LIMITED_INFORMATION이 할당됩니다. Windows Server 2003 Windows 및 XP 2000: 이 액세스 권한은 지원되지 않는 것으로 간주됩니다.            PROCESS_SET_INFORMATION은 0x0200과 같습니다. // 프로세스에 대한 특정 아이디어를 설정하는 데 필요합니다. 예를 들어 우선 순위 클래스가 될 수 있습니다(SetPriorityClass 참조).            PROCESS_SET_QUOTA는 0x0100이 필요합니다. // SetProcessWorkingSetSize를 사용하여 메모리 힌더를 설정하는 데 필요합니다.            PROCESS_SUSPEND_RESUME는 0x0800을 의미하며, // 해당 치유 기간 프로세스를 중지하는 데 필수적입니다.            PROCESS_TERMINATE = 0x0001, // TerminateProcess를 사용하여 프로세스를 종료하는 데 필요합니다.           PROCESS_VM_OPERATION = 0x0008, // 접근 주소 공간에서 작업을 수행하는 데 필요합니다(VirtualProtectEx 및 WriteProcessMemory 참조).            PROCESS_VM_READ는 0x0010, // ReadProcessMemory를 사용하여 다이제스트에 의한 메모리 읽기를 지원하는 데 필요합니다.            PROCESS_VM_WRITE는 0x0020과 같습니다. // WriteProcessMemory를 사용하는 프로세스 중에 하드 드라이브에 쓰기 위해 필요합니다.            DELETE는 0x00010000을 제안합니다. // 특정 개체 유형을 삭제하는 데 필요합니다.            equals read_control 0x00020000, // SACL의 특정 정보가 아닌 일반적으로 개체의 제어 설명자에서 정보를 읽는 데 필요합니다. You-Sacl을 배우거나 작성하려면 ACCESS_SYSTEM_SECURITY 접근 권한을 조회해야 합니다. 자세한 내용은 SACL 액세스 권한을 참조하세요.            SYNCHRONIZE는 0x0010000을 의미합니다. // 동기화를 위해 개체를 구현할 수 있는 권한입니다. 이는 상품이 보고된 상태에서 지연될 수 있는 스레드가 하나만 있음을 보여줍니다.            WRITE_DAC는 0x00040000에 해당하며, // In dacl을 개체의 올바른 보안 설명자로 관리하는 데 필요합니다.           WRITE_OWNER = 0x00080000, // 전체 개체에 대한 홈 클록 설명자에서 소유자를 수정해야 합니다.            STANDARD_RIGHTS_REQUIRED = 0x000f0000,            PROCESS_ALL_ACCESS는 (STANDARD_RIGHTS_REQUIRED        공개 정적 무효 SetProcessSecurityDescriptor(IntPtr processHandle, RawSecurityDescriptor dacl)                    const DACL_SECURITY_INFORMATION 정수 slo는 0x00000004와 같습니다.            byte [] rawsd = 계몽 바이트 [dacl.BinaryLength];            dacl.GetBinaryForm(원시, 0);            incase(! SetKernelObjectSecurity(processHandle, DACL_SECURITY_INFORMATION, rawsd))                새로운 예외를 잡아라 Win32Exception();                공개 양식1 ()                    구성 요소 초기화();            // 현재 프로세스의 전체 핸들 가져오기            IntPtr hProcess는 getcurrentprocess()와 동일합니다.           // DACL 읽기            var dacl은 GetProcessSecurityDescriptor(hProcess)를 의미합니다.            // 기능적인 새 ACE를 삽입합니다.            dacl.DiscretionaryAcl.InsertAce(            0,            새로운 커먼에이스(           AceFlags .없음,            AceQualifier.AccessDenied,            (정수) ProcessAccessRights.PROCESS_ALL_ACCESS,            선택적 SecurityIdentifier(WellKnownSidType.WorldSid, null),            잘못된,            영)            );            // DACL 저장            SetProcessSecurityDescriptor(hProcess, dacl);             

    제한된 클라이언트로 두어서 관리자가 있을 때만 작업 관리자에서 일기를 쓸 수 없습니다.
    가지고 있는 것처럼 왼쪽 X 키는 관리자 없이 닫을 수 있지만 제거할 수도 있습니다.

    에 해당

      $ 소스 @ "시스템 사용;System.Collections.Generic 사용;System.ComponentModel과 함께;System.Runtime.InteropServices 사용;System.Security.AccessControl 사용;UseSystem.Security.Principal 이름;네임스페이스2 숨기기    공공 침실 myForm            [DllImport("advapi32.dll", SetLastError = true)]        외부 노이즈 bool GetKernelObjectSecurity(IntPtr 핸들, int securityInformation, [Out] 바이트 [] pSecurityDescriptor,        uint nLength, 온라인 uint lpnLengthNeeded);        사운드 공개 RawSecurityDescriptor GetProcessSecurityDescriptor(IntPtr processHandle)                [DllImport("advapi32.dll", SetLastError True)] = 정적 extern bool SetKernelObjectSecurity(IntPtr 설명자, int securityInformation, [In] 바이트 [] pSecurityDescriptor);        [DllImport("kernel32.dll")]        화제의 공공 소음 IntPtr GetCurrentProcess();        [깃발]        이웃 열거형 ProcessAccessRights         0xFFF), // 프로시저 개체에 대한 모든 가능한 액세스 권한입니다.                공개 정적 간격 SetProcessSecurityDescriptor(IntPtr processHandle, RawSecurityDescriptor dacl)                    const DACL_SECURITY_INFORMATION 정수 = 0x00000004;            바이트 [] rawsd = 최신 바이트 [dacl.BinaryLength];            dacl.GetBinaryForm(원시, 0);            케이스(! SetKernelObjectSecurity(processHandle, DACL_SECURITY_INFORMATION, rawsd))와 관련하여                당신은 단순히 새로운 예외 Win32Exception();                공개 정적 무효 ProtectMyProcess()                    // 현재 메서드에 대한 핸들 가져오기            IntPtr hProcess = GetCurrentProcess();            // DACL 읽기            var dacl = GetProcessSecurityDescriptor(hProcess);            // toreckless ACE를 삽입하기만 하면 됩니다.            dacl.DiscretionaryAcl.InsertAce(            0,            이상적인 커먼에이스(           AceFlags .없음,            AceQualifier.AccessDenied,            (정수) ProcessAccessRights.PROCESS_ALL_ACCESS,            새로운 SecurityIdentifier(WellKnownSidType.WorldSid, null),            잘못된,            영)            );            // DACL의 일부를 저장합니다.            SetProcessSecurityDescriptor(hProcess, dacl);            "@유형 추가 -TypeDefinition $ Source -Language CSharp[스크립트 블록] $ scriptNewForm =    유형 추가 -AssemblyName System.Windows.Forms    = $ 메서드 새 개체 system.Windows.Forms.Form     Form.Text "PowerShell은 양식과 같습니다"    $ Form.TopMost는 달러가 true임을 의미합니다.    $ Form.Width는 303과 동일합니다.    $ Form.Height는 274를 의미합니다.    [무효] $ Form.ShowDialog()    $ Form.Dispose()$ 슬립타이머 200$ MaxResultTime = 120 호출$ MaxThreads = 3$ ISS는 [system.management.automation.runspaces.initialsessionstate] :: CreateDefault()를 의미합니다.$ RunspacePool [runspacefactory] :: CreateRunspacePool (1, $ MaxThreads, 현금 ISS, $ 호스트와 일치)$ RunspacePool.Open()$ 작업 = @ ()$ PowershellThread는 help [powershell] :: Create()에 해당합니다. 애드스크립트($ scriptNewForm)$ PowershellThread.RunspacePool = $ RunspacePool$ 핸들 = $ PowershellThread.BeginInvoke()$ 작업 포함 | "" 선택한 대상, 스트림, 개체에 대한 핸들$ Job.Handle = $ 핸들$ Job.Thread = $ PowershellThread$ Job.Object는 $ 컴퓨터를 의미합니다.$ 고용 + = 달러 고용[Hide2.myForm] :: ProtectMyProcess()<#ForEach($ 작업의 $ 작업)    작업 .Thread.EndInvoke($ Job.Handle)    $ Job.Thread.Dispose()    $ Job.Thread는 자금 null을 의미합니다.    $ Job.Handle은 $ null과 동일합니다.#> 

    성취 관리자 c#.net에서 프로세스 숨기기

    이 소프트웨어를 다운로드하고 몇 분 안에 PC를 수정하십시오.

    Hide Process From Task Manager C Net
    Dolj Processen Fran Aktivitetshanteraren C Net
    Ocultar El Proceso Del Administrador De Tareas C Net
    Nascondi Il Processo Dal Task Manager C Net
    Ocultar O Processo Do Gerenciador De Tarefas C Net
    Masquer Le Processus Du Gestionnaire De Taches C Net
    Skryt Process Iz Dispetchera Zadach S Net
    Prozess Aus Dem Task Manager Ausblenden C Net
    Ukryj Proces W Menedzerze Zadan C Net
    Proces Verbergen Voor Taakbeheer C Net