Zunächst einmal lohnt es sich, diese Datei im Hex-Editor zu untersuchen:
Freundlicherweise kann man bereits an der Dateiendung erkennen, dass es sich um ein PNG-File handelt. Dementsprechend muss sie den Datei-Header
89 50 4e 47 0d 0a 1a 0a
besitzen. Offensichtlich fehlt die 89
(der Rest entspricht dem korrekten Header). Es liegt die Vermutung nahe, dass der Verschlüsselungsalgorithmus wie folgt aussieht (Implementierung in Python):
def encrypt(to_invert):
buf = []
for i in range(0,len(to_invert)):
buf.append(to_invert[(i+1)%len(to_invert)])
return buf
Betrachten wir das Ende der Datei, so stellen wir fest, dass sich dort der fehlende Part des Headers befindet, was die Vermutung bestätigt:
Der Entschlüsselungsalgorithmus lautet dann entsprechend:
def decrypt(to_decrypt):
buf = []
for i in range(0,len(to_decrypt)):
buf.append(to_decrypt[(i-1)%len(to_decrypt)])
return buf
Wendest Du diesen Algorithmus auf die verschlüsselte Datei an, so erhältst Du als Ergebnis: