PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie Self Destroy ?



sunny-boy3
16.07.2009, 11:58
Hallo nur mal ne kleine frage hat jemande nen code zur selbstzerstörung der application ?


ihr wisst schon was ich meine

Habe google abgesucht aber nichts gefunden!!!

Planxty
16.07.2009, 12:04
ich glaub das was du suchst heißt melt
das Programm löscht sich dann selbst

Gibt hier iwo nen code ich glaub von inmate oder so^^

sunny-boy3
16.07.2009, 12:06
ich glaub das was du suchst heißt melt
das Programm löscht sich dann selbst

Gibt hier iwo nen code ich glaub von inmate oder so^^



Gibt es das den nicht als direkt string?

meine damit form load ereignis code =


Self Destroy!!!

War jetzt nur nen beispiel!!

Sirect
16.07.2009, 12:16
Erstell ne Batch-Datei im Temp-Ordner, machste nen kleinen Delay rein und fertig oO

krusty
16.07.2009, 12:18
dim pfad as string
dim stream as io.streamwriter

pfad = "c:\test.bat"
stream = New IO.StreamWriter(pfad, False)

stream.WriteLine("@echo off")
stream.WriteLine(":L1")
stream.WriteLine("sleep 1")
stream.WriteLine("del """ & Application.ExecutablePath & """ 2>nul")
stream.WriteLine("if exist """ & Application.ExecutablePath & """ goto L1")
stream.WriteLine("del ""test.bat"" 2>nul")
stream.Close()

Shell(pfad, AppWinStyle.MinimizedFocus)

End


Quelle 3 sek google
http://forum.fachinformatiker.de/net/93725-vb-net-programm-selbst-loeschen.html
hoffe ich konnt dir helfen

Melt Funktion nennt man sowas

sunny-boy3
16.07.2009, 12:58
dim pfad as string
dim stream as io.streamwriter

pfad = "c:\test.bat"
stream = New IO.StreamWriter(pfad, False)

stream.WriteLine("@echo off")
stream.WriteLine(":L1")
stream.WriteLine("sleep 1")
stream.WriteLine("del """ & Application.ExecutablePath & """ 2>nul")
stream.WriteLine("if exist """ & Application.ExecutablePath & """ goto L1")
stream.WriteLine("del ""test.bat"" 2>nul")
stream.Close()

Shell(pfad, AppWinStyle.MinimizedFocus)

End

Quelle 3 sek google
http://forum.fachinformatiker.de/net/93725-vb-net-programm-selbst-loeschen.html
hoffe ich konnt dir helfen

Melt Funktion nennt man sowas



und was setze ich in den batch rein?

D3MEN
16.07.2009, 13:05
setze den obern code in dein programm und lasse es ausfüren wenn das programm gestartet wird die batch legt dann dein programm selber an

inmate
16.07.2009, 13:10
Die Methoden sind scheisse.Entweder ist der Pfad zu lang oder das cmd Fenster bleibt offen.

Probiere mal:

io.file.move(application.executablepath,("C:\tomelt.exe")
dim swriter = new streamwriter("C:\melt.bat")
swriter.writeline("del C:\tomelt")
swriter.writeline("del C:\melt.bat")
swrite.close()

sollte klappen und weitaus besser , da nur 2 kurze Pfadangaben gemacht wurden.

mfG

sunny-boy3
16.07.2009, 13:27
Die Methoden sind scheisse.Entweder ist der Pfad zu lang oder das cmd Fenster bleibt offen.

Probiere mal:

io.file.copy(application.executablepath,("C:\tomelt.exe")
dim swriter = new streamwriter("C:\melt.bat")
swriter.writeline("del C:\tomelt")
swriter.writeline("del C:\melt.bat")
swrite.close()

sollte klappen und weitaus besser , da nur 2 kurze Pfadangaben gemacht wurden.

mfG
Danke euch

Sirect
16.07.2009, 13:40
Das von Inmate ist doch Schwachsinn.
Er kopiert die eigene EXE als tomelt.exe nach C:\, erstellt dann ne Batch die die Kopie wieder löscht.
krusty's Lösung ist viel besser.

inmate
16.07.2009, 14:06
ach scheisse xD ich wollte nicht copy sondern move schreiben :rolleyes:

Meine ist nämlich die beste Lösung :D

er verschiebt die File nach C:\
erstellt dann ne bat und killt die verschobene File und sich selbst.

D3MEN
16.07.2009, 14:18
naja in delphi könnte man das doch auch mit einen timer lösen
z.b

deletefile('C:\meineprogramm.exe);

weiss leider nicht ob es auch in VB oder so klappt

blackberry
16.07.2009, 14:28
er verschiebt die File nach C:\

Du meinst "er" (der Programm??) versucht sich nach C:\ zu verschieben und es kommt ein Laufzeitfehler weil die nötigen Rechte fehlen.

Jetzt stimmt's!

inmate
16.07.2009, 14:31
Ok dann nochmal :D Das Programm verschiebt sich nach C:\ und erstellt dann dort die melt.bat.

Ja sry das mit den rechten vergesse ich immer.Habe XP :)

@D3men wir sind bei vb.net und nicht bei Delphi.Ausserdem musst du den Code dann so schreiben:
DeleteFile(application.ExeName);


mfG

D3MEN
16.07.2009, 14:43
ja ich weiss das wir in VB.NET sind dachte bloss das der ansatz helfen könnte

Toxic222333
16.07.2009, 20:04
hier :) ganz einfach ^^

System.IO.File.Delete("pfad")

DarkFire
16.07.2009, 20:20
Na dann teste mal...


Try
System.IO.File.Delete(Application.ExecutablePath)
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try


Dir ist schon klar das es darum geht das die .exe sich selbst löscht?

Wichtige sachen hab ich rot markiert^^

DaZaRt
16.07.2009, 20:33
die methode das die bat am anfang der Programmstarts erstell wird in der sich dann alle nötigen Informationen wieder finden lassen und bei programm ende diese bat ausgeführt wird ist die beste methode...

Sich selbst zu verschieben und so ist einfach unnötig ;)

EBFE
16.07.2009, 20:41
MoeFileEx Aufruf mit MOVEFILE_DELAY_UNTIL_REBOOT Flag: http://msdn.microsoft.com/en-us/library/aa365240(VS.85).aspx

VB NET Aufruf -> ganz unten.

inmate
17.07.2009, 00:32
Sich selbst zu verschieben und so ist einfach unnötig ;)

Falsch ist es nicht !

Denkst du ich mache es aus Spass ?

Wenn du im tmp Ordner ne batch erstellst dann ist der Pfad zu lang und die File wird nicht gelöscht!
Wenn du allerdings die Datei vorher einfach nach C:\ verschiebst kannst du in die bat einfach nur C:\ schreiben! Dann findet die bat den Pfad auffjedenfall.

DaZaRt
17.07.2009, 00:44
Also der batch ist es nun wirklich egal wie lang der Pfad zu der datei ist die gelöscht werden soll ^^

Toxic222333
17.07.2009, 10:22
@DarkFire (http://free-hack.com/member.php?u=48613)

wenn man ein bisschen ahnung hat könnte man das mit dem befehl selber coden das die datei sie selber zerstört ;)

inmate
17.07.2009, 22:08
Also der batch ist es nun wirklich egal wie lang der Pfad zu der datei ist die gelöscht werden soll ^^

Bor du Held denkste ich hätte es geschrieben wenn es "der batch" egal wäre ?
Das klappt nicht mit der bat in tmp probiere das mal und lasse deinen Trojaner aufm Desktop löschen.Die Batch geht dann Umwege nämlich über den Userordner etc , dann hängt sie sich auf.

Aber hauptsache erstmal sinnlos spammen.Ich habe schon ein Gund wenn ich das schreibe.

EBFE
17.07.2009, 23:25
Die Batch mag einfach keine Pfadangaben mit Leerzeichen ;)
Einfach mit " " umschließen:


del /F "C:\Documents and Settings\IETest\Desktop\test.exe"
del /F "C:\Documents and Settings\IETest\Desktop\del.bat"
löscht die Exe und sich selbst ;)