From 971c57c4da75cc3c809240c37922fec1483b48d9 Mon Sep 17 00:00:00 2001 From: Akarsh Malik Date: Fri, 1 Oct 2021 17:13:20 +0530 Subject: [PATCH] [feat] python script to hide text in white spaces --- Python/enShroud/LICENSE.txt | 21 ++++ Python/enShroud/README.md | 25 +++++ Python/enShroud/enShroud/enShroud.py | 142 +++++++++++++++++++++++++++ Python/enShroud/img/enShroud.png | Bin 0 -> 58075 bytes 4 files changed, 188 insertions(+) create mode 100644 Python/enShroud/LICENSE.txt create mode 100644 Python/enShroud/README.md create mode 100755 Python/enShroud/enShroud/enShroud.py create mode 100644 Python/enShroud/img/enShroud.png diff --git a/Python/enShroud/LICENSE.txt b/Python/enShroud/LICENSE.txt new file mode 100644 index 00000000..73c98594 --- /dev/null +++ b/Python/enShroud/LICENSE.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 Akarsh Malik + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/Python/enShroud/README.md b/Python/enShroud/README.md new file mode 100644 index 00000000..0aec6f57 --- /dev/null +++ b/Python/enShroud/README.md @@ -0,0 +1,25 @@ +# enShroud + +![](/img/enShroud.png) + +## Introduction + +A steganography tool to hide secret texts in white space. + +## Usage: + +- To encode: + +```python +python3 enShroud.py -e -p PATH_TO_TEXT_FILE -o PATH_TO_OUTPUT -s "SECRET_MESSAGE_IN_QUOTES" +``` + +- To decode: + +```python +python3 enShroud.py -d -p PATH_TO_TEXT_FILE +``` + +## License + +MIT LICENSE diff --git a/Python/enShroud/enShroud/enShroud.py b/Python/enShroud/enShroud/enShroud.py new file mode 100755 index 00000000..562c25cf --- /dev/null +++ b/Python/enShroud/enShroud/enShroud.py @@ -0,0 +1,142 @@ +import argparse + + + +# takes the count of the words in text and secret message and divides how many words would be there in each line +def perLine(n1, n2): # n1 -> count of words in text, n2 -> count of words in secret + global n + if (n1 > n2): + n = 1 + else: + n = n2//n1 + + +# convert each letter of secret to binary +def binConvert(array): + for word in range(len(array)): + char = "".join(format(ord(letter), 'b') + for letter in array[word]) + char = char.replace('1', "\t") + char = char.replace('0', " ") + array[word] = char + + +# convert binary back to characters +def textConvert(array): + for sentence in range(len(array)): + array[sentence] = array[sentence].replace('\t', '1') + array[sentence] = array[sentence].replace(' ', '0') + + +def hideText(arrTex, arrSec,args): + perLine(len(arrTex), len(arrSec)) + binConvert(arrSec) + i = 0 + for line in range(len(arrTex)): + if (line != (len(arrTex) - 1)): + var = "" + sentence = "\n" + if (i < len(arrSec)): + for x in range(n): # add words divided according to perLine function to each line + var += arrSec[i] + chr(160) + i += 1 + sentence = f"{chr(160)}{var}\n" + arrTex[line] += sentence + else: # The last line need not include a new line tab (\n) at its last + var = "" + sentence = "" + if (i < len(arrSec)): + # add all the remaining words of secret to the last line if exists + while (i != len(arrSec)): + var += arrSec[i] + chr(160) + i += 1 + sentence = f"{chr(160)}{var}" + arrTex[line] += sentence + + file = open(args.output, "w+") + for line in arrTex: + file.write(line) + + file.close() + + +def unHideText(arrTex): + textConvert(arrTex) + sentence = "" + for line in arrTex: + lines = list(line.split(chr(160))) + if (len(lines) > 1 and len(lines) != 2): + for z in range(1, len(lines)-1): + words = lines[z] + word = "" + letter = "" + for i in range(len(words)+1): + if (i % 7 == 0 and i != 0): + word += chr(int(letter, 2)) + letter = "" + if (i < len(words)): + letter += words[i] + + else: + letter += words[i] + + sentence += word + " " + print(f"\n\n\u001b[31;3mSecret text: {sentence}\u001b[0m\n\n") + + +def main(): + print('''\u001b[32m + _________.__ .___ + ____ ____ / _____/| |_________ ____ __ __ __| _/ + _/ __ \ / \ \_____ \ | | \_ __ \/ _ \| | \/ __ | + \ ___/| | \/ \| Y \ | \( <_> ) | / /_/ | + \___ >___| /_______ /|___| /__| \____/|____/\____ | + \/ \/ \/ \/ \/ + -- Developed By Akarsh\u001b[0m''') + parser = argparse.ArgumentParser() + parser.add_argument("-e", "--encode", help="encode", action="store_true") + parser.add_argument("-d", "--decode", help="decode", action="store_true") + parser.add_argument("-p", "--path", help="path to text file") + parser.add_argument("-o", "--output", help="path to output") + parser.add_argument("-s", "--secret", help="secret text") + parser.add_argument("-v","--version",help="version",action="store_true") + args = parser.parse_args() + + if (args.encode and args.path and args.output and args.secret): + try: + file = open(args.path, 'r') + arrText = list(file.readlines()) + arrSecret = list(args.secret.split()) + for line in range(len(arrText)): + if '\n' in arrText[line]: + arrText[line] = arrText[line].replace('\n', "") + hideText(arrText, arrSecret,args) + file.close() + print( + f"\n\n\u001b[31;3mFile saved to output path: {args.output}\n\n") + except: + print("Bad file path!") + + elif (args.decode and args.path): + try: + file = open(args.path, 'r') + lines = list(file.readlines()) + file.close() + unHideText(lines) + + except: + print("Invalid file path!") + + elif (args.version): + print("\n\nversion: 1.0.4") + + else: + print("\u001b[31;1m\nTo encode:") + print( + "\tpython3 enShroud.py -e -p PATH_TO_TEXT_FILE -o PATH_TO_OUTPUT -s SECRET_MESSAGE") + print("To decode:") + print("\tpython3 enShroud.py -d -p PATH_TO_TEXT_FILE\n\n\u001b[0m") + + +if __name__ == "__main__": + main() diff --git a/Python/enShroud/img/enShroud.png b/Python/enShroud/img/enShroud.png new file mode 100644 index 0000000000000000000000000000000000000000..7dc39243cb8cf88a07ce604980359600cf3cfdf5 GIT binary patch literal 58075 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%0DoO1%e)5vULYb~$ipongaL54}}{3`JBS-@Z2Z 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