AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi MOVEFILE_DELAY_UNTIL_REBOOT: Ins löschen einklinken
Thema durchsuchen
Ansicht
Themen-Optionen

MOVEFILE_DELAY_UNTIL_REBOOT: Ins löschen einklinken

Ein Thema von DGL-luke · begonnen am 8. Apr 2007 · letzter Beitrag vom 16. Apr 2007
Antwort Antwort
Seite 2 von 3     12 3      
CCRDude
(Gast)

n/a Beiträge
 
#11

Re: MOVEFILE_DELAY_UNTIL_REBOOT: Ins löschen einklinken

  Alt 13. Apr 2007, 08:22
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
  Mit Zitat antworten Zitat
Benutzerbild von Mackhack
Mackhack

Registriert seit: 29. Nov 2003
Ort: San Diego, CA/USA
1.446 Beiträge
 
Delphi 2006 Architect
 
#12

Re: MOVEFILE_DELAY_UNTIL_REBOOT: Ins löschen einklinken

  Alt 13. Apr 2007, 15:17
Hallo CCRDude,

vielen Dank. Nein das Access is Denied kommt gleich nach dem MoveFileEx. Der PC faehrt auch sauber runter und rebootet.
Um etwas Neues zu schaffen muss man seine Ohren vor den Nein-sagern verschliessen um seinen Geist öffnen zu können.
(George Lukas)
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#13

Re: MOVEFILE_DELAY_UNTIL_REBOOT: Ins löschen einklinken

  Alt 13. Apr 2007, 15:27
Zitat von CCRDude:
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.

@Mackack: Schonmal versucht SetLastError(ERROR_SUCCESS) zwischen die API-Aufrufe zu packen? Ansonsten kannst du nie wirklich genau eingrenzen wo der Fehler gesetzt wird (es sei denn du ueberwachst in einem Debugger das entsprechende Feld in der PEB - ab XP oder so)
  Mit Zitat antworten Zitat
CCRDude
(Gast)

n/a Beiträge
 
#14

Re: MOVEFILE_DELAY_UNTIL_REBOOT: Ins löschen einklinken

  Alt 13. Apr 2007, 15:32
Nun ja, wie wärs dann mit ein paar mehr Details? Welches Betriebssystem, was für eine Art User führt das Programm aus?

Aus MSDN: MoveFileEx zu MOVEFILE_DELAY_UNTIL_REBOOT:
Zitat:
This value can be used only if the process is in the context of a user who belongs to the administrator group or the LocalSystem account.
Ansonsten... wie Olli schon sagte... MSDN-Doku lesen, vielleicht steht da noch mehr drin
  Mit Zitat antworten Zitat
Benutzerbild von Mackhack
Mackhack

Registriert seit: 29. Nov 2003
Ort: San Diego, CA/USA
1.446 Beiträge
 
Delphi 2006 Architect
 
#15

Re: MOVEFILE_DELAY_UNTIL_REBOOT: Ins löschen einklinken

  Alt 13. Apr 2007, 16:01
Hi,

es rennt auf Windows MCE 05, Admin ist angemeldet und das Programm rennt auch unter diesem Konto!
Um etwas Neues zu schaffen muss man seine Ohren vor den Nein-sagern verschliessen um seinen Geist öffnen zu können.
(George Lukas)
  Mit Zitat antworten Zitat
CCRDude
(Gast)

n/a Beiträge
 
#16

Re: MOVEFILE_DELAY_UNTIL_REBOOT: Ins löschen einklinken

  Alt 13. Apr 2007, 16:27
Dann kann ich gerade nur spekulieren, die Informationen muss man Dir ja aus der Nase ziehen
Du schriebst was von Dateien, die aus einer inaktiven Windows-Installation einer anderen Platte/Partition stammen... wo war das noch gleich:
Zitat von Mackhack:
Ich habe 8 Files hier auf einer 2. Platte die aus einer alten Windows Installation her stammen die ich gerne loeschen wuerde mit dem Tool.
Vielleicht kann MoveFileEx sie ja gar nicht zum löschen markieren, weil sie irgendwie anders geschützt sind? Schützt Windows sie etwa per SFC, kann ich mir sehr gut vorstellen, daß MoveFileEx dort ein Löschen gar nicht zulässt - dafür ist SFC schließlich da.
Weiter mit meinen Fragen... gehe ich richtig in der Annahme, daß der Explorer sie auch nicht löschen kann? Lassen die Dateien sich von einer PE-CD oder einer Linux-CD gebootet löschen (nur um einen pyhsikalischen Fehler auszuschließen)? Vermutest Du, daß die Dateien böse sind?
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#17

