Immer noch Problem mit steganography programm...



  • ich habe da noch eine grundlegende frage...
    ist es in c++ auch möglich den inhalt eines fstreams auf binärer ebene zu verändern ohne das ganze in einen buffer zu packen und char für char zu bearbeiten.... hatte schon einnmal gepostet, dass ich im moment noch jeden char per funktion in einen int bin[8] umwandle und dann bearbeite, wo mir geschrieben wurde dass man das auch auf bin ebene direkt machen kann... kann mir evtl jemand sagen wie, oder wo ich das nachlesen kann?
    vielen dank schon einmal



  • Solange du keine Zeichen einfügen oder löschen willst (dazu müsstest du alles hinter der aktuellen Position umkopieren), kannst du auch halbwegs direkt mit dem Stream arbeiten - mit get() bekommst du ein Byte, mit put() schreibst du es zurück - und mit seekg()/seekp() wanderst du zu der Position, die du bearbeiten willst.
    Aber im Ernstfall dürfte es wohl schneller sein, die Datei komplett einzulesen und im Speicher zu manipulieren.



  • ja mein problem ist in erster Linie auch nicht das bearbeiten im stream.....
    bei der stagano. nimmt man ja im prinzip eine datei (zu text) und versteckt sie in den bytes einer bmp, indem man ein byte der textdatei auf 8 bytes der bmp verteilt und nur das jeweilige lsb der bmp ändert und somit die farben annähernd gleich bleiben.....
    meine eigeentliche frage ist nun, dass ich im moment noch die bilddatei und textdatei char für char (8 ausm bild einer ausm text) in Int arrays[8] umwandel um die manipulation auf byte ebene vorzunehmen....das kostet natrlich extrem viel zeit...
    ich habe schon gelesen, dass das wohl auch auf byte eben direkt geht.... weiß nur leider nicht wie!
    wäre super wenn mir da jemand einen link posten könnte wo man das nachlesen kann (finde selber da nix) oder direkt abhilfe weiß



  • Ich vermute mal, der Flaschenhals wird das Einlesen sein. Versuch doch mal, beide Dateien in einem Rutsch in jeweils einen entsprechend großen Puffer einzulesen, dann die Bild-Daten zu manipulieren und mit einem Rutsch zurückzuschreiben. Dann sollte das Bild aber nicht zu groß sein.



  • versuch ich gleich einmal!



  • jup hat sehr gut geklappt


Anmelden zum Antworten