Giter Site home page Giter Site logo

richstokes / wavehider Goto Github PK

View Code? Open in Web Editor NEW
6.0 2.0 1.0 8 KB

๐Ÿ•ต๐Ÿผโ€โ™€๏ธ Hide secret documents inside audio files

License: MIT License

Shell 3.90% Go 96.10%
steganography secret-sharing exfiltration mr-robot golang-application

wavehider's Introduction

Intro

A steganography project just for fun. Inspired by the show Mr. Robot, in which Eliott hides secret documents within audio CDs.

This program lets you do the same thing, but you get to hide "secret" documents inside audio files.

The source document/files are first encrypted, and then injected into the audio file.

Note that you don't have to use an audio file to hide your data within. Any file will work, as long as its large enough to hold your secret data!

ย 

Building / installing

Linux/MacOS:

Check out the repo and run ./build.sh

ย 

Usage examples

Hiding a document inside an audio file

wavhide -gap 512 -audioFile example.mp3 -secretFile secret.docx

At this point you are free to delete your original document (secretFile). All the data is now stored/hidden within example-wavhidden.mp3!

ย 

Retrieving a document hidden inside an audio file

wavreveal -gap 512 -audioFile example-wavhidden.mp3 -outputFile my-file-revealed.docx

ย 

Tips / notes

  • Smaller "secret" files = less space needed = less chance of audible artifacts. Maybe compress your files first, or use plain text files for best results.
  • File size output will be identical to the original/source song.

Gap size

The -gap parameter defines how much space to leave intouched between bytes injected into the target audio file.

It's a trade off. A smaller gap size leads to more artifacts in the song, but gives you more space to hide data. A longer gap reduces the number of artifacts in the song, but gives you less space for hiding data.

Remember the gap you use to wavhide the secret file! You must use the same gap size when revealing.

Best practice us to use the largest possible gap, since this spreads out the hidden data as sparsely as possible, which leads to the minimum amount of detectable artifacts in the resulting file.

Other best practices

For your -audioFile, use a file of your creation. If you use a publically-available file, an attacker could run a diff against the public files and your files to discover the files' gap length. They still couldn't extract the contents though since the source file is encrypted before being hidden in the destination audio file.

.wav files are recommended since they tolerate random bytes without creating as many noticable audio artifact compred to mp3 files. That said, there is just enough smarts to avoid destroying the MP3 headers if you want to hide stuff within .mp3 files.

wavehider's People

Contributors

richstokes avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

albert-wayen

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.