Selbstzerstoerendes Programm

Übersicht BlitzBasic Beginners-Corner

Gehe zu Seite 1, 2, 3  Weiter

Neue Antwort erstellen

Snade

Betreff: Selbstzerstoerendes Programm

BeitragDo, Jan 01, 2009 16:35
Antworten mit Zitat
Benutzer-Profile anzeigen
hi also ich hab ein kleines programm geschrieben was ein passwort abfragt
wenn es richtig ist gibt es z.B. einen link an
und wenn es flasch ist soll es sich mit einem runtime error zerstoeren (also die .exe jetz Very Happy )
wie koeente ich das machen mit einer function oder gibs da nen speziellen delete befehl?
Hier der Code: [AUSKLAPPEN]
AppTitle "PW chekcer"
Print "please enter the lock!"
pass$ = Input ("")

If pass = 239423271
Print "rigth! hier sind die infos 'bla bla'"
Else
RuntimeError "flase! the programm will be self-destruct"
EndIf
WaitKey
End

Thorsten

BeitragDo, Jan 01, 2009 17:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Ein Programm kann sich nicht selbst löschen während es läuft.
Das heißt, ein anderes Programm müsste die .exe dieses Programms löschen, jedoch bleibt dann die .exe des Programms übrig ;D

mfG,

Thorsten

Snade

BeitragDo, Jan 01, 2009 17:16
Antworten mit Zitat
Benutzer-Profile anzeigen
geht das nich anders hab schon mal von hacks gehoert die sich nach dem ausfuehren selber loeschen wahr das vieleicht deswegen weil sie mit c geproggt wurden und man das da einstellen kann?

geht das wirklich nich anders das mit der exe waehr natuerlich auch ne 2. loesung da man aus dieser exe ja die infos nicht kriegen wuerde koenntest du mir nen code posten wie das geht thorsten

@ an die anderen habt ihr noch andere loesungsvorschlaege?

worschtbrot

BeitragDo, Jan 01, 2009 17:28
Antworten mit Zitat
Benutzer-Profile anzeigen
mhh vielleicht könntest du dem programm noch ne vbs datei beilegen die bei benutzung (also aufruf in deinem programm) deine exe löscht.oder du vesuchst es mit cmd da dieses deine befehle nicht speichert und es somit nicht nachvollziehbar ist was passiert ist.

(ich habe keine ahnung ob das funktioniert Very Happy )

hectic

Sieger des IS Talentwettbewerb 2006

BeitragDo, Jan 01, 2009 17:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Und was soll der ganze Unfug? Wozu soll es denn gut sein, dass sich ein Programm selbst löscht? Wurde es aus dem Internet geladen, so kann derjenige sich das ganze nochmal runter laden und schon ist die Sache gegessen. Andere Wege wo Informationen über dem Programmstatus im System gespeichert werden, kann wiederrum nur von einem sogenannten ''Kiddie'' kommen. Allein schon in deinen zehn Zeilen Code hast du drei Rechtschreibfehler, ein bis zwei Codefehler und ein Formatierungsfehler drin.

Also, erstmal programmieren lernen bevor man versucht sein noch so geheimes Projekt zu schützen oder sonst was. Es wäre schön, wenn man mal aufhören würde unnütze Programme zu schreiben. Wieso programmierst du nicht etwas, an was sich andere Menschen erfreuen können?
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

BtbN

BeitragDo, Jan 01, 2009 17:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn ein löschen nach dem System-Reboot reicht:

http://msdn.microsoft.com/en-us/library/aa365240(VS.85).aspx

ozzi789

BeitragDo, Jan 01, 2009 17:57
Antworten mit Zitat
Benutzer-Profile anzeigen
mir war fad Oo
dont blame me

must die datei einfach so speichern wie die variable name$ heisst Wink

Code: [AUSKLAPPEN]
Graphics 800,600,32,2

AppTitle "selfdestruction-3v!L h4x0r"



ort$=SystemProperty$ ("APPDIR")
tempdir$=GetEnv$ ("Temp")
name$="blub.exe"


Print "blubber"
Delay(200)
file=WriteFile (tempdir$+"\delete.bat")
WriteLine (file,"@echo off")
WriteLine (file,"del "+ort$+name$)
WriteLine (file,"del "+tempdir$+"file.bat")

CloseFile (file)

file2=WriteFile (tempdir$+"\file.bat")
WriteLine (file2,"@echo off")
WriteLine (file2,"start "+tempdir$+"delete.bat")
CloseFile (file2)



ExecFile (tempdir$+"\file.bat")
End
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

Snade

BeitragDo, Jan 01, 2009 18:18
Antworten mit Zitat
Benutzer-Profile anzeigen
@ozzi
danke!

@hectic
omg so welche wie du spamen ein forum nur zu
1. wer rechtschreibfehler findet darf sie behalten
2. wtf welches geheime programm denn es gibt genug andere sachen wie ich im 1. post schon sagte z.B. links und selbst wenn man es sich aus dem internet runter laedt dann weis man das pw trozdem nich
3. deswegen hab ich gefragt weil ich noch nicht programmieren kann eben nur kleine sachen und nich ers noch 4wochen warten will bis ich eine sachen fertig stellen kann
4. dazu ist ein forum da!

[EDIT] @ozzi hmm das hat ihrgendiwe nich geklappt hab es einfach blub genannt und da kam ersmal ne fehlermeldung kann sie aber nich psten da ich gerade kein deutsches und englishes xp habe es sei denn du kannst russisch Wink
hab auch probiert die beiden .bat dateien zu erstellen trozdem gings nich!
  • Zuletzt bearbeitet von Snade am Do, Jan 01, 2009 18:32, insgesamt 2-mal bearbeitet

