2017-06-22 180 views
-1

我寫了一個腳本來解密舊密碼和帳戶,我無法訪問,因爲我無法訪問我的舊電子郵件(再次因爲我不記得密碼哈哈)。試圖解密密碼win32crypt.CryptUnprotectedData

import os 
import sqlite3 
import win32crypt 
import sys 

try: 
    path = sys.argv[1] 
except IndexError: 
    for w in os.walk(os.getenv('USERPROFILE')): 
     if 'Chrome' in w[1]: 
      path = str(w[0]) + '/Chrome/User Data/Default/Login Data' 
try: 
    print ('[+] Opening ' + path) 
    conn = sqlite3.connect(path) 
    cursor = conn.cursor() 
except Exception as e: 
    print ('[-] %s' % (e)) 
    sys.exit(1) 

# Get the results 
try: 
    cursor.execute('SELECT action_url, username_value, password_value FROM logins') 
except Exception as e: 
    print ('[-] %s' % (e)) 
    sys.exit(1) 

data = cursor.fetchall() 

一切都很好,在這裏。

for result in data: 
    try: 
     password = win32crypt.CryptUnprotectData(result[2], None) 

    except Exception as e: 
     print('[-] %s' % (e)) 
     pass 

    if password: 
     print("[+] URL: {} Username: {} Password: {}".format(result[0], result[1], password)) 
    else: print("Unable to extract data") 

我得到這個錯誤:(-2146893813, 'CryptProtectData', '鍵不適於在指定狀態下使用。')

感謝gilliduck指出我的錯字!

+0

權,所以如果你閱讀下面的評論,我已經使其不再CryptUnprotectedData,而是CryptUnprotectData改變了它。但是,仍然存在「密鑰在指定狀態下無效」的問題。 –

+0

好的,然後不接受答案,因爲它不能解決您的問題。 –

回答

1

我相信這是

CryptUnprotectData 

CryptUnprotectEDData 
+0

謝謝!我編輯過,現在有一個新的錯誤:/ –