> 백엔드 개발 > C++ > 런타임 시 내 C 애플리케이션에 대한 관리자 권한을 어떻게 높일 수 있습니까?

런타임 시 내 C 애플리케이션에 대한 관리자 권한을 어떻게 높일 수 있습니까?

Patricia Arquette
풀어 주다: 2024-11-13 11:33:02
원래의
623명이 탐색했습니다.

How Can I Elevate Administrator Privileges for My C   Application at Runtime?

C 응용 프로그램에서 관리자 권한의 런타임 상승

런타임 시 운영 체제에서 관리자 권한을 요청하는 기능은 특정 사용자에게 바람직한 기능입니다. 응용 프로그램. Windows에서는 다양한 메커니즘을 통해 이 기능을 사용할 수 있습니다.

컴파일 시간 상승

질문에서 언급했듯이 컴파일 중에 애플리케이션에 관리자 권한을 부여할 수 있습니다. 애플리케이션의 매니페스트를 "requireAdministrator"로 설정합니다. 그러나 런타임 시 상승 요구 사항이 발생하는 경우 다른 접근 방식이 필요합니다.

런타임 상승

런타임 시 기존 애플리케이션의 권한을 상승하려면 몇 가지 옵션이 있습니다. :

외부 매니페스트

컴파일 시간 상승과 유사하게 외부 매니페스트를 생성하고 애플리케이션의 실행 파일과 연결할 수 있습니다. 이 매니페스트는 "requestedExecutionLevel"을 "requireAdministrator"로 지정할 수 있습니다.

RunAs 동사

ShellExecute 함수에서 "runas" 동사를 사용하면 다음이 가능합니다. 높은 권한으로 프로세스를 시작합니다. 이 옵션을 사용하면 프로세스가 실행되기 전에 사용자에게 관리자 자격 증명을 묻는 메시지가 표시됩니다.

특히 현재 인스턴스의 경우

목표가 현재 인스턴스의 권한을 높이는 것인 경우 애플리케이션 인스턴스에서는 메모리에 보존된 데이터를 잃지 않고 Windows "CreateSymbolicLinkW" 기능을 사용하여 관리자 계정의 실행 파일에 대한 심볼릭 링크를 생성할 수 있습니다. 이 기술에는 실행 중인 애플리케이션과 동일한 이름으로 심볼릭 링크를 생성하고 실행 파일의 상위 버전을 가리키는 것이 포함됩니다. 그런 다음 원래 애플리케이션의 메모리와 리소스를 상속하여 상위 버전을 실행할 수 있습니다.

위 내용은 런타임 시 내 C 애플리케이션에 대한 관리자 권한을 어떻게 높일 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