¿Es posible proporcionar la ruta completa a un ejecutable en "Opciones de ejecución de imágenes\*\Debugger"?

¿Es posible proporcionar la ruta completa a un ejecutable en "Opciones de ejecución de imágenes\*\Debugger"?

Image Execution Options( HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options) con una clave que lleva el nombre del ejecutable y un REG_SZvalor de cadena ( )es conocidaEs una buena ruta de acceso si necesita modificar el comportamiento de una aplicación que se va a iniciar.

Sin embargo, si tengo un nombre muy común para un ejecutable, como por ejemplo launcher.exe, ¿cómo puedo ser un poco más específico? ¿Puedo en absoluto?

Me gustaría asegurarme de que solo se verá afectado el binario particular que tengo en mente, aunque en mi caso de uso particular es solo un impacto moderado si no puedo limitarlo al ejecutable exacto.

Me gustaría escribir un pequeño programa contenedor que, similar a Process Explorer de Sysinternals, reemplace el comportamiento estándar por mi específico launcher.exeen el sentido de que establece la variable de entorno similar a set __COMPAT_LAYER=RUNASINVOKERun shell.

Ahora que sé cómo escribir el contenedor y todo, la pregunta principal es si hay una manera de saberlo.en el registro, usando algo de magia debajo Image Execution Options, para limitar el alcance del Debuggervalor "truco" o ¿tendría que filtrar esto en mi contenedor?


Se relaciona con:

Respuesta1

A partir de Windows 7, existe una forma de limitar las opciones de ejecución de archivos de imagen a la ruta exacta.

  1. Cree un dword con el nombre "UseFilter" y un valor distinto de cero en ...\Image File Execution Options\filename.exe.
  2. Cree una subclave con un nombre arbitrario, por ejemplo ...\Image File Execution Options\filename.exe\MyFilter.
  3. Bajo esa subclave, cree una cadena con el nombre "FilterFullPath" y la ruta completa como valor, por ejemplo, "C:\mypath\filename.exe". Además, cree allí las opciones que necesite, "Depurador" en su caso.

Ahora, cuando el sistema inicia cualquier "filename.exe", comprueba si la ruta completa coincide con "FilterFullPath" de cualquier subclave. (Puede haber varias subclaves para diferentes rutas). Si hay una coincidencia, se utilizan las opciones de la subclave coincidente. De lo contrario, se utilizan las opciones de la clave base IFEO\filename.exe, como de costumbre.

Respuesta2

Parece posible hacerlo así.

ingrese la descripción de la imagen aquí

La captura de pantalla muestra cómo crear subclaves correspondientes a la ruta completa de un binario debajo HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options, por ejemplo:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\C:\Program Files\Adobe\Reader 11.0\Reader\AcroRd32.exe

bajo el cual Debuggerse podría crear y establecer un valor de cadena.

información relacionada