Ich habe aber schon lange mitgelesen...
Ich habe für euch einige CrackMes geschrieben - also Programme, an denen ihr versuchen
könnt, den "Kopierschutz" zu umgehen.
Also eigentlich ist es kein Kopierschutz, sondern wenn ihr ein Programm normal startet, dann
wird eine Zahl von 0 bis 1000000 zufällig ausgewählt, und daraus ein Hashwert berechnet.
Während es am Anfang wirklich nur eine Hashfunktion ist, bei der man nur das Salt aus der
Datei fischen muss, wird es in den höheren Levels komplizierter.
Eure Aufgabe ist es nun, den Hashwert zu berechnen, den das Programm ausgeben würde,
wenn die Zufallszahl 1000002 währe. Wenn ihr den habt, postet ihn hier und ich schaue, ob er stimmt.
Ich gebe euch auch immer die Lösung für die Zahl 1000001.
Zu Demonstration des Prinzips hier mal Level 0:
Code: Alles auswählen
import hashlib
import random
def check_env(): #Wird natuerlich komplizierter
if random.randrange(1000000) > 1000000:
raise ValueError("Das Manipulieren des Interpretes ist verboten!")
if hashlib.md5("thisisnosalt"+"$"+"g").hexdigest()[:-8] != "839a2e3db552df314a5c563e":
raise ValueError("Das Manipulieren des Interpretes ist verboten!")
check_env()
n = random.randrange(1000000)
v = hashlib.md5("thisissalt$"+str(n)).hexdigest()[:8]
print "theAngeles Python CrackMe - Level 0"
print "Zufallswert: %s"%n
print "Hash: %s"%v
was ihr wollt.
Bitte postet nicht den Weg zur Lösung, sondern nur die Lösung selbst. So kann sich der nächste dann an der
1000003 versuchen.
Die anderen Levels gibt es unter https://docs.google.com/open?id=0B6wm8U ... Y0YzJkOWEx
Viel Spaß und Erfolg!