Seite 1 von 3
Spiel: Kleines FakeHackprogramm Frage
Verfasst: Samstag 16. März 2013, 11:32
von Gary123456
Hi,
Code: Alles auswählen
#Spiel
def Hilfe():
print("Mit Hilfe dieses Programm werden sie hacken! INFO: Das ist ein Spiel und kein echtes Hackprogramm!")
def Hacken():
print("Hello World")
def StarteSpiel():
HilfeAbfrage=int(input("Falls Sie Hilfe brauchen, drücken Sie die 1.")
if HilfeAbfrage==1:
return Hilfe()
else:
SpielAbfrage=int(input("Wollen Sie wirklich hacken? Falls ja, drücken sie 1."))
if SpielAbfrage==1:
return Hacken()
else:
print("Das Spiel wird jetzt beendet")
Registrieren=int(input("Falls Sie sich registrieren möchten, drücken sie 1."))
AlleBenutzer=[]
AllePasswort=[]
if Registrieren==1:
Nbenutzer=input("Geben Sie den gewünschten Benutzernamen ein:")
Npasswort=input("Geben Sie das gewünschte Passwort ein:")
AlleBenutzer.append(Nbenutzer)
AllePasswort.append(Npasswort)
else:
benutzer=input("Geben Sie Ihren Benutzernamen ein:")
passwort=input("Geben Sie Ihr Passwort ein:")
if AlleBenutzer[0]==Nbenutzer and AllePasswort[0]==Npasswort:
StarteSpiel()
print(AlleBenutzer)
print(AllePasswort)
Um mich bisschen warm zu halten, habe ich das geschrieben. Nun kommt ein Fehler: invalid syntax in dieser Zeile: if HilfeAbfrage==1:
Warum nur?
Re: Spiel: Kleines FakeHackprogramm Frage
Verfasst: Samstag 16. März 2013, 11:52
von BlackJack
@Gary123456: Kontrollier mal die Klammern in der Zeile davor.
Passwort und Benutzer gehören jeweils zusammen, deshalb sollte man die nicht ”parallel” in verschiedenen Datenstrukturen speichern. Da das eine Abbildung ist, Benutzer zu Passwort, und es einen Benutzer nur einmal geben darf, wäre ein Wörterbuch hier auch die bessere Datenstruktur.
Edit: Die ``return``-Anweisungen in `StarteSpiel()` machen keinen Sinn, da die dort aufgerufenen Funktionen nichts (explizit) zurück geben und auch beim Aufrufer überhaupt nichts mit dem (sinnfreien) Rückgabewert gemacht wird.
Ausserdem gibt es so etwas wie Namenskonventionen:
Style Guide for Python Code.
Re: Spiel: Kleines FakeHackprogramm Frage
Verfasst: Samstag 16. März 2013, 11:58
von Gary123456
Ich sollte mich umbringen.
Ja return ist wirklich sinnlos. Danke trotzdem!
Re: Spiel: Kleines FakeHackprogramm Frage
Verfasst: Samstag 16. März 2013, 14:15
von Gary123456
EDIT:Lösung schon gefunden!
Re: Spiel: Kleines FakeHackprogramm Frage
Verfasst: Samstag 16. März 2013, 16:01
von Gary123456
OK dann doch noch eine Frage. Will in meinem Programm einen Timer einbauen. Nun habe ich die Module Time und Threads etwas angeschaut.
Das mit dem Modul threads funkt nicht so richtig:
Code: Alles auswählen
def hello():
print "hello, world"
t = Timer(30.0, hello)
t.start() # after 30 seconds, "hello, world" will be printed
1. kommt da eine Fehlermeldung. (Verständlich)
Somit habe ich den Code etwas umgeformt.
Code: Alles auswählen
import threading
def hello():
print("hello, world")
t = threading.Timer(30.0, hello())
t.start() # after 30 seconds, "hello, world" will be printed
Nach 30 sek sollte er HelloWorld printen lassen. Das tut er jedoch nicht.
Wie kann ich einen sicheren und zuverlässigen Timer einbauen. Im Modul time finde ich keine Timer Funktion, oder bin ich blind?
Re: Spiel: Kleines FakeHackprogramm Frage
Verfasst: Samstag 16. März 2013, 16:09
von BlackJack
@Gary123456: Vom ersten zum zweiten Beispiel hast Du die Argumente verändert. Der Timer braucht eine Funktion als Argument und nicht `None` was Du im zweiten Beispiel übergibst, weil das nämlich der Rückgabewert Deiner Funktion ist.
Und dann musst Du dafür sorgen, dass der Hauptthread auch solange läuft bis die 30 Sekunden um sind. Sonst bricht das Programm sofort ab und beendet auch den Thread in dem der Timer läuft. Du könntest am Programmende zum Beispiel auf den Timer warten. Dazu haben `Thread`-Exemplare eine `join()`-Methode.
Re: Spiel: Kleines FakeHackprogramm Frage
Verfasst: Samstag 16. März 2013, 16:18
von Gary123456
Danke! Habe jetzt eine Lösung gefunden!
Re: Spiel: Kleines FakeHackprogramm Frage
Verfasst: Samstag 16. März 2013, 16:28
von Gary123456
Und Programm fertig geproggt.
Hier der Source Code:
Code: Alles auswählen
#Spiel
import os
import signal
import threading
def Gestohlene_Daten():
datei2=open("Daten.txt","w")
datei2.write("Ebay - Passwort: Hekdlaien33 ")
datei2.write("FB - Passwort: ji87z78zhihg76 ")
datei2.write("READY")
datei2.close()
print("Das Spiel ist jetzt beendet")
os.kill(os.getpid(),signal.CTRL_C_EVENT)
def TimerFunction2():
print("Daten erfolgreich gestohlen!")
Gestohlene_Daten()
def Phase2():
print("Es werden Dateien gestohlen! Haben Sie etwas Geduld!")
t2=threading.Timer(6.0,TimerFunction2)
t2.start()
def TimerFunction():
print("Verbindung erfolgreich aufgenommen!")
Phase2()
def Phase1():
print("Verbindung wird aufgenommen!")
t=threading.Timer(5.0,TimerFunction) #Timer!
t.start()
def Hilfe():
print("Mit Hilfe dieses Programm werden sie hacken! INFO: Das ist ein Spiel und kein echtes Hackprogramm!")
def Hacken():
print("Hier werden zuerst Infos über den Angreifer erfasst und diese in ein sogenanntes Logfile eingetragen!")
O_Name=input("Geben Sie hier den Namen des Opfers ein! (Vor- und Nachname!)")
O_IP=input("Geben Sie hier die IP des Opfers ein!")
A_Port=input("Geben Sie hier die Portnummer ein, über die Sie hacken möchten!")
Datei=open("Logfile.txt","w")
#Inhalt der Datei
Datei.write("Name des Opfers ")
Datei.write(O_Name)
Datei.write("IP des Opfers ")
Datei.write(O_IP)
Datei.write("Über welchem Port: ")
Datei.write(A_Port)
Datei.close()
OA_Abfrage=input("Wollen sie wirklich hacken? 1 für ja!")
if OA_Abfrage=="1":
print("Der Computer wird jetzt gehackt. Gedulden Sie sich bitte etwas!")
Phase1()
else:
print("Sie haben nichts eingegeben!")
def StarteSpiel():
HilfeAbfrage=input("Falls Sie Hilfe brauchen, drücken Sie die 1.")
if HilfeAbfrage=="1":
Hilfe()
else:
SpielAbfrage=input("Wollen Sie wirklich hacken? Falls ja, drücken sie 1.")
if SpielAbfrage=="1":
Hacken()
elif SpielAbfrage==None:
print("Das Spiel wird jetzt beendet")
os.kill(os.getpid(),signal.CTRL_C_EVENT)
Registrieren=input("Falls Sie sich registrieren möchten, drücken sie 1.")
AlleBenutzer=[]
AllePasswort=[]
if Registrieren=="1":
Nbenutzer=input("Geben Sie den gewünschten Benutzernamen ein:")
Npasswort=input("Geben Sie das gewünschte Passwort ein:")
AlleBenutzer.append(Nbenutzer)
AllePasswort.append(Npasswort)
elif Registrieren==None:
benutzer=input("Geben Sie Ihren Benutzernamen ein:")
passwort=input("Geben Sie Ihr Passwort ein:")
try:
if AlleBenutzer[0]==Nbenutzer and AllePasswort[0]==Npasswort:
StarteSpiel()
except:
print("User nicht registriert oder anderer Fehler!")
os.kill(os.getpid(),signal.CTRL_C_EVENT)
Re: Spiel: Kleines FakeHackprogramm Frage
Verfasst: Samstag 16. März 2013, 16:36
von BlackJack
@Gary123456: Was soll denn dieser `os.kill()`-Unsinn? Es gibt `sys.exit()`.
Statt `threading` hätte hier auch ein einfaches `time.sleep()` zum warten gereicht und weniger Funktionen. Wobei die Funktionen hier eher wie Sprungmarken und die Aufrufe als GOTO-Ersatz aussehen. So sah Spaghetticode in den 80ern aus.
Warum ist da eine 2 an `datei2` in `Gestohlene_Daten`?
Im Zusammenhang mit Dateien sollte man die ``with``-Anweisung verwenden.
Abkürzungen sollte man vermeiden. Wenn man `Opfer` meint, sollte man nicht nur `O` schreiben. Das es eine Namenskonvention in Python gibt, habe ich glaube ich schon einmal geschrieben, oder? Gedenkst Du auch irgendwann einmal Dich daran zu halten?
Re: Spiel: Kleines FakeHackprogramm Frage
Verfasst: Samstag 16. März 2013, 16:53
von Gary123456
Hi,
Du meinst das:
https://pypi.python.org/pypi/pep8/1.4.3
Um das zu installieren benötigt man normalerweise Adminrechte, die ich nicht habe. Die Adminrechte besitzt zurzeit mein Vater. Da müsste ich ihn mal holen, damit er das Passwort eingibt.
Und nein, ich habe es nicht ignoriert. Keine Sorge.
Was soll denn dieser `os.kill()`-Unsinn? Es gibt `sys.exit()`.
Um dieses os.kill habe ich mich informiert. Das geht auch problemlos.
Ich habe den Code etwas gekürzt, jedoch hält der sich noch nicht an die PEP 8 Richtlinien. Werde mich jetzt gleich mit dem da (
http://wiki.python-forum.de/PEP%208%20% ... setzung%29) beschäftigen. Und dann gibt es auch neuen Code. Ich werde selbstverstädnlich auch so schnell wie möglich das Programm dazu installieren.
Code: Alles auswählen
#Spiel
import os
import signal
import time
def Phase1():
print("Verbindung wird aufgenommen!")
time.sleep(10.0)
print("Verbindung aufgenommen!")
print("Es werden Dateien gestohlen! Haben Sie etwas Geduld!")
time.sleep(10.0)
print("Daten erfolgreich gestohlen")
datei=open("Daten.txt","w")
datei.write("Ebay - Passwort: Hekdlaien33 ")
datei.write("FB - Passwort: ji87z78zhihg76 ")
datei.write("READY")
datei.close()
print("Das Spiel ist jetzt beendet")
os.kill(os.getpid(),signal.CTRL_C_EVENT)
def Hilfe():
print("Mit Hilfe dieses Programm werden sie hacken! INFO: Das ist ein Spiel und kein echtes Hackprogramm!")
def Hacken():
print("Hier werden zuerst Infos über den Angreifer erfasst und diese in ein sogenanntes Logfile eingetragen!")
Opfer_Name=input("Geben Sie hier den Namen des Opfers ein! (Vor- und Nachname!)")
Opfer_IP=input("Geben Sie hier die IP des Opfers ein!")
Angreifer_Port=input("Geben Sie hier die Portnummer ein, über die Sie hacken möchten!")
Datei=open("Logfile.txt","w")
#Inhalt der Datei
Datei.write("Name des Opfers ")
Datei.write(Opfer_Name)
Datei.write("IP des Opfers ")
Datei.write(Opfer_IP)
Datei.write("Über welchem Port: ")
Datei.write(Angreifer_Port)
Datei.close()
OA_Abfrage=input("Wollen sie wirklich hacken? 1 für ja!")
if OA_Abfrage=="1":
print("Der Computer wird jetzt gehackt. Gedulden Sie sich bitte etwas!")
Phase1()
else:
print("Sie haben nichts eingegeben!")
def StarteSpiel():
HilfeAbfrage=input("Falls Sie Hilfe brauchen, drücken Sie die 1.")
if HilfeAbfrage=="1":
Hilfe()
else:
SpielAbfrage=input("Wollen Sie wirklich hacken? Falls ja, drücken sie 1.")
if SpielAbfrage=="1":
Hacken()
elif SpielAbfrage==None:
print("Das Spiel wird jetzt beendet")
os.kill(os.getpid(),signal.CTRL_C_EVENT)
Registrieren=input("Falls Sie sich registrieren möchten, drücken sie 1.")
AlleBenutzer=[]
AllePasswort=[]
if Registrieren=="1":
Nbenutzer=input("Geben Sie den gewünschten Benutzernamen ein:")
Npasswort=input("Geben Sie das gewünschte Passwort ein:")
AlleBenutzer.append(Nbenutzer)
AllePasswort.append(Npasswort)
elif Registrieren==None:
benutzer=input("Geben Sie Ihren Benutzernamen ein:")
passwort=input("Geben Sie Ihr Passwort ein:")
try:
if AlleBenutzer[0]==Nbenutzer and AllePasswort[0]==Npasswort:
StarteSpiel()
except:
print("User nicht registriert oder anderer Fehler!")
os.kill(os.getpid(),signal.CTRL_C_EVENT)
Re: Spiel: Kleines FakeHackprogramm Frage
Verfasst: Samstag 16. März 2013, 17:21
von BlackJack
@Gary123456: Ich meine kein Programm sondern einfach den
Style Guide for Python Code. Da kann man sich auch ohne Softwareunterstützung dran halten, man muss nur die Namen den Konventionen entsprechend schreiben.
Ob das mit `os.kill()` geht oder nicht ist nicht die Frage, sondern dass das unnötig kompliziert und verwirrend ist. Die Funktion um den laufenden Prozess zu beenden ist nun einmal `sys.exit()` und nicht dem eigenen Prozess vorzuspielen jemand hätte es von aussen mit einem Signal abgebrochen.
Re: Spiel: Kleines FakeHackprogramm Frage
Verfasst: Samstag 16. März 2013, 18:07
von Gary123456
http://wiki.python-forum.de/PEP%208%20% ... setzung%29 Und das ist die deutsche Version, habe ich recht?
Kommt folgende Fehlermeldung:
Code: Alles auswählen
Traceback (most recent call last):
File "C:/Users/Gerrit/Desktop/test2.py", line 3, in <module>
sys.exit()
SystemExit
Ich habe keine Ahnung, was da scheif läuft. Bzw. Ich kann die Fehlermeldung nicht interpretieren

Re: Spiel: Kleines FakeHackprogramm Frage
Verfasst: Samstag 16. März 2013, 18:18
von cofi
@PEP8 Uebersetzung, das ist zumindest eine Uebersetzung davon, ja.
`sys.exit()` ~ `raise SystemExit()` eigentlich solltest du hier aber keinen Traceback bekommen, kann es sein, dass du das Skript aus einer IDE startest?
Re: Spiel: Kleines FakeHackprogramm Frage
Verfasst: Samstag 16. März 2013, 18:24
von Gary123456
Ja war wieder mal so dumm, und habe das aus dem IDE gestartet. Dummer Fehler! Aber trotzdem vielen Dank.
Neuer Code:
Code: Alles auswählen
#Spiel
import sys
import signal
import time
def Phase1():
print("Verbindung wird aufgenommen!")
time.sleep(10.0)
print("Verbindung aufgenommen!")
print("Es werden Dateien gestohlen! Haben Sie etwas Geduld!")
time.sleep(10.0)
print("Daten erfolgreich gestohlen")
datei=open("Daten.txt","w")
datei.write("Ebay - Passwort: Hekdlaien33 ")
datei.write("FB - Passwort: ji87z78zhihg76 ")
datei.write("READY")
datei.close()
print("Das Spiel ist jetzt beendet")
sys.exit()
def Hilfe():
print("Mit Hilfe dieses Programm werden sie hacken! INFO: Das ist ein Spiel und kein echtes Hackprogramm!")
def Hacken():
print("Hier werden zuerst Infos über den Angreifer erfasst und diese in ein sogenanntes Logfile eingetragen!")
Opfer_Name=input("Geben Sie hier den Namen des Opfers ein! (Vor- und Nachname!)")
Opfer_IP=input("Geben Sie hier die IP des Opfers ein!")
Angreifer_Port=input("Geben Sie hier die Portnummer ein, über die Sie hacken möchten!")
Datei=open("Logfile.txt","w")
#Inhalt der Datei
Datei.write("Name des Opfers ")
Datei.write(Opfer_Name)
Datei.write("IP des Opfers ")
Datei.write(Opfer_IP)
Datei.write("Über welchem Port: ")
Datei.write(Angreifer_Port)
Datei.close()
OA_Abfrage=input("Wollen sie wirklich hacken? 1 für ja!")
if OA_Abfrage=="1":
print("Der Computer wird jetzt gehackt. Gedulden Sie sich bitte etwas!")
Phase1()
else:
print("Sie haben nichts eingegeben!")
def StarteSpiel():
HilfeAbfrage=input("Falls Sie Hilfe brauchen, drücken Sie die 1.")
if HilfeAbfrage=="1":
Hilfe()
else:
SpielAbfrage=input("Wollen Sie wirklich hacken? Falls ja, drücken sie 1.")
if SpielAbfrage=="1":
Hacken()
elif SpielAbfrage==None:
print("Das Spiel wird jetzt beendet")
sys.exit()
Registrieren=input("Falls Sie sich registrieren möchten, drücken sie 1.")
AlleBenutzer=[]
AllePasswort=[]
if Registrieren=="1":
Nbenutzer=input("Geben Sie den gewünschten Benutzernamen ein:")
Npasswort=input("Geben Sie das gewünschte Passwort ein:")
AlleBenutzer.append(Nbenutzer)
AllePasswort.append(Npasswort)
elif Registrieren==None:
benutzer=input("Geben Sie Ihren Benutzernamen ein:")
passwort=input("Geben Sie Ihr Passwort ein:")
try:
if AlleBenutzer[0]==Nbenutzer and AllePasswort[0]==Npasswort:
StarteSpiel()
except:
print("User nicht registriert oder anderer Fehler!")
sys.exit()
Werde mir jetzt die PEP8 Richtlinien ausdrucken!
Re: Spiel: Kleines FakeHackprogramm Frage
Verfasst: Samstag 16. März 2013, 18:39
von cofi
`with` hat nichts mit PEP8 zu tun und ist die vllt wichtigste Empfehlung von BlackJack gewesen, setz sie doch bitte um.
Daneben ist `pep8` ein einfaches Python-Programm und muss nicht "installiert" werden.
Re: Spiel: Kleines FakeHackprogramm Frage
Verfasst: Samstag 16. März 2013, 18:47
von Gary123456
Werde ich machen.
Re: Spiel: Kleines FakeHackprogramm Frage
Verfasst: Samstag 16. März 2013, 19:26
von Hyperion
Noch ein kleiner Tipp: Für so langen Code verwende doch gist.github.org o.ä. Bei Github kannst Du sogar Änderungen am Code hinter demselben Link erstellen. Alternativ haben wir hier im Forum selber ein Pastebin (s.o. in der Menüleiste der Seite).
Re: Spiel: Kleines FakeHackprogramm Frage
Verfasst: Samstag 16. März 2013, 19:56
von Gary123456
Mit Pastebin habe ich es grade versucht. Komme damit nicht klar. Da werden iwie noch extra Einrückungen gemacht, die ich nicht will.
Daher nochmals hier der Code:
Code: Alles auswählen
# A little game
import sys
import signal
import time
def phase1():
print("Verbindung wird aufgenommen!")
time.sleep(10.0)
print("Verbindung aufgenommen!")
print("Es werden Dateien gestohlen! Haben Sie etwas Geduld!")
time.sleep(10.0)
print("Daten erfolgreich gestohlen")
datei = open("Daten.txt", "w")
datei.write("Ebay - Passwort: Hekdlaien33 ")
datei.write("FB - Passwort: ji87z78zhihg76 ")
datei.write("READY")
datei.close()
print("Das Spiel ist jetzt beendet")
sys.exit()
def hilfe():
print("Mit Hilfe dieses Programm werden sie hacken! INFO: Das ist ein Spiel und kein echtes Hackprogramm!")
def hacken():
print("Hier werden zuerst Infos über den Angreifer erfasst und diese in ein sogenanntes Logfile eingetragen!")
opfer_Name = input("Geben Sie hier den Namen des Opfers ein! (Vor- und Nachname!)")
opfer_IP = input("Geben Sie hier die IP des Opfers ein!")
angreifer_Port = input("Geben Sie hier die Portnummer ein, über die Sie hacken möchten!")
datei2 = open("Logfile.txt", "w")
#content of the file
datei2.write("Name des Opfers ")
datei2.write(opfer_Name)
datei2.write("IP des Opfers ")
datei2.write(opfer_IP)
datei2.write("Über welchem Port: ")
datei2.write(angreifer_Port)
datei2.close()
oa_abfrage = input("Wollen sie wirklich hacken? 1 für ja!")
if oa_abfrage == "1":
print("Der Computer wird jetzt gehackt. Gedulden Sie sich bitte etwas!")
phase1()
else:
print("Sie haben nichts eingegeben!")
def starte_spiel():
hilfe_abfrage = input("Falls Sie Hilfe brauchen, drücken Sie die 1.")
if hilfe_abfrage == "1":
hilfe()
else:
spiel_abfrage = input("Wollen Sie wirklich hacken? Falls ja, drücken sie 1.")
if spiel_abfrage == "1":
hacken()
elif spiel_abfrage == None:
print("Das Spiel wird jetzt beendet")
sys.exit()
registrieren = input("Falls Sie sich registrieren möchten, drücken sie 1.")
alle_benutzer = []
alle_passwort = []
if registrieren == "1":
neuer_benutzer = input("Geben Sie den gewünschten Benutzernamen ein:")
neues_passwort = input("Geben Sie das gewünschte Passwort ein:")
alle_benutzer.append(neuer_benutzer)
alle_passwort.append(neues_passwort)
elif registrieren == None:
benutzer = input("Geben Sie Ihren Benutzernamen ein:")
passwort = input("Geben Sie Ihr Passwort ein:")
try:
if alle_benutzer[0] == neuer_benutzer and alle_passwort[0] == neues_passwort:
starte_spiel()
except:
print("User nicht registriert oder anderer Fehler!")
sys.exit()
Ist es von der Lesbarkeit besser? Habe mich, denke ich, an alle PEP8 Richtlinien gehalten.
Und ich möchte nochmals with ansprechen. Habe hier was gefunden:
http://openbook.galileocomputing.de/pyt ... 13_008.htm Kapiere das nur nicht. Kann mir jemand das in kurzen Sätzen erklären?
Re: Spiel: Kleines FakeHackprogramm Frage
Verfasst: Samstag 16. März 2013, 20:07
von Hyperion
Du solltest mit vier Spaces einrücken - dann gibt es auch keine Probleme in Pastebins
In Deinem Code sind noch viel zu viele Leerzeichen enthalten.
Vom Galileo-Openbook wird hier im Forum abgeraten. Mindestens das Kapitel über OOP ist Schrott.
Was genau kapierst Du denn an ``with`` nicht?
Re: Spiel: Kleines FakeHackprogramm Frage
Verfasst: Samstag 16. März 2013, 20:24
von Gary123456
In Deinem Code sind noch viel zu viele Leerzeichen enthalten.
Leerzeichen? Meinst Du Leerzeilen oder wirklich Leerzeichen?
Was genau kapierst Du denn an ``with`` nicht?
Praktisch das ganze. Ich weiß einfach nicht, wie man sowas bildet.
Du solltest mit vier Spaces einrücken - dann gibt es auch keine Probleme in Pastebins

Bei mir sind Standard 4 Leerzeichen.
Ich habe den Code umgeformt, ist jetzt etwas kürzer:
Code: Alles auswählen
# A little game
import sys
import signal
import time
def phase1():
print("Verbindung wird aufgenommen!")
time.sleep(10.0)
print("Verbindung aufgenommen!")
print("Es werden Dateien gestohlen! Haben Sie etwas Geduld!")
time.sleep(10.0)
print("Daten erfolgreich gestohlen")
datei = open("Daten.txt", "w")
datei.write("Ebay - Passwort: Hekdlaien33 ")
datei.write("FB - Passwort: ji87z78zhihg76 ")
datei.write("READY")
datei.close()
print("Das Spiel ist jetzt beendet")
sys.exit()
def hilfe():
print("Mit Hilfe dieses Programm werden sie hacken! INFO: Das ist ein Spiel und kein echtes Hackprogramm!")
def hacken():
print("Hier werden zuerst Infos über den Angreifer erfasst und diese in ein sogenanntes Logfile eingetragen!")
opfer_Name = input("Geben Sie hier den Namen des Opfers ein! (Vor- und Nachname!)")
opfer_IP = input("Geben Sie hier die IP des Opfers ein!")
angreifer_Port = input("Geben Sie hier die Portnummer ein, über die Sie hacken möchten!")
datei2 = open("Logfile.txt", "w")
#content of the file
datei2.write("Name des Opfers ")
datei2.write(opfer_Name)
datei2.write("IP des Opfers ")
datei2.write(opfer_IP)
datei2.write("Über welchem Port: ")
datei2.write(angreifer_Port)
datei2.close()
oa_abfrage = input("Wollen sie wirklich hacken? 1 für ja!")
if oa_abfrage == "1":
print("Der Computer wird jetzt gehackt. Gedulden Sie sich bitte etwas!")
phase1()
else:
print("Sie haben nichts eingegeben!")
def starte_spiel():
hilfe_abfrage = input("Falls Sie Hilfe brauchen, drücken Sie die 1.")
if hilfe_abfrage == "1":
hilfe()
else:
spiel_abfrage = input("Wollen Sie wirklich hacken? Falls ja, drücken sie 1.")
if spiel_abfrage == "1":
hacken()
elif spiel_abfrage == None:
print("Das Spiel wird jetzt beendet")
sys.exit()
registrieren = input("Falls Sie sich registrieren möchten, drücken sie 1.")
alle_benutzer = []
alle_passwort = []
if registrieren == "1":
neuer_benutzer = input("Geben Sie den gewünschten Benutzernamen ein:")
neues_passwort = input("Geben Sie das gewünschte Passwort ein:")
alle_benutzer.append(neuer_benutzer)
alle_passwort.append(neues_passwort)
elif registrieren == None:
benutzer = input("Geben Sie Ihren Benutzernamen ein:")
passwort = input("Geben Sie Ihr Passwort ein:")
try:
if alle_benutzer[0] == neuer_benutzer and alle_passwort[0] == neues_passwort:
starte_spiel()
except:
print("User nicht registriert oder anderer Fehler!")
sys.exit()