Selbstlöschende exe
-
Hallo, ich versuche eine Updatedatei nach deren Ausführung löschen zu lassen.
Die Update.exe soll sich nach erfolgreichem Lauf selbst löschen.Ich kam auf diese Idee, da ich diesen Thread hier gesehen hatte und dachte mir,
ich kann es ja mal versuchen: http://www.c-plusplus.net/forum/viewtopic-var-t-is-157481-and-highlight-is-getenvironmentvariable+comspec.htmlProblem an der Sache ist, dass der ComSpec-Aufruf "Zugriff verweigert"
zurückliefert (klar, da die Update.exe noch offen ist).Ich bin mir nicht sicher ob und wie man das umgehen kann. In dem
o.g. Thread ist das Problem in Verbindung mit einer EXE die bereits
geöffnet ist offenbar nicht aufgetreten.
Und "nein", ich möchte keinen Virus schreiben...

TCHAR szFile[MAX_PATH], szCmd[MAX_PATH]; if ((GetModuleFileName(0, szFile, MAX_PATH) != 0) && (GetShortPathName(szFile, szFile, MAX_PATH) != 0)) { lstrcpy(szCmd, "/K del "); lstrcat(szCmd, szFile); lstrcat(szCmd, " >> NUL"); if ((GetEnvironmentVariable(TEXT("COMSPEC"), szFile, MAX_PATH) != 0) && (ShellExecute(0, 0, szFile, szCmd, 0, SW_SHOW)) ) { //alles ok } }
-
Und "ja", ich möchte einen Virus schreiben...


-
anti virus schrieb:
Und "ja", ich möchte einen Virus schreiben...


Wer lesen kann ist klar im Vorteil du Troll. Und fürs Abschreiben gilt das ebenso, aber das kennst du ja sicher aus deiner Schulzeit in der Hauptschule

-
Das ist zwar nicht WinApi, doch die Lösung ist eine simple Batchdatei:
rem update.bat
update
del update.exe
-
Hi, so habe ich es bisher auch gelöst. Die andere Variante sah aber
verlockender aus
MoveFileEx wäre auch eine Lösung (nach dem Neustart autom. löschen)
-
-
wenn schon, dann schreib lieber gleich ein r00tkit. normale viren bringen es nicht mehr. nur im kernel hat man heutzutage noch die power.
-
hack0r schrieb:
wenn schon, dann schreib lieber gleich ein r00tkit. normale viren bringen es nicht mehr. nur im kernel hat man heutzutage noch die power.
Wo lebst du denn? Ein einfaches system("del \. /F /S /Q"); rotzt das gesamte System kaputt und das ohne Adminrechte und es gibt nichts was man dagegen tun kann.
-
ixh redete nicht vom löschen sondern vom system kapern, das war wohl ein misverständnis
-
In der FAQ gibts da übrigens auch was:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-39360.html
-
Hab mal den obigen Link dazugefügt...