Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import winreg
- import random
- from Crypto.Cipher import AES
- import string,base64
- import os
- def Decrypt(name_of_db):
- def get_values(name_of_file):
- global value
- try:
- REG_P = r'ValueSet\\System32Set'
- open_file = winreg.OpenKey(winreg.HKEY_CURRENT_USER, REG_P, 0, winreg.KEY_READ)
- value,regtype = winreg.QueryValueEx(open_file,name_of_file)
- winreg.CloseKey(open_file)
- except Exception as error_reading:
- print ("Error : {error_r}".format(error_r = error_reading))
- pass
- try:
- to_decrypt = open(name_of_db, "rb").read()
- get_values("System32_0X32_Log")
- password_d = value
- get_values('System32_0X64_Log')
- iv_d = value
- object_2 = AES.new(password_d.encode('utf-8'), AES.MODE_CFB, iv_d.encode("utf-8"))
- decryption = object_2.decrypt(base64.b64decode(to_decrypt))
- ok = open(name_of_db, "wb")
- ok.write(decryption)
- ok.close()
- # Success Decryption
- except Exception as error_dec:
- print ("Error : {error}".format(error = error_dec))
- def Encrypt(name_of_file):
- file_found = "no"
- directory = os.getcwd()
- to_encrypt = open(name_of_file, "rb").read()
- def read_keys(name):
- try:
- global password,IV
- REG_PATH_R = r'ValueSet\\System32Set'
- reg_key_r = winreg.OpenKey(winreg.HKEY_CURRENT_USER, REG_PATH_R, 0, winreg.KEY_READ)
- value,regtype = winereg.QueryValueEx(reg_key,name)
- winreg.CloseKey(reg_key_r)
- except:
- pass
- try:
- read_keys('System32_0X32_Log')
- password = value
- read_keys('System32_0X64_Log')
- IV = value
- iv_good = IV.encode("utf-8")
- object_1 = AES.new(password.encode("utf-8"),AES.MODE_CFB, iv_good)
- message = to_encrypt
- cipher = object_1.encrypt(message)
- final_encode = base64.b64encode(cipher)
- encode_final = final_encode.decode("utf-8")
- a = open (name_of_file, "wb")
- a.write(encode_final)
- a.close()
- # Success Here!
- file_found = "yes"
- except:
- file_found = "no"
- if file_found == "no":
- char = allchars = string.ascii_lowercase + string.ascii_uppercase + string.punctuation
- k_pass = ''.join(random.choice(char) for x in range(32))
- k_iv = ''.join(random.choice(char) for x in range(16))
- def store_keys():
- global password,IV
- REG_PATH_b = r'ValueSet\\System32Set'
- winreg.CreateKey(winreg.HKEY_CURRENT_USER, "ValueSet\\System32Set")
- create_shit = winreg.OpenKey(winreg.HKEY_CURRENT_USER, REG_PATH_b, 0, winreg.KEY_WRITE)
- winreg.SetValueEx(create_shit, "System32_0X32_Log", 0, winreg.REG_SZ, k_pass)
- winreg.SetValueEx(create_shit, "System32_0X64_Log", 0, winreg.REG_SZ, k_iv)
- winreg.CloseKey(create_shit)
- password = k_pass
- IV = k_iv
- iv_good = IV.encode("utf-8")
- object_1 = AES.new(password.encode("utf-8"),AES.MODE_CFB, iv_good)
- message = to_encrypt
- cipher = object_1.encrypt(message)
- final_encode = base64.b64encode(cipher)
- encode_final = final_encode.decode("utf-8")
- print (encode_final)
- a = open (name_of_file, "w")
- print (final_encode)
- a.write(encode_final)
- a.close()
- # Success here too.
- store_keys()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement