≡ Menu

Come ti nascondo le informazioni in un JPEG

Osserviamo che ogni file .jpg, a un editor esadecimale, inizia con una sequenza FFD8 e termina con la sequenza FFD9

Il codice qui indicato “inietta” il messaggio “Hello World” in coda al file image.jpg senza però modificarne la qualità:

with open('image.jpg', 'ab') as f:
    f.write(b"Hello World")
    f.close()

Ecco come, all’editor esadecimale, appare adesso image.jpg:

Dopo la sequenza FFD9 è stata inserita, come si è evidenziato nell’immagine, un flusso binario che rappresenta, appunto, la stringa Hello World.

Se volessimo leggere il contenuto che abbiamo scritto in coda al file dopo la sequenza FFD9:

with open('image.jpg', 'rb') as f:
    content = f.read()
    offset = content.index(bytes.fromhex('FFD9'))

    f.seek(offset + 2)
    print(f.read())

    f.close()

{ 0 comments… add one }

Rispondi

Next post:

Previous post: