nukeop / hide.py Goto Github PK
View Code? Open in Web Editor NEWA steganographic program that encodes files in pictures
License: GNU General Public License v3.0
A steganographic program that encodes files in pictures
License: GNU General Public License v3.0
Support needs to be added for encoding larger files in many carrier files. Currently the program aborts if the carrier file is too small to contain the secret data.
A virtual pseudo-filesystem can also be implemented when using multiple files. An encrypted header will store information about files, their sizes, and their locations. Any user with the key can then examine the contents of the filesystem which would be implemented on top of the existing steganographic functionality, like a big archive file encoded in multiple images.
For maximum robustness, the output files will need to be tested with respect to the levels of secret data concealment.
Possibly an automated test suite could be created for this purpose.
The tested data will need to include empty files, random files, as well as real-life examples of highly autocorrelated data such as written text, program binaries, or images.
user@computer:~/Programs/hide.py$ pip install -r requirements.txt --user
/home/user/.local/lib/python3.5/site-packages/pip/_vendor/requests/__init__.py:83: RequestsDependencyWarning: Old version of cryptography ([1, 2, 3]) may cause slowdown.
warnings.warn(warning, RequestsDependencyWarning)
Requirement already satisfied: Pillow in /usr/lib/python3/dist-packages (from -r requirements.txt (line 4)) (3.1.2)
Requirement already satisfied: cryptography in /usr/lib/python3/dist-packages (from -r requirements.txt (line 5)) (1.2.3)
user@computer:~/Programs/hide.py$ python hide.py
Traceback (most recent call last):
File "hide.py", line 11, in <module>
from PIL import Image
ImportError: No module named PIL
$ python hide.py -i ./test.png -f ./payload -a encode -p foobar
$ python hide.py -i ./output.png -a decode -p foobar
Saving decoded output as output./payload
Traceback (most recent call last):
File "hide.py", line 234, in <module>
main()
File "hide.py", line 227, in main
decode(args.image, password=args.password)
File "hide.py", line 141, in decode
with open("output"+os.extsep+header.fformat, 'wb') as outf:
IOError: [Errno 2] No such file or directory: 'output./payload'
Currently only 4-channel PNG files can be used as carriers. Support for more file formats should be added.
JPEG and BMP files, in addition to all PNG files should be the minimum. In the future, audio and video files might be considered.
Currently the data is encoded without any sort of obfuscation, making it vulnerable to statistical analysis and trivial to recover once its existence is known. To prevent this, the data needs to be protected by password-based obfuscation.
OpenPuff implements an oracle that chooses a different encryption algorithm for every data block based on the key. This might be worth replicating.
Data needs to go through a whitening process to further conceal its presence in the output image. Currently every pixel carries data which might be easy to detect in many cases once the existence of secret data is known.
Currently embedding a file in an image changes the image's histogram in a very noticeable way, even if the change is not obvious to the naked eye.
There has to be a way to embed files while preserving the original histogram or at least making the changes less apparent.
this does not work in python 3 i have a py file with the updated the code if you need help
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.