Retrieve saved passwords. Currenly working for Chrome-based Linux & Windows browsers.
Project description
Passax
EDUCATIONAL PURPOSES ONLY
Python3 library that can retrieve Chrome-based browser's saved login info.
Requirements
secretstorage~=3.3.1
pywin32==302
(Only Windows)pycryptodome==3.12.0
Notice that these libraries will be automatically installed through the setup.py
file when using pip install passax
.
Suported Systems
Passax v-1.20 now includes:
- MacOS (Only tried in Monterrey)
- Windows (Only tried in Win-10)
- Linux (Tried on Ubuntu / Kali Linux)
Usage
Notice that sometimes you might get a blank output, this can be because you had installed the browser you're trying to
get data from, but the login data was erased.
You can use the blank_file = False
parameter not to save the file if it's blank.
Print to screen the login info from Chrome.
from passax.chrome import windows, browsers
# Change to chrome.ChromeLinux for Linux users.
# Change to chrome.ChromeMacOS for MacOS users.
# Chrome is a supported browser
win = windows.Chrome(browsers.Chrome, blank_passwords=False) # Class instance
win.fetch() # Get database paths and keys
win.retrieve_database() # Get the data from the database
print(win.pretty_print())
Save data to a file.
from passax.chrome import windows, browsers
win = windows.Chrome(browsers.Chrome, blank_passwords=False)
win.fetch()
win.retrieve_database()
win.save("login_data.txt", blank_file=False, verbose=True)
Save login data from all suported browsers
from passax.chrome import windows, browsers
for browser in browsers.available_browsers:
win = windows.Chrome(browser, blank_passwords=False) # Class instance
win.fetch() # Get database paths and keys
win.retrieve_database() # Get the data from the database
win.save(f"{browser.base_name}_data.txt", blank_file=False, verbose=True) # Save the file
Run in any supported OS (Note that macOS will not work because I need to include the browsers. This will come with the next update)
import platform
import sys
from passax.chrome import browsers
if platform.system() == "Windows":
from passax.chrome import windows as os
elif platform.system() == "Linux":
from passax.chrome import linux as os
elif platform.system() == "Darwin":
from passax.chrome import macos as os
else:
print("No compatible system!")
sys.exit(-1) # Clean exit
for browser in browsers.available_browsers:
passax_ = os.Chrome(browser, blank_passwords=False) # Class instance
passax_.fetch() # Get database paths and keys
passax_.retrieve_database() # Get the data from the database
passax_.save(f"{browser.base_name}_data.txt", blank_file=False, verbose=True)
To do
- Add the test file back (removed because it needed a fix)
- Maybe add other browsers not based on Chromium (Firefox, for example).
Contact
Any suggestions/problems contact me at auax.dev@gmail.com
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file passax-1.20.tar.gz
.
File metadata
- Download URL: passax-1.20.tar.gz
- Upload date:
- Size: 10.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9b1029a5d40be870770f3d9d37766d226495a69f6799a2179d74ba9566871de8 |
|
MD5 | d017ec9d56dd3821b6bf7e5c551a4b20 |
|
BLAKE2b-256 | 34e2e8093516d7d21a8a2a95089ee642384dd41a7b9d42b89da0e88d08601f60 |