mirror of
https://github.com/GeoffreyFrogeye/steginack.git
synced 2024-05-05 19:41:46 +00:00
34 lines
1.1 KiB
Python
Executable file
34 lines
1.1 KiB
Python
Executable file
#!/usr/bin/env python3
|
|
|
|
from PIL import Image
|
|
import argparse
|
|
|
|
|
|
def hideInFile(infile, hidefile, bits, outfile):
|
|
inim = Image.open(infile)
|
|
hideim = Image.open(hidefile)
|
|
assert inim.size == hideim.size, "Both image must be of the same size"
|
|
outim = Image.new('RGB', inim.size)
|
|
inim.close()
|
|
hideim.close()
|
|
outim.save(outfile, 'PNG')
|
|
|
|
def inverseFile(infile, bits, outfile):
|
|
inim = Image.open(infile)
|
|
outim = Image.new('RGB', inim.size)
|
|
inim.close()
|
|
outim.save(outfile, 'PNG')
|
|
|
|
|
|
if __name__ == '__main__':
|
|
parser = argparse.ArgumentParser(description="Hide an image inside another and decode images")
|
|
parser.add_argument('infile', metavar='INFILE', type=str, help="Input file")
|
|
parser.add_argument('bits', metavar='BITS', type=int, help="Number of bits to use")
|
|
parser.add_argument('outfile', metavar='OUTFILE', type=str, help="Output file")
|
|
parser.add_argument('-s', '--hide', type=str, help="File to hide")
|
|
args = parser.parse_args()
|
|
if args.hide:
|
|
hideInFile(args.infile, args.hide, args.bits, args.outfile)
|
|
else:
|
|
inverseFile(args.infile, args.bits, args.outfile)
|