DaysShadow

BeitragDo, Jan 01, 2009 18:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Erstens heißt der User hectic und nicht hactic.
Zweitens darf man erwarten, dass man auch im Internet auf korrekte Rechtschreibung und Grammatik trifft.
Und drittens spammt der hectic nicht herum, sondern hat im Gegensatz zu dir weitaus größere und nützlichere Sachen erschafffen bzw. gecodet!

Also machn Kopf zu Wink

MfG DaysShadow
Blessed is the mind too small for doubt

Snade

BeitragDo, Jan 01, 2009 18:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja und ich erwarte in nem Forum besonders in ner Anfaengerecke mehr hoeflichkeit das is mir egal was der gecodet hat vieleicht ist das cool aber das passt gerade nich zum Thema!

ich hab nichts gegen ihn!

The_Nici

BeitragDo, Jan 01, 2009 18:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Warum flamest du dann ihn? :D
Achja, Beginnerscorner ist keine Garantie für Deppenfreiheit, das durfte Kelix schon spühren. ;D

MfG

Eingeproggt

BeitragDo, Jan 01, 2009 19:04
Antworten mit Zitat
Benutzer-Profile anzeigen
hmm, Snade, hast du eigentlich die Vollversion von BB?
Weil nur mit der kann man exe-Dateien erstellen. Wenn du deinen Code in exe umbenennst bringt das ncihts außer Ärger mit Windows Smile

mfG, Christoph.
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

Snade

BeitragDo, Jan 01, 2009 19:38
Antworten mit Zitat
Benutzer-Profile anzeigen
@The_Nici wer ist kelix?

jop hab die vollversion von Blitz3D als ich die demo hatte wusste ich noch gar nicht das das mit der exe ueberhaubt geht
  • Zuletzt bearbeitet von Snade am Do, Jan 01, 2009 19:52, insgesamt einmal bearbeitet

ozzi789

BeitragDo, Jan 01, 2009 19:48
Antworten mit Zitat
Benutzer-Profile anzeigen
ka wer kelix is Oo

ehm wieso das nicht geht ist mir ein Rätsel, naja werd vlt noch mal dahinter sitzen
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

Snade

BeitragDo, Jan 01, 2009 19:51
Antworten mit Zitat
Benutzer-Profile anzeigen
ups meinte The_Nici der sprach von ihrgendeinem kelix oO

ja waehr cool wenn du das machen koenntest!

ozzi789

BeitragDo, Jan 01, 2009 20:05
Antworten mit Zitat
Benutzer-Profile anzeigen
ah crap, es geht anscheinend nur exe's zu löschen wen man die bat selber öffnet Oo
kanns mir anderst nicht erklären

suboptimale lösung =>

-Haupt exe
-delete.exe

Haupt.exe öffnet delete.exe, delete.exe löscht Haupt.exe und beendet sich
Wobei du die delete.exe in den Temp-ordner speicherst.

Übrig bleibt eine total nutzlose exe in einem verstecktetn windows ordner, natürlich könntest du jetzt noch die Methode von BtbN einbauen sodass die exe bein rebot gelöscht wird.


mfg
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

BtbN

BeitragDo, Jan 01, 2009 20:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich verstehe nicht, wieso du die exe löschen willst? Wenn du sie im Internet zum Download anbietest, kann sie jederzeit erneut geladen werden.
Und wenn du die "Infos" einfach als String in den code schreibst kann er mitunter schon durch einfaches umbenennen der exe in txt gelesen werden. Zwar nicht sonderlich formatiert, aber durchaus lesbar.
 

Phlox

BeitragDo, Jan 01, 2009 20:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hatte die gleiche Frage auch schon mal:

Code: [AUSKLAPPEN]
Function DeleteMe(exefile$)
   f=WriteFile("0.bat")
   If f=0 Then Return 0
   WriteLine f, ":check"
   WriteLine f, "DEL "+exefile$+".exe"
   WriteLine f, "If EXIST "+exefile$+" Goto check"
   WriteLine f,"Del 0.bat"
   CloseFile f
   EndGraphics()
   ExecFile "0.bat"
   End
End Function


So. Löscht so lange, bis die Exe weg ist.
Frohes neues Jahr.

MfG

Noobody

BeitragDo, Jan 01, 2009 20:36
Antworten mit Zitat
Benutzer-Profile anzeigen
ozzi789 hat Folgendes geschrieben:
Haupt.exe öffnet delete.exe, delete.exe löscht Haupt.exe und beendet sich


Das wird so nicht funktionieren Wink
Haupt.exe wird nämlich so lange gestoppt, bis Delete.exe beendet ist. Solange Haupt jedoch läuft, kann Haupt.exe nicht gelöscht werden.
Eine andere Lösung wäre, den User Delete.exe ausführen zu lassen, welches seinerseits erst Haupt.exe startet.
Das erste Programm wartet nun geduldig solange, bis Haupt.exe beendet wurde und löscht dann die Datei. Am Ende bleibt nur noch Delete.exe übrig.
Allerdings ist es wirklich sinnlos, die Exe löschen zu lassen, aus den von BtbN genannten Gründen.
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun

ozzi789

BeitragDo, Jan 01, 2009 21:29
Antworten mit Zitat
Benutzer-Profile anzeigen
dooch das geht Oo


Code: [AUSKLAPPEN]

print "haupt.exe"
print "bluber"
execfile ("delete.exe")
end




Code: [AUSKLAPPEN]

print "omg delete it now"
delay(200)
deletefile ("haupt.exe")
end




Was soll da nicht gehn? Wink
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

Gehe zu Seite 1, 2, 3  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group