Zitat von
Mackhack:
Aber wie macht es Spybot dann denn das ist auch in Delphi geschrieben!
Glückauf,
Also wie Olli schon sagte... das Fenster kommt erst später, die ersten Löschversuche beim Neustart macht Spybot schon auf diversen anderen Wegen. Wer RegMon, InCtrl5 oder anderes verwendet, wird das auch relativ schnell rausfinden, deswegen ist das nicht so geheim, als daß ich das nicht verraten könnte
Da benutzen wir z.B. RunOnce-Einträge mit schlichtem cmd /c del ... bzw. command /c del ... dann gibt es den Abschnitt [rename] in der wininit.ini ... und noch nen Registry-Schlüssel, den ich gerade nicht wiederfinde
Attribute zurücksetzen, Zugriffsberechtigungen erweitern wo möglich...
MoveFileEx selber benutzt glaub ich je nach Betriebssystem auch jeweils eine dieser Methoden, wobei mir mehrere zu verwenden einfach sicherer erschien, schließlich gibts ja auch gegen Gegenmaßnahmen immer Gegengegenmaßnahmen...
Oder halt wie von Olli beschrieben ein Programm ohne Subsystem:
Zitat von
Olli:
... und bestimmte Flags im
PE-Header gesetzt. Wenn man Delphi benutzen will wird eine Nachbehandlung der EXE nötig und man muß auf die komplette
RTL verzichten. Im Grunde ist das noch einen Zahn schärfer als
nonVCL
Wobei ich dazu ja sagen muß: warum ein Delphi-Programm umständlich nachträglich patchen, wenn man mit FreePascal einen offenen Compiler hat, für den man "einfach" nur ein neues Target mit eigener nur auf ntdll.dll basierender
RTL schreiben müsste?
Das "einfach" wohlgemerkt in Anführungszeichen, steht seit Ewigkeiten auf meiner Todo-Liste, aber fände ich wesentlich eleganter, da die Möglichkeit einer eigenen
RTL wenigstens etwas Pascal-Komfort erlauben würden... sonst könnte man ja gleich doch wieder C nehmen
Zitat von
Mackhack:
Jedoch wird nichts in die Registry geschrieben damit Windows die Files loeschen koennte.
Schau mal in die
MSDN, welche Methoden MoveFileEx auf welchem Betriebssystem verwendet, das ist nicht zwangsweise immer die Registry.
Zitat von
Mackhack:
Der Code gibt mir immer ein
Access is Denied aus.
Bezieht sich das nicht nur auf das ExitWindowsEx?
Wenn es Dir nur darum geht, einige bestimmte statische Dateien loszuwerden, versuchs mal hiermit:
Code:
// info: For internal testing of new stuff only
// author: Mackhack
// date: 2007-04-03 (1.4)
:: Produktname
File:"<$FILE_TEXT>","D:\loswerden.txt"
File:"<$FILE_TEXT>","D:\auchloswerden.txt","filesize=...,md5=..."
Als Mackhack.sbi (einfach Textdatei) im Spybot-S&D\Includes-Ordner speichern, in den Einstellungen mit aktivieren (bei unverschlüsselten & unsignierten externen Hilfsdateien wie dieser gibts dafür ne Rückfrage beim Benutzer) und Spybot den Krams entfernen lassen.
Irgendwo in unserem Forum (oder war das nur in unserem alten Forum?) steht noch mehr zu der Syntax, aber mehr ist hier ja gar nicht nötig