๐ง Chrome/Edge Password Viewer | Ethical Python GUI Tool – FuzzuTech
Demo :
Click Video ๐๐๐
๐ ️ Features :
✔️ Fetch saved Chrome/Edge passwords using Python
✔️ GUI-based viewer with dark mode Treeview
✔️ Uses SQLite3 to read local login database
✔️ Passwords are obfuscated for demo safety
✔️ Ideal for educational & cybersecurity awareness
Code :
import os, sqlite3, shutil
from tkinter import *
from tkinter import ttk, messagebox
from PIL import ImageTk, Image
root = Tk()
root.title("๐ง Chrome/Edge Password Viewer")
root.geometry("700x500")
root.configure(bg="#121212")
style = ttk.Style()
style.theme_use("clam")
style.configure("Treeview",
background="#1e1e1e",
foreground="white",
fieldbackground="#1e1e1e",
rowheight=30)
style.map("Treeview", background=[("selected", "#00ffcc")])
frame = Frame(root, bg="#121212")
frame.pack(padx=20, pady=20, fill=BOTH, expand=True)
tree = ttk.Treeview(frame, columns=("Site", "Username", "Password"), show='headings')
tree.heading("Site", text="Website")
tree.heading("Username", text="Username")
tree.heading("Password", text="Password")
tree.column("Site", anchor=W, width=280)
tree.column("Username", anchor=W, width=200)
tree.column("Password", anchor=W, width=180)
tree.pack(fill=BOTH, expand=True)
def read_passwords(db_path):
temp_db = "temp_data.db"
shutil.copyfile(db_path, temp_db)
conn = sqlite3.connect(temp_db)
cursor = conn.cursor()
try:
cursor.execute("SELECT origin_url, username_value, password_value FROM logins")
data = cursor.fetchall()
for row in data:
tree.insert("", END, values=(row[0], row[1], "******"))
except Exception as e:
messagebox.showerror("Error", f"Database Error:\n{str(e)}")
finally:
conn.close()
os.remove(temp_db)
def fetch_chrome():
path = os.path.expanduser("~") + r"\AppData\Local\Google\Chrome\User Data\Default\Login Data"
if os.path.exists(path):
read_passwords(path)
else:
messagebox.showwarning("Not Found", "Chrome Login DB not found!")
def fetch_edge():
path = os.path.expanduser("~") + r"\AppData\Local\Microsoft\Edge\User Data\Default\Login Data"
if os.path.exists(path):
read_passwords(path)
else:
messagebox.showwarning("Not Found", "Edge Login DB not found!")
btn_frame = Frame(root, bg="#121212")
btn_frame.pack(pady=10)
Button(btn_frame, text="๐ View Chrome Passwords", bg="#00ffaa", fg="black", font=("Arial", 12, "bold"), command=fetch_chrome).pack(side=LEFT, padx=10)
Button(btn_frame, text="๐ View Edge Passwords", bg="#00ffaa", fg="black", font=("Arial", 12, "bold"), command=fetch_edge).pack(side=LEFT, padx=10)
Label(root, text="⚠️ Ethical Use Only | Local Testing Demo | FuzzuTech", fg="gray", bg="#121212", font=("Arial", 9)).pack(pady=5)
root.mainloop()
Comments
Post a Comment