Nebuchadnezar
Erfahrenes Mitglied
Hi, programmiere gerade ein einfaches Steganographie-Programm. Funktioniert eigentlich schon ganze gut. Encoden und Decoden funktioniert soweit wenn ich die Nachricht in einer Bitmap speicher. Die Bits 0x06-0x09 in einer Bitmap sind für ka. was auch immer reserviert. Also solang an dem Bild nicht gefummelt wird perfekt. Ich dachte mir ich speicher in diesen Bits die Adresse vom Ende der Nachricht. Von der Überlegung klappt das ganz gut.
Jedoch stellt mich das vor folgendem Problem:
Wenn ich die letzten 8 Bits der "Botschaft" im Bild verstecke müsste ich doch mit
ftell(dateiname) die Position des letzten Bits bekommen. In meinem Fall wäre das 22318
oder 0x572e. Das speichere ich an der besagten "Adresse" im Bild.
Beim dekodieren ist das natürlich meine Abbruchbedingung. Jedoch wenn ich 0x572e als Grenze nehme fehlen noch einige Zeichen die nicht dekodiert wurden (sie stehen im Image aber anscheinend bekomme ich mit ftell(dateiname) die falsche "Position".
Mit Herumprobieren konnte ich die echte Grenze ermitteln: nähmlich 25091 bzw. 0x6203.
Hat jemand eine Idee woher diese 2773 Bits Differenz kommen?
Bin schon ratlos, Danke.
Jedoch stellt mich das vor folgendem Problem:
Wenn ich die letzten 8 Bits der "Botschaft" im Bild verstecke müsste ich doch mit
ftell(dateiname) die Position des letzten Bits bekommen. In meinem Fall wäre das 22318
oder 0x572e. Das speichere ich an der besagten "Adresse" im Bild.
Beim dekodieren ist das natürlich meine Abbruchbedingung. Jedoch wenn ich 0x572e als Grenze nehme fehlen noch einige Zeichen die nicht dekodiert wurden (sie stehen im Image aber anscheinend bekomme ich mit ftell(dateiname) die falsche "Position".
Mit Herumprobieren konnte ich die echte Grenze ermitteln: nähmlich 25091 bzw. 0x6203.
Hat jemand eine Idee woher diese 2773 Bits Differenz kommen?
Bin schon ratlos, Danke.