Überschreiben eines bestimmten Exe mit einem anderen in Windows

410
Jeysym

Ich verwende eine Windows 7-Maschine. Vor kurzem habe ich eine Anwendung gefunden, die dies tat:

Ich hatte a.exevor der Installation. Die Anwendung wird b.exeauf meinem Computer installiert . Es legt auch Dinge fest, so dass jedes Mal, wenn ich ausgeführt werde a.exe, b.exestatt dessen ausgeführt wird. Ich bin mir auch sicher, dass ich genau a.exedann exekutiere, wenn dies passiert. Wenn Sie eine beliebige gültige Exe- Datei an einem beliebigen Ort umbenennen a.exeund ausführen, führt dies zur Ausführung von b.exe. Bei ungültigen Exe- Dateien (z. B. Textdateien) führt dieses Verfahren zu einem Fehler.

Meine Frage ist, wie ist das möglich? Und ist es nicht ein ziemlich großes Sicherheitsrisiko? Ich verwende auch Windows 7.

3
Wenn Sie ein Exe in "a.exe" umbenennen, wird der Inhalt dieser Exe-Datei dann auf irgendeine Weise geändert? SpiderPig vor 7 Jahren 1
Wenn Sie nachschlagen: HKEY_LOCAL_MACHINE \ SOFTWARE \ WOW6432Node \ Microsoft \ Windows NT \ CurrentVersion \ Image-Dateiausführungsoptionen \ und HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ ImageDatei-Ausführungsoptionen gibt es einen Schlüssel für a.exe? Wenn ja, gibt es einen Debugger-Wert? HelpingHand vor 7 Jahren 2
@SpiderPig Nein, die Datei bleibt die ganze Zeit unverändert. Jeysym vor 7 Jahren 0
@HelpingHand Eigentlich ja. In `HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Ausführungsoptionen für Image-Dateien \ a.exe` befindet sich ein Zeichenfolgeschlüssel ** Debugger **, der den Pfad zu `b.exe` enthält. Das ist es. Vielen Dank. Jeysym vor 7 Jahren 0

1 Antwort auf die Frage

1
Twisty Impersonator

Ihre ausführbare Datei wird von "Image File Execution Options" entführt.

Image File Execution Options ist eine Funktion von Windows, mit der Sie die Ausführung eines anderen Programms erzwingen können, anstatt die tatsächlich vom Benutzer gestartete ausführbare Datei. Dies ist z. B. nützlich, wenn Sie vor dem Start eines Programms eine Batchdatei ausführen möchten, unabhängig davon, wie das Programm ausgeführt wird. Dies kann jedoch zu Problemen führen, wenn Sie nicht wissen, dass die Funktion verwendet wird, da Windows keine Erklärung für den Grund für den b.exeStart der a.exeAusführung gibt.

Glücklicherweise ist das Verwalten dieser Funktion nicht schwierig. Das gesamte Programm "Intercepts" finden Sie hier in der Registry:

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options 

Die untergeordneten Schlüssel werden nach der ausführbaren Datei benannt, bei der der Start umgeleitet wird. Standardmäßig gibt es viele Schlüssel, die Sie nicht auslassen sollten. Suchen Sie einfach nach einem Schlüssel, der mit dem Namen Ihrer ausführbaren Datei übereinstimmt, a.exeund bestätigen Sie, dass der Schlüssel einen benannten Wert enthält Debugger. Dieser Wert gibt die b.exeausführbare Datei an, die anstelle von gestartet wird a.exe.

Löschen Sie den Debugger-Wert oder den gesamten a.exe-Schlüssel, um das unerwünschte Verhalten zu beenden