Überschreiben einer bestimmten EXE durch eine andere in Windows

Überschreiben einer bestimmten EXE durch eine andere in Windows

Ich verwende einen Windows 7-Rechner. Vor Kurzem habe ich eine Anwendung gefunden, die Folgendes kann:

Ich hatte a.exevor der Installation. Die Anwendung wird b.exeauf meinem Computer installiert. Außerdem richtet sie die Dinge so ein, dass jedes Mal, wenn ich ausführe a.exe, b.exeausgeführt wird, anstatt es. Außerdem bin ich sicher, dass ich genau dann ausführe, a.exewenn dies geschieht. Außerdem kann ich alle gültigen umbenennenexeDatei an einem beliebigen Ort a.exeund die Ausführung führt zur Ausführung von b.exe. Für ungültigeexeDateien (z. B. Textdateien) führt dieses Verfahren zu einem Fehler.

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

Antwort1

Ihre ausführbare Datei wird von „Image File Execution Options“ gekapert.

Optionen zur Ausführung von Bilddateienist eine Funktion von Windows, mit der Sie die Ausführung eines anderen Programms erzwingen können, anstatt der tatsächlich vom Benutzer gestarteten ausführbaren Datei. Dies ist beispielsweise nützlich, wenn SieFühren Sie eine Batchdatei aus, bevor ein Programm gestartet wird, unabhängig davon, wie das Programm ausgeführt wird. Es kann jedoch zu Problemen führen, wenn Sie nicht wissen, dass die Funktion verwendet wird, da Windows keine Erklärung dafür liefert, warum es b.exegestartet wird, wenn a.exees ausgeführt wurde.

Glücklicherweise ist die Verwaltung dieser Funktion nicht schwierig. Sie finden alle Programm-„Abfangaktionen“ in der Registry hier:

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

Die untergeordneten Schlüssel sind nach der ausführbaren Datei benannt, deren Start umgeleitet wird. Es gibt hier standardmäßig viele Schlüssel, die unverändert bleiben sollten. Suchen Sie einfach nach einem Schlüssel, der dem Namen Ihrer ausführbaren Datei entspricht, a.exeund bestätigen Sie dann, dass der Schlüssel einen Wert mit dem Namen enthält Debugger. Dieser Wert gibt die b.exeausführbare Datei an, die anstelle von gestartet wird a.exe.

Um das unerwünschte Verhalten zu stoppen, löschen Sie entweder den Debugger-Wert oder den gesamten a.exe-Schlüssel

verwandte Informationen