Advertisement
xample

SQLite3 Database Encryption

Dec 21st, 2018
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.59 KB | None | 0 0
  1. import winreg
  2. import random
  3. from Crypto.Cipher import AES
  4. import string,base64
  5. import os
  6. def Decrypt(name_of_db):
  7.     def get_values(name_of_file):
  8.        
  9.         global value
  10.         try:
  11.             REG_P = r'ValueSet\\System32Set'
  12.             open_file = winreg.OpenKey(winreg.HKEY_CURRENT_USER, REG_P, 0, winreg.KEY_READ)
  13.             value,regtype = winreg.QueryValueEx(open_file,name_of_file)
  14.             winreg.CloseKey(open_file)
  15.         except Exception as error_reading:
  16.             print ("Error : {error_r}".format(error_r = error_reading))
  17.             pass
  18.     try:
  19.         to_decrypt = open(name_of_db, "rb").read()
  20.         get_values("System32_0X32_Log")
  21.         password_d = value
  22.         get_values('System32_0X64_Log')
  23.         iv_d = value
  24.         object_2 = AES.new(password_d.encode('utf-8'), AES.MODE_CFB, iv_d.encode("utf-8"))
  25.         decryption = object_2.decrypt(base64.b64decode(to_decrypt))
  26.         ok = open(name_of_db, "wb")
  27.         ok.write(decryption)
  28.         ok.close()
  29.         # Success Decryption
  30.     except Exception as error_dec:
  31.         print ("Error : {error}".format(error = error_dec))
  32.            
  33.            
  34.    
  35. def Encrypt(name_of_file):
  36.     file_found = "no"
  37.     directory = os.getcwd()
  38.     to_encrypt = open(name_of_file, "rb").read()
  39.     def read_keys(name):
  40.         try:
  41.             global password,IV
  42.             REG_PATH_R = r'ValueSet\\System32Set'
  43.             reg_key_r = winreg.OpenKey(winreg.HKEY_CURRENT_USER, REG_PATH_R, 0, winreg.KEY_READ)
  44.             value,regtype = winereg.QueryValueEx(reg_key,name)
  45.             winreg.CloseKey(reg_key_r)
  46.         except:
  47.             pass
  48.     try:
  49.         read_keys('System32_0X32_Log')
  50.         password  = value
  51.         read_keys('System32_0X64_Log')
  52.         IV = value
  53.         iv_good = IV.encode("utf-8")
  54.         object_1 = AES.new(password.encode("utf-8"),AES.MODE_CFB, iv_good)
  55.         message = to_encrypt
  56.  
  57.         cipher = object_1.encrypt(message)
  58.         final_encode = base64.b64encode(cipher)
  59.         encode_final = final_encode.decode("utf-8")
  60.         a =  open (name_of_file, "wb")
  61.         a.write(encode_final)
  62.         a.close()
  63.         # Success Here!
  64.         file_found = "yes"
  65.     except:
  66.         file_found = "no"
  67.     if file_found == "no":
  68.         char = allchars = string.ascii_lowercase + string.ascii_uppercase + string.punctuation
  69.         k_pass = ''.join(random.choice(char) for x in range(32))
  70.         k_iv = ''.join(random.choice(char) for x in range(16))
  71.  
  72.        
  73.         def store_keys():
  74.             global password,IV
  75.             REG_PATH_b = r'ValueSet\\System32Set'
  76.             winreg.CreateKey(winreg.HKEY_CURRENT_USER, "ValueSet\\System32Set")
  77.             create_shit = winreg.OpenKey(winreg.HKEY_CURRENT_USER, REG_PATH_b, 0, winreg.KEY_WRITE)
  78.             winreg.SetValueEx(create_shit, "System32_0X32_Log", 0, winreg.REG_SZ, k_pass)
  79.             winreg.SetValueEx(create_shit, "System32_0X64_Log", 0, winreg.REG_SZ, k_iv)
  80.             winreg.CloseKey(create_shit)
  81.             password  = k_pass
  82.             IV = k_iv
  83.             iv_good = IV.encode("utf-8")
  84.             object_1 = AES.new(password.encode("utf-8"),AES.MODE_CFB, iv_good)
  85.             message = to_encrypt
  86.  
  87.             cipher = object_1.encrypt(message)
  88.             final_encode = base64.b64encode(cipher)
  89.             encode_final = final_encode.decode("utf-8")
  90.             print (encode_final)
  91.             a =  open (name_of_file, "w")
  92.             print (final_encode)
  93.             a.write(encode_final)
  94.             a.close()
  95.             # Success here too.
  96.         store_keys()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement