Seite 1 von 1

Ungewöhnliches Hilfeersuchen im Rahmen einer pdf Konvertierung

Verfasst: Montag 28. Dezember 2020, 13:17
von Der_Dirk
Guten Tag,

bitte entschuldigen Sie den ungewöhnlichen post meinerseits in diesem Forum.
Allerdings habe ich die Hoffnung, genau hier das richtige know-how zu finden.
Grundsätzlich dreht sich mein Problem um einen Geocache (GPS Schatzsuche), für dessen Lösung man
Grundkenntnisse in Python benötigt. Die Geschichte lautet so, dass ein Brief in pdf konvertiert werden sollte und
als Ergebnis eine png Datei herauskam. Diese ist nicht lesbar und hier verlinkt: https://tinyurl.com/ybjrepbl
Mir muss es also gelingen eine lesbare Datei zu erstellen.
Mein Idee war es aus der png eine pdf zu machen, allerdings bleibt das sichtbare Ergebnis gleich und nicht lesbar.

Wurde bei der initialen Konvertierung ein falscher Code verwendet?
Ich hoffe hier Interessierte zu finden, die mir helfen können. Gerne zeige ich mich auch erkenntlich in Form einer Pizza
vom örtlichen Lieferdienst oder ähnliches :wink:

Über Rückmeldungen freue ich mich und beste Grüße
Dirk

Re: Ungewöhnliches Hilfeersuchen im Rahmen einer pdf Konvertierung

Verfasst: Montag 28. Dezember 2020, 14:17
von snafu
Tatsächlich ein ungewöhnlicher Post und dazu gleich beim ersten Beitrag mit einem unkenntlich gemachten Link zu einer für die Problemlösung eigentlich irrelevanten angeblichen PNG Datei zu kommen, macht es für mich nicht wirklich seriöser. Täusche mich da gerne, aber zumindest ich werde nicht drauf klicken.

Re: Ungewöhnliches Hilfeersuchen im Rahmen einer pdf Konvertierung

Verfasst: Montag 28. Dezember 2020, 14:26
von __blackjack__
@Der_Dirk: Bei der initialen Konvertierung wurde kein ”falscher” Code verwendet. Das ist ja Absicht, dass da ein Rätsel draus wird. Gab es noch weitere Hinweise?

Ich vermute einfach mal, dass in den Pixeldaten irgendwie ein PDF kodiert ist. Es ist ein RGB-Bild in dem aber nur genau 16 Farben verwendet werden. Das Histogram ist relativ gleichmässig, was man erwarten würde wenn die Pixel ein komprimierte Datei beschreiben:

Code: Alles auswählen

In [453]: img = Image.open("Downloads/Verschluesselt.png")                       

In [454]: img.getbands()                                                        
Out[454]: ('R', 'G', 'B')

In [455]: img.getcolors()                                                       
Out[455]: 
[(60566, (255, 255, 255)),
 (60345, (128, 128, 0)),
 (58220, (0, 255, 255)),
 (58645, (255, 0, 255)),
 (54620, (128, 0, 0)),
 (58126, (192, 192, 192)),
 (56283, (0, 0, 255)),
 (55475, (128, 0, 128)),
 (53791, (128, 128, 128)),
 (58324, (0, 128, 128)),
 (56296, (0, 255, 0)),
 (56745, (255, 0, 0)),
 (55200, (0, 0, 128)),
 (57579, (255, 255, 0)),
 (51946, (0, 0, 0)),
 (54143, (0, 128, 0))]

In [456]: len(img.getcolors())                                                  
Out[456]: 16
Die Pixeldaten liessen sich also auch mit nur vier Bit pro Pixel kodieren. Zwei Pixel liessen sich dann zu einem Byte zusammenfassen. Ich würde also als erstes versuchen herauszufinden ob man die Palette so anordnen kann, das unter diesen Bedingungen die ersten Pixel den Anfang einer PDF-Datei ergeben würden.

Edit: Die ersten Pixel mal manuell angeschaut und das sieht vielversprechend aus:

Code: Alles auswählen

In [463]: data[0,0]                                                             
Out[463]: (0, 128, 0)

In [464]: data[1,0]                                                             
Out[464]: (128, 0, 128)

In [465]: data[2,0]                                                             
Out[465]: (128, 0, 128)

In [466]: data[3,0]                                                             
Out[466]: (0, 0, 0)

In [467]: data[4,0]                                                             
Out[467]: (0, 0, 128)

In [468]: data[5,0]                                                             
Out[468]: (0, 0, 128)

In [469]: data[6,0]                                                             
Out[469]: (0, 0, 128)
Man vergleiche das mit den Nibbles des Anfangs einer PDF-Datei, wo am Anfang immer eine Kennung für das PDF-Format steht:

Code: Alles auswählen

$ head -c 4 test.pdf | hd
00000000  25 50 44 46                                       |%PDF|
00000004
Koordinaten von 0 an zählend müssen Pixel 1 und 2 gleich sein. Pixel 3 ist 0 was auf (0, 0, 0) abgebildet wird, Und die Pixel 4, 5, und 6 müssen gleich sein. Passt prima zu den Daten.

Re: Ungewöhnliches Hilfeersuchen im Rahmen einer pdf Konvertierung

Verfasst: Montag 28. Dezember 2020, 21:06
von noisefloor
Hallo,
Grundsätzlich dreht sich mein Problem um einen Geocache (GPS Schatzsuche), für dessen Lösung man Grundkenntnisse in Python benötigt
Poste doch mal den Link zum Geocaching-Listing - sofern es kein PM Cache ist - dann haben wir auch alle Infos.

Das man genau Python für den Geocache benötigt wäre ungewöhnlich, weil man das, was man in Python machen kann, auch in deren Programmiersprachen machen könnte.

Gruß, noisefloor

Re: Ungewöhnliches Hilfeersuchen im Rahmen einer pdf Konvertierung

Verfasst: Donnerstag 31. Dezember 2020, 18:04
von Der_Tiger
Ich steig mal mit ein und hier der Link zum Listing:

https://coord.info/GC8WBHD

Re: Ungewöhnliches Hilfeersuchen im Rahmen einer pdf Konvertierung

Verfasst: Donnerstag 31. Dezember 2020, 22:52
von Der_Tiger
Mit den Infos von __blackjack__ konnte ich die PDF erstellen und lesen. Danke

Re: Ungewöhnliches Hilfeersuchen im Rahmen einer pdf Konvertierung

Verfasst: Montag 1. Februar 2021, 12:48
von __blackjack__
Ich kenne mich mit den Gepflogenheiten beim Geocaching nicht aus und begehe hier ziemlich sicher einen „faux pas“ in dem ich die Lösung einfach mal in ein neues Rätsel verpacke:

Ich konnte das PDF aus dem Bild holen und wollte das ganze ausdrucken. Bei der ersten Seite (siehe Bild) gab es aber einen Papierstau.

Bild

Bild- und PDF-Datei hatte ich gleich nach dem senden des Druckauftrags gelöscht. Also blieben als einzige Daten folgende Datei die ich aus dem Spoolerverzeichnis/Cache des Druckdienstes gefischt habe: decoded.prn. So bin ich dann doch an die Informationen gekommen, ohne die Bilddatei noch einmal herunterladen und das PDF daraus extrahieren zu müssen.