Ich möchte mit einem Batchbefehl die eigene Datei löschen. Ich weiß zwar, wie man Dateien löschen kann, aber während der Laufzeit kann man ja schlecht die eigene .exe löschen ^^.
![]()
naja pls help me ma
mfg jiox
Thema: [C++]Selbstzerstörung
-
26.07.2005, 13:46 #1
[C++]Selbstzerstörung
- Anzeige
Logge dich ein, um diese Anzeige nicht zu sehen. -
26.07.2005, 14:16 #2
AW: [C++]Selbstzerstörung
Du lässt von deinem Programm eine Bat-Datei schreiben, die solange versucht deine exe zu löschen, bis es geht - und sich anschließend selber löscht (bei BATs gehts ja)
hier der Inhalt der Bat, die dein Programm schreiben muss:
Sobald sich deine Exe zerstören will:Code:@echo off :Marke Del "c:\SelfDestruct.exe" If Exist "c:\SelfDestruct.exe" Goto Marke Del "c:\Kill.bat"
1) Bat schreiben (natürlich mit angepassten pfaden)
2) Bat ausführen (>Bat versucht zu löschen, geht aber nicht - aber läuft weiter)
3) Programm beenden
4) Bat kann löschen, löscht exe und dannach sich selbst
FertigVista x64 SP2 | AMD X2 4800+ AM2 Brisbane | Scythe Ninja | Liquid Metal Pad | MSI K9A Platinum | 4x1024 MDT DDR2-800 | MSI RX1650XT | Samsung HD322HJ 320GB | Samsung HD501LJ 500GB | Optiarc DVD RW AD-7191S | Seasonic S12 430W | Logitech Cordless Desktop MX 3200 Laser | Samsung SyncMaster 940B | Cooler Master Centurion 534 | Teufel CEM PE
-
30.07.2005, 16:03 #3
AW: [C++]Selbstzerstörung
Mit welchem Parameter kann ich denn das Batch Programm verstecken?
-
31.07.2005, 13:36 #4
AW: [C++]Selbstzerstörung
Ich hab keine Ahnung, wie das in C++ geht - ich kann sowas nur in VB.
Aber wozu willst du die verstecken - das geschieht alle schneller als eine sekunde - so schnell ist der explorer garnicht aktualisiert, dass die bat datei überhaupt angezeigt wird.Vista x64 SP2 | AMD X2 4800+ AM2 Brisbane | Scythe Ninja | Liquid Metal Pad | MSI K9A Platinum | 4x1024 MDT DDR2-800 | MSI RX1650XT | Samsung HD322HJ 320GB | Samsung HD501LJ 500GB | Optiarc DVD RW AD-7191S | Seasonic S12 430W | Logitech Cordless Desktop MX 3200 Laser | Samsung SyncMaster 940B | Cooler Master Centurion 534 | Teufel CEM PE
-
02.08.2005, 01:17 #5Lieutenant
- Dabei seit
- Jan 2005
- Beiträge
- 926
AW: [C++]Selbstzerstörung
Hallo,
ich glaube eher nicht das man eine Batch Datei verstecken kann. In C++ und sicher auch VB kann man die Taskbar anweisen keinen Eintrag anzuzeigen. Analog zum Taskmanager, siehe Menüpunkt "ausblenden wenn minimiert", sowie das eigene Fenster unsichtbar machen.
MfG
ArndGeändert von Arnd (02.08.2005 um 01:20 Uhr)
-
04.08.2005, 18:10 #6
AW: [C++]Selbstzerstörung
in VB lässt sich das Batch-Programm komplett versteckt (d.h. das einzige was von dem Batch zu sehen ist, ist ein ganz kurzer Eintrag unter Taskmanager-Prozesse) folgendermaßen starten:
Shell("Batchdatei.bat", vbHidden)
...wie es in C++ geht, weiß ich net - aber geht bestimmt mit nem API aufruf, etc.Vista x64 SP2 | AMD X2 4800+ AM2 Brisbane | Scythe Ninja | Liquid Metal Pad | MSI K9A Platinum | 4x1024 MDT DDR2-800 | MSI RX1650XT | Samsung HD322HJ 320GB | Samsung HD501LJ 500GB | Optiarc DVD RW AD-7191S | Seasonic S12 430W | Logitech Cordless Desktop MX 3200 Laser | Samsung SyncMaster 940B | Cooler Master Centurion 534 | Teufel CEM PE
-
05.08.2005, 00:14 #7Lieutenant
- Dabei seit
- Jan 2005
- Beiträge
- 926
AW: [C++]Selbstzerstörung
Das geht in C++ auch mit ShellExecute. Da gibt es den Parameter SW_HIDE bei nShowCmd.
Muss aber eben selber programmiert werden.
Dann würde ich aber keine Batchdatei mehr nehmen sondern selber was programmieren.
Wenn Dein Programm gelöscht werden soll, wird zuerst mit ShellExecute ein zweites Programm gestartet das unsichtbar ist.
Danach beendet sich das zu löschende Programm.
Dann kann das soeben gestartete Programm das jetzt nicht mehr laufende Programm problemlos löschen.
MfG
ArndGeändert von Arnd (05.08.2005 um 00:16 Uhr)
-
05.08.2005, 11:10 #8
AW: [C++]Selbstzerstörung
Aber deine 2te Exe bleibt auf dem System zurück - Denn die kann sich wiederum nicht selber löschen.
Eine Bat-Datei kann das jedoch
Vista x64 SP2 | AMD X2 4800+ AM2 Brisbane | Scythe Ninja | Liquid Metal Pad | MSI K9A Platinum | 4x1024 MDT DDR2-800 | MSI RX1650XT | Samsung HD322HJ 320GB | Samsung HD501LJ 500GB | Optiarc DVD RW AD-7191S | Seasonic S12 430W | Logitech Cordless Desktop MX 3200 Laser | Samsung SyncMaster 940B | Cooler Master Centurion 534 | Teufel CEM PE
-
07.08.2005, 03:06 #9Lieutenant
- Dabei seit
- Jan 2005
- Beiträge
- 926
AW: [C++]Selbstzerstörung
Die Frage ist halt warum er das ganze überhaupt machen will und ob es um ein komplettes Aufräumen geht.
Eine Deinstallation macht man eigentlich über die Systemsteuerung.
Oder soll das ein Kopierschutz werden?
Die Bat Datei hat sicher den Vorteil das man sie einfach zur Laufzeit erzeugen kann.
Aber man sieht es eben auch, das da was gemacht wird.
Aber man kann ja beide Ansätze mischen.
Die Bat Datei wird einfach mit Shellexecute und Parameter SW_HIDE gestartet.
Dann geht beides.
MfG
Arnd
-
08.08.2005, 21:43 #10
AW: [C++]Selbstzerstörung
Danke! Das hat mir geholfen!
Ich wollte das Programm eigentlich nur zur Übung machen(Ich habe vor 1 Woche mit C++ angefangen). Aber ich denke, dass ich noch viel zu lernen habe ^^.
MfG
J!0X

Zitieren