17 Punkte von GN⁺ 2023-09-14 | 5 Kommentare | Auf WhatsApp teilen
  • Da die Explorer-Abstürze stark zunahmen, suchte man nach der Ursache und entdeckte im Stack einen Funktionszeiger, der Malware ähnelte
  • Nachforschungen ergaben jedoch, dass es keine Malware, sondern ein Uninstaller war
  • Nach dem Beenden wartet der Uninstaller darauf, seine eigene Binärdatei zu löschen (Self Deleting)
    • Dieser Code verwendete eine Methode, die vor 10 Jahren auf CodeProject vorgestellt wurde
  • Vermutlich musste eine Funktion einer bestimmten DLL aufgerufen werden, doch dabei kam es zu einer Umleitung (Detour)
  • Um sich selbst zu löschen, sollte man nicht wie hier Code in einen anderen Prozess (Explorer) einschleusen oder umleiten, sondern stattdessen eine temporäre Datei wie cleanup.js verwenden, etwa so
    • Dieser Code löscht sich selbst und versucht außerdem 20 Sekunden lang, den Uninstaller zu löschen
var fso = new ActiveXObject("Scripting.FileSystemObject");  
fso.DeleteFile("C:\\Users\\Name\\AppData\\Local\\Temp\\cleanup.js");  
  
var path = "C:\\Program Files\\Contoso\\contoso_update.exe";  
for (var count = 0; fso.FileExists(path) && count < 40; count++) {  
    try { fso.DeleteFile(path); break; } catch (e) { }  
    WSH.Sleep(500);  
}  

5 Kommentare

 
[Dieser Kommentar wurde ausgeblendet.]
 
kuroneko 2023-09-14

Ich erinnere mich noch an die Zeiten, als man solche Programme zum Entfernen von Rückständen benutzt hat ...
Trotzdem habe ich Hoffnung, weil sich heutzutage auch die Paketverwaltung unter Windows nach und nach weiterentwickelt. +_+

 
botplaysdice 2023-09-14

Ich glaube, ich habe das Wort „hochgradig“ ziemlich oft verwendet. Eine hinreichend fortschrittliche Wissenschaft ist von Magie nicht zu unterscheiden.

 
xguru 2023-09-14

Der Titel des Beitrags stammt von einem Zitat des berühmten Science-Fiction-Autors Sir Arthur C. Clarke.

"Any sufficiently advanced technology is indistinguishable from magic."
"Jede hinreichend fortschrittliche Technologie ist von Magie nicht zu unterscheiden."

 
GN⁺ 2023-09-14
Hacker-News-Kommentare
  • Diskussion über die Ähnlichkeiten zwischen fortschrittlichen Uninstallern und Malware, mit Fokus auf selbstlöschende ausführbare Dateien
  • Bereitstellung eines Links zu einem Codeprojekt, das den Code für selbstlöschende ausführbare Dateien enthält
  • Der Autor legt nahe, dass die Binärdatei wie Malware aussieht, weil sie sich selbst löscht, schläft und mit dem Uninstaller interagiert
  • Debatte über die vorgeschlagene Lösung und die Frage, ob sie besser ist als das Original oder ob dabei schlechte Heuristiken zur Beurteilung von Bösartigkeit verwendet werden
  • Einige Kommentare fragen, warum Windows-Programme spezielle Installer/Uninstaller benötigen und warum das nicht von Windows selbst gehandhabt wird
  • Erwähnung der Verwendung von wscripts, die aufgrund von Code-Signing oder der fehlenden Möglichkeit zur Verifizierung vor der Ausführung als Malware profiliert werden könnten
  • Das Konzept "Detours" wird angesprochen, verglichen mit dem Linux-Befehl LD_PRELOAD
  • Erinnerung an eine einfache App für Windows 95/98, die alle Verzeichnisse zur Uninstaller-Liste hinzufügte, ohne dass Antivirensoftware dies bemerkte
  • Einige Kommentierende äußern eine Präferenz für den AmigaOS-Ansatz, bei dem Apps eigenständige Ordner sind, die sich leicht installieren oder entfernen lassen
  • Der Artikel endet mit der überraschenden Tatsache, dass Windows das Ausführen von JavaScript als Shell-Skript unterstützt