Re: MOVEFILE_DELAY_UNTIL_REBOOT: Ins löschen einklinken

  Alt 13. Apr 2007, 16:41
Bei einer alten Windows-Installation ist es wahrscheinlicher, dass die ACLs nur den entsprechenden Usern der nun inaktiven Windows-Installation Rechte einraeumen (sprich die SIDs stimmen nicht). Dazu koenntest du Ownership der Datei uebernehmen und dann die Rechte so setzen, dass du sie loeschen kannst.
  Mit Zitat antworten Zitat
Benutzerbild von Mackhack
Mackhack

Registriert seit: 29. Nov 2003
Ort: San Diego, CA/USA
1.446 Beiträge
 
Delphi 2006 Architect
 
#18

Re: MOVEFILE_DELAY_UNTIL_REBOOT: Ins löschen einklinken

  Alt 13. Apr 2007, 18:36
Bitte die Infos net aus der Nase ziehen, das kribbelt so.

Also das ganze lief so ab.

Neuer Rechner gebaut, neue Platte rein Windows installiert. Alte Plate wo Windows drauf war und auch Program Files als Slave drin. Alles geloescht bekommen ausser 2 Ordner. Im Program Files\Adobe\Acrobat7\ActiveX\ hocken 4 Files drin die sich nicht loeschen lassen.

AcroIEHelper.dll
AcroPDF.dll
GbDetect.dll
pdfshell.dll

In Windows\System32\Macromedia\Flash\ gibts noch Files die sich ebenfalls nicht löschen lassen. Warum wie gesagt weis ich nicht!

Flash9b0.ocx0
FlashUtil9b0.exe0

Helfen diese Daten weiter?
Um etwas Neues zu schaffen muss man seine Ohren vor den Nein-sagern verschliessen um seinen Geist öffnen zu können.
(George Lukas)
  Mit Zitat antworten Zitat
CCRDude
(Gast)

n/a Beiträge
 
#19

Re: MOVEFILE_DELAY_UNTIL_REBOOT: Ins löschen einklinken

  Alt 14. Apr 2007, 19:30
War nur ne medizinische Maßnahme, zuviele Infos in der Nase sollen verdammt ungesund sein

Sind trotzdem noch Fragen offen, bzw. es ist unklar, welche Hinweise Du denn beachtet hast, und welche nicht. Hast Du etwa mal in die Sicherheitseinstellungen der Dateien geschaut, worauf Olli hingedeutet hat? Hast Du mit ner Boot-CD versucht, die Dateien zu löschen, oder nicht? Hast Du mal Spybot mit genannter Methode benutzt, um die Dateien loszuwerden zu versuchen? Hast Du auch mal die wininit.ini-Methode probiert? Ansonsten noch der Tipp, mal zu versuchen die Dateien umzubennen und dann zu löschen? Und jetzt hab ich keinen Bock mehr, das alles zu wiederholen
  Mit Zitat antworten Zitat
Benutzerbild von Mackhack
Mackhack

Registriert seit: 29. Nov 2003
Ort: San Diego, CA/USA
1.446 Beiträge
 
Delphi 2006 Architect
 
#20

Re: MOVEFILE_DELAY_UNTIL_REBOOT: Ins löschen einklinken

  Alt 14. Apr 2007, 22:24
Hallo,

erstmal vielen Dank fuer all die Hinweise von euch. Ich komme leider erst jetzt dazu die ganzen Tips mal durchzunehmen. Aber an dich CCRDude habe ich nochmal ne Frage da ich das noch nicht ganz durch habe. Wenn MoveFileEx das NICHT immer in den besagten Registry Schluessel schreibt wo dann?

Denn ich habe im prinzip an der MoveFileEx Zeile nichts veraendert gehabt jedoch drum herum kleinere kosmetische Aenderungen vorgenommen gehabt und habe das Tool insgesamt 5 mal gestartet gehabt und somit hatte ich 5 mal eine der Files im Registry Schluessel drinstehen gehabt. Geloescht wurde sie leider trotzdem nicht.
Um etwas Neues zu schaffen muss man seine Ohren vor den Nein-sagern verschliessen um seinen Geist öffnen zu können.
(George Lukas)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:03 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz