Frage

Nach dem Header Ruhm Lesen, Datenrahmen beginnt, möchte ich wissen, was die Datenrahmengröße ist, dass ein MP3-Player liest, so dass, wenn ich ändern jedes Rahmens einzelnes Bit, ohne dass es viel, um den Klang der Datei und wie kann ich ein einzelnes Bit ändern (letzte Bit) so Effekt minimal ist in C #. Bitte helfen Sie mir

War es hilfreich?

Lösung 3

Ich war in der Lage, es herauszufinden und kam mit meinem eigenen Algorithmus, Rzr was auch immer gesagt, Sie hat Recht.

Die MP3-Datei ist Datei jede Bit-Wechsel in einem Rahmen einführen würde enorme Lärm stark komprimiert.

es gibt Weg für diese arbeiten um,

Soln_1: Hide the text data and in any of the bit of each byte and reconstruct the frame using humming code 

Soln_2: which i was able to do it, using Layer III, BitRate=128000, SampleRate=441000, Padding=0

Nachteile :. Dateigröße abit erhöht werden würde, die die nicht-beabsichtigten Benutzer kann nicht vorhersagen, es sei denn, er die exakte Kopie der Original-MP3-Datei hat

Able erreichen : ohne Lärm konnte ich zu verbergen Textdaten bis zu 5 kb in einer 3mb mp3-Datei

Umgehen :

step1: scan every 8 bytes in each frame
step2: take a 8 bits from the text data

Pre-definee Ort, an dem in jedem Rahmen jedes Bit von Textdaten setzen z. 4. Lage

step3:  check every 4th bit location of each byte of the frame is same as the each bit of the text data are same

Z. B .: Textdaten ein Byte ist 01110001

1. 8-Byte aus dem mp3-Datenrahmen

byte_1: 01101111 -->4th location bit is 0
byte_2: 01111111 -->4th location bit is 1
byte_3: 01111001 -->4th location bit is 1
byte_4: 01111011 -->4th location bit is 1
byte_5: 01100011 -->4th location bit is 0
byte_6: 01101100 -->4th location bit is 0
byte_7: 01101011 -->4th location bit is 0
byte_8: 01110011 -->4th location bit is 1

so dieses Byte aus dem Rahmen, jeder 4th Bitstelle ist, die Bits, die als die Textdaten-Bits gleich sind.

Step4: note down the location of the byte in the mp3 data frame, in this case its "1" that is 1st location

, wenn das Byte aus dem mp3-Datenrahmen die Daten nicht übereinstimmt Bits dann die Byte überspringen und zum nächsten Byte gehen weiter, halten sie auf die gleiche bis gesamten Textdaten zu tun verborgen ist.

Step5:now take all the locations where the text data is present and add these as a byte to the data frame of mp3.

Dies ist eine Lösung, die ich erfolgreich umgesetzt konnte.

Andere Tipps

Die Technologie Sie suchen, ist 'Steganographie'.

Es ist nicht C # (das ist viel komplexer als man denken würde), aber dies ist verwandt. . Sie können diese mit p / invoke verwenden möchten, oder Port es in C # -Code.

Ich arbeite auch an einem ähnlichen Projekt ... Zunächst einmal müssen Sie über mp3-Datei-Struktur kennen ... Ich hoffe,

scroll top