Image Execution Options
( HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
) 실행 파일 이름을 딴 키와 문자열 ( REG_SZ
) 값알려져 있다시작할 애플리케이션의 동작을 수정해야 하는 경우 좋은 경로가 될 수 있습니다.
그러나 실행 파일에 대해 매우 일반적인 이름(예: )이 있는 경우 launcher.exe
어떻게 좀 더 구체적으로 지정할 수 있습니까? 나는 전혀 할 수 있습니까?
제가 염두에 두고 있는 특정 바이너리만 영향을 받도록 하고 싶습니다. 하지만 제 특정 사용 사례에서는 정확한 실행 파일로 제한할 수 없는 경우 약간의 영향만 미칠 뿐입니다.
저는 Sysinternals의 Process Explorer와 유사하게 쉘에서 launcher.exe
와 유사한 환경 변수를 설정한다는 점에서 특정 표준 동작을 대체하는 작은 래퍼 프로그램을 직접 작성하고 싶습니다 .set __COMPAT_LAYER=RUNASINVOKER
이제 래퍼 등을 작성하는 방법을 알았습니다. 가장 중요한 질문은 이를 알 수 있는 방법이 있는지 여부입니다.레지스트리에서, 아래에 몇 가지 마법을 사용하여 "hack" 값 Image Execution Options
의 범위를 제한 Debugger
하거나 래퍼에서 이를 필터링해야 합니까?
다음과 관련됩니다:
답변1
Windows 7부터는 이미지 파일 실행 옵션을 정확한 경로로 제한하는 방법이 있습니다.
- ...\Image File Execution Options\filename.exe 아래에 이름이 "UseFilter"이고 0이 아닌 값을 가진 dword를 만듭니다.
- ...\Image File Execution Options\filename.exe\MyFilter와 같은 임의의 이름을 가진 하위 키를 만듭니다.
- 해당 하위 키 아래에서 이름이 "FilterFullPath"이고 전체 경로가 값인 문자열(예: "C:\mypath\filename.exe")을 만듭니다. 또한 귀하의 경우 "디버거" 등 필요한 옵션을 만드십시오.
이제 시스템은 "filename.exe"를 시작할 때 전체 경로가 하위 키의 "FilterFullPath"와 일치하는지 확인합니다. (다른 경로에 대해 여러 하위 키가 있을 수 있습니다.) 일치하는 항목이 있는 경우 일치하는 하위 키의 옵션이 사용됩니다. 그렇지 않으면 평소와 같이 기본 키 IFEO\filename.exe의 옵션이 사용됩니다.
답변2
이런 식으로 하면 될 것 같다.
스크린샷은 아래 바이너리의 전체 경로에 해당하는 하위 키를 생성하는 방법을 보여줍니다 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
. 예:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\C:\Program Files\Adobe\Reader 11.0\Reader\AcroRd32.exe
그 아래에서 Debugger
문자열 값을 생성하고 설정할 수 있습니다.