def run_encode(args): print "[Stegan] Encoding %s inside %s" % (args['payload'], args['container']) try: payload = Payload.fromFile(args['payload']) if audio.fileType(args['container']) == "mp3": wavpath = mp3.decode(args['container']) container = WaveFile.fromFile(wavpath) else: container = WaveFile.fromFile(args['container']) if audio.fileType(args['trojan']) == 'mp3': tempfile = args['trojan'].replace('.mp3', '.wav') trojan = WaveFile.emptyFile(tempfile, container.header) fft_encode.encode(payload, container, trojan) mp3path = mp3.encode(tempfile, args['trojan']) else: trojan = WaveFile.emptyFile(args['trojan'], container.header) fft_encode.encode(payload, container, trojan) except Exception as e: print "[Stegan] There was an error while encoding" print "[Stegan] %s" % e
def run_decode(args): print "[Stegan] Decoding from %s" % (args['trojan']) try: if audio.fileType(args['trojan']) == 'mp3': wavpath = mp3.decode(args['trojan']) trojan = WaveFile.fromFile(wavpath) else: trojan = WaveFile.fromFile(args['trojan']) payload = Payload.openFile(args['payload']) fft_encode.decode(trojan, payload) except Exception as e: print "[Stegan] There was an error while decoding" print "[Stegan] %s" % e