Frage

Um mein Leben zu vereinfachen, möchte ich in der Lage sein, am Ende einiger JPG-Bilder, die mein Programm verarbeitet*, 1 bis 7 zusätzliche Zeichen anzuhängen.Hierbei handelt es sich um Dummy-Auffüllungen (Füller usw. – wahrscheinlich alle 0x00), nur um die Dateigröße für die Blockverschlüsselung auf ein Vielfaches von 8 Byte zu erhöhen.

Nachdem ich dies mit einigen Programmen ausprobiert habe, scheint es, dass sie mit den zusätzlichen Zeichen, die nach dem erscheinen, in Ordnung sind FF D9, der das Ende des Bildes angibt - Es scheint also, dass das Dateiformat so gut definiert ist, dass die „Beschädigung“, die ich am Ende hinzufüge, keine Rolle spielen sollte.

Bei Bedarf kann ich die Dateien jederzeit später nachbearbeiten, aber ich bevorzuge die einfachste Möglichkeit, sie zu belassen (ich entschlüssele andere Dateitypen und es macht ihnen nichts aus, daher ist es ärgerlich, einen Sonderfall zu haben). ).

Ich glaube, bei all dem Gerede darüber Steganographie Hullaballo vor Jahren, jemand hat hier etwas Input ...

(Verschlüsselungsverarbeitung durch 8-Byte-Blöcke, ich möchte die vorverschlüsselte Dateigröße nicht speichern, also 0x00 an die Eingabedaten anhängen und sie nach der Dekodierung dort belassen)

War es hilfreich?

Lösung

Nein, Sie können am Ende einer JPG-Datei Bits hinzufügen, ohne sie unbrauchbar zu machen.Die Überschrift der JPG-Datei gibt an, wie sie gelesen werden soll, sodass das Programm, das sie liest, am Ende der JPG-Daten anhält.

Tatsächlich haben Leute Zip-Dateien in JPG-Dateien versteckt, indem sie die Zip-Daten an das Ende der JPG-Daten angehängt haben.Aufgrund der Struktur dieser Formate ist die resultierende Datei in beiden Formaten gültig.

Andere Tipps

Du kannst ..aber die Ergebnisse Mai unvorhersehbar sein.

Obwohl das Format genügend Informationen enthält, um den Client anzuweisen, die zusätzlichen Daten zu ignorieren, handelt es sich wahrscheinlich nicht um einen Fall, auf den der Programmierer getestet hat.

Ein paranoides Programm könnte sich die Größe ansehen, die Diskrepanz bemerken und entscheiden, dass es Ihre Datei nicht verarbeitet, weil es sie offensichtlich nicht vollständig versteht.Dies ist besonders wahrscheinlich, wenn Daten aus dem Internet gelesen werden, wenn zufällige Bytes in einer Datei als Sicherheitsrisiko angesehen werden könnten.

Sie können Ihre Daten im XMP-Tag in ein JPEG (oder in EXIF- oder IPTC-Felder) einbetten.XMP ist XML, sodass Sie ein gewisses Maß an Flexibilität haben, um Ihre eigenen benutzerdefinierten Dinge zu erstellen.

Das ist es wahrscheinlich nicht das Einfachste, was möglich ist Aber wenn Sie Ihre Daten hier platzieren, bleibt die Integrität des JPEG erhalten und es ist keine „Nachbearbeitung“ erforderlich.

Ihre Daten werden dann in anderen Bildbearbeitungsprogrammen wie PhotoShop angezeigt, was möglicherweise nicht ideal ist.

Wie andere bereits erwähnt haben, haben Sie keine Kontrolle darüber, wie Programme Bilddateien verarbeiten. Daher kann es sein, dass einige Programme die Bilder für gültig halten, andere möglicherweise nicht.

Allerdings gibt es hier ein größeres Problem.Nach Ihrer Frage beurteilen ich, dass Sie "Sicherheit durch Dunkelheit" üben. Es gilt weithin als sehr schlechte Praxis.Verwenden Sie Google, um eine Vielzahl von Artikeln zu diesem Thema zu finden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top