Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A script to read kwallet files and dump its contents to stdout
Python
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
src
tests/wallets
.gitignore
CHANGES.txt
MANIFEST.in
README.md
requirements.txt
setup.py

README.md

About

A Python script to dump contents of a .kwl kwallet file for accessing passwords away from KDE desktop. Should work on wallets created on KDE 4 (written on KDE 4.10).

The output is not polished because it serves a simple utility - to get passwords when not around a KDE desktop. Pipe the output to grep to make it more usable.

If you are looking to get Chrome passwords out of this - it'll be a bit difficult because Chrome stores the passwords in a serialized blob and you'll have to decipher that format. For everything else - Firefox, Telepathy, Amarok, Wifi passwords, other apps which store passwords - it works perfectly fine.

Install

Easiest way to install is to use pip which will fetch the dependencies automatically

pip install kwallet-dump

Output

  • Fields:

    • Type of KWallet entry - there are 3 - Password, Binary Data and Map. The sample output here shows the third format
    • Folder name
    • Key name
    • Value - Value is a tuple when entry type is a Map
  • Sample Output:

    [3, 'Firefox', 'admin,,DD-WRT,http://192.168.1.1', ('usernameField', '')]
    [3, 'Firefox', 'admin,,DD-WRT,http://192.168.1.1', ('username', 'user')]
    [3, 'Firefox', 'admin,,DD-WRT,http://192.168.1.1', ('passwordField', '')]
    [3, 'Firefox', 'admin,,DD-WRT,http://192.168.1.1', ('password', 'password')]
    [3, 'Firefox', 'admin,,DD-WRT,http://192.168.1.1', ('httpRealm', 'DD-WRT')]
    [3, 'Firefox', 'admin,,DD-WRT,http://192.168.1.1', ('hostname', 'http://192.168.1.1')]
    [3, 'Firefox', 'admin,,DD-WRT,http://192.168.1.1', ('formSubmitURL', '')]
    

Requirements

  • Python 2 or 3
  • pycrypto (for decoding Blowfish)
Something went wrong with that request. Please try again.