In dieser Challenge (3D) wird uns eine Datei mit der Information zur Verfügung gestellt, dass es sich um eine neue Kamera-Technologie handeln soll. Ziel für uns scheint es zu sein, die Datei zu analysieren und daraus irgendwie den Schlüssel zu extrahieren.
Erster Schritt ist die Datei grundlegend zu untersuchen und wenn möglich deren Dateityp festzustellen.
rup0rt@lambda:~/3d$ file edbd4701d0b9d2a33a743e96f7bc8f3b edbd4701d0b9d2a33a743e96f7bc8f3b: JPEG image data, EXIF standard rup0rt@lambda:~/3d$ ls -lh edbd4701d0b9d2a33a743e96f7bc8f3b -rw-r--r-- 1 rup0rt rup0rt 6.1M Apr 28 11:12 edbd4701d0b9d2a33a743e96f7bc8f3b
Es handelt sich also um eine Bilddatei im JPEG-Format, die mit zusätzlichen Metadaten (EXIF) versehen zu sein scheint. Darüber hinaus ist auffällig, dass die Datei für ein JPEG-Bild relativ groß ist. Sehen wir uns zunächst noch die EXIF-Daten der Datei mit dem Werkzeug “exiftags” an.
rup0rt@lambda:~/3d$ exiftags edbd4701d0b9d2a33a743e96f7bc8f3b Camera-Specific Properties: Equipment Make: SONY Camera Model: DSC-HX9V Maximum Lens Aperture: f/3.3 Image-Specific Properties: Image Orientation: Top, Left-Hand Horizontal Resolution: 72 dpi Vertical Resolution: 72 dpi Image Created: 2012:04:04 11:32:05 Exposure Time: 1/125 sec F-Number: f/3.3 Exposure Program: Normal Program ISO Speed Rating: 200 Brightness: 4.4 EV Exposure Bias: 0 EV Metering Mode: Pattern Light Source: Unknown Flash: No Flash, Compulsory Focal Length: 4.28 mm Color Space Information: sRGB Image Width: 1920 Image Height: 1080 Rendering: Normal Exposure Mode: Auto White Balance: Auto Scene Capture Type: Standard Contrast: Normal Saturation: Normal Sharpness: Normal GPS Status: Measurement Interoperability Geodetic Survey Data: WGS-84 GPS Differential Correction: No Correction
Die EXIF-Daten scheinen keine Besonderheiten aufzuweisen. Folgt also ein erster Blick auf das Bild selbst.
Nun ergibt einiges einen Sinn. Der zur Challenge erforderliche Schlüssel muss von uns vom Bild selbst abgelesen werden. Das Problem ist nur, dass ein Papierstreifen uns den Blick versperrt. Diverse Verzerrungen und Überblendungen am Bild lassen jedoch auf eine Art 3D-Effekt schließen, was den Namen der Challenge wohl begründet.
Da 3D-Effekte immer durch das Aufnehmen eines Objektes aus verschiedenen Blickwinkeln entstehen, können wir den Schlüssel vielleicht ablesen, wenn wir einen anderen Blickwinkel (am Papierstreifen vorbei) aus dem Bild extrahieren können. Die Frage ist nur, wie die anderen Blickwinkel ins Bild codiert sind. Hier erinnern wir uns an die auffällige Größe der Datei und sehen uns den Inhalt im Hex-Editor an.
Wie wir sehen, beginnt das JPEG mit den Bytes “FF D8 FF E1”. Testweise suchen wir nach diesen Bytes einmal in der gesamten Datei und erhalten als Ergebnis, dass diese Bytefolge (der JPEG-Header) genau 15 Mal im gesamten Bild vorkommt. Testweise schneide ich die ersten 0x6a200 Bytes aus dem Bild heraus und erhalte bei erneuter Betrachtung der Datei tatsächlich folgendes Ergebnis:
Ein weiterer Blickwinkel! Und damit auch schon den hinteren Teil des Schlüssels, nämlich “dach3”. Der Rest ist simpel. Entweder man automatisiert sich das Vorgehen per Skript für die weiteren Bilder oder man wiederholt das Schneiden per Hand.
Der manuelle Weg erscheint mir hier schneller, also schneide ich das Bild erneut an den Stellen 0xd3200, 0x13b200, 0x1a2200, 0x2091be, 0x27017c, 0x2d713a, 0x33f0fa, 0x3a70b6, 0x40f074, 0x478021, 0x4dfff0, 0x547fae und 0x54ef70.Damit erhalte ich alle 15 Blickwinkel und kann mir den Schlüssel mit den Folgenden Auszügen einfach zusammensetzen.
Der Schlüssel lautet also “3d_g1v35_m3_a_h3adach3“.