audio - Steganography in image -


so far, have opened image in hex editor , looked @ bytes. however, life of me cannot identify sound. have spent days on this. tried opening file (as 'raw data') in audacity , playing it. nothing 'noise'. tried create histogram/frequency analysis nothing.

any appreciated.

steganography works hiding second image or data in lower bits of image. these values becomes insignificant over-all , have little impact on visual of image.

to reveal second data, mask off top bits, scale remaining values.

however, need know in advance:

  • how many of lower bits used (two common secondary images)
  • how remaining data organized (if not image):
    • is (bit) scaled, how much
    • what order (scan-lines horizontally, vertically...).
    • are color components in use? 1 , how data split on components...
    • is audio file or audio data
    • is resulting data compressed, encrypted, ...
    • audio requires signed values, values signed in data, shifted... (this steals 1 bit means bytes must packed produce audible)

etc.

without information pretty useless (you can try guesses guesses, , can long time).

in case, provided basis below showing process, remains, , if extracted correctly, virtually "impossible" determine without knowing how original data organized:

here result of process using image known in advance hide image (the cat) in lower 2 bits:

var img = new image;  img.onload = unstegano;  img.crossorigin = "";  img.src = "//i.imgur.com/dkczmjn.png";  // contains hidden image    document.body.appendchild(img);    function unstegano() {    var canvas = document.createelement("canvas"),        ctx = canvas.getcontext("2d");        canvas.width = this.naturalwidth;    canvas.height = this.naturalheight;    ctx.drawimage(this, 0, 0);        // pixels    var idata = ctx.getimagedata(0, 0, canvas.width, canvas.height),        data = idata.data, = 0, len = data.length;        while(i < len) {        data[i] = (data[i++] & 3)<<6;  // masks 2 first bits, shifts scale        data[i] = (data[i++] & 3)<<6;        data[i] = (data[i++] & 3)<<6;        i++    }    ctx.putimagedata(idata, 0 ,0);    document.body.appendchild(canvas);  }

with supplied image looks noise, doesn't matter audio data produce noise image in case - challenge make out of noise (or "noise"):

var img = new image;  img.onload = unstegano;  img.crossorigin = "";  img.src = "//i.imgur.com/ipadzb4.png";  document.body.appendchild(img);    function unstegano() {    var canvas = document.createelement("canvas"),        ctx = canvas.getcontext("2d");        canvas.width = this.naturalwidth;    canvas.height = this.naturalheight;    ctx.drawimage(this, 0, 0);        // pixels    var idata = ctx.getimagedata(0, 0, canvas.width, canvas.height),        data = idata.data, = 0, len = data.length;        while(i < len) {        data[i] = (data[i++] & 1)<<7;  // masks first bit, shifts scale        data[i] = (data[i++] & 1)<<7;        data[i] = (data[i++] & 1)<<7;        i++    }    ctx.putimagedata(idata, 0 ,0);    document.body.appendchild(canvas);  }


Comments

Popular posts from this blog

google chrome - Developer tools - How to inspect the elements which are added momentarily (by JQuery)? -

angularjs - Showing an empty as first option in select tag -

php - Cloud9 cloud IDE and CakePHP -