-
Notifications
You must be signed in to change notification settings - Fork 2
KeePass v1 DB tool
License
shirou/kptool
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
===================================== kptool: KeePass v1 DB tool ===================================== ------------------------- What's this ------------------------- KeePass version 1 database file access tool that includes access module. Currently, support search the entries or groups as the command line tool. ------------------------- How to Use ------------------------- Example: :: % python kptool.py <kdbfilepath> password required kptool> Ent Entry2: pass : entry modified: 2010-10-01 22:01:02 Entry1: url : URL pass : testtest modified: 2010-09-26 13:18:13 kptool> ^D ------------------------- Building and installation ------------------------- % python setup.py install ------------------------- Testing ------------------------- % python setup.py test ------------------------- Requirement ------------------------- - Python 2.6 or later - pyCrypto - argparse ------------------------- KeePassdb module API ------------------------- Constructor(kdbfilepath, masterpassword) Create DB from KeePass DB file path and Master password. >>> from kptool.keepassdb import keepassdb >>> password = u"Hogehoge" >>> k = keepassdb.KeepassDBv1("tests/keepass-test.kdb", password) get_groups() Get groups. >>> for g in k.get_groups(): ... if ('groups' in g): ... print("%s %s in %s" % (g['title'], g['group_id'], g['groups'])) ... else: ... print("%s %s" % (g['title'], g['group_id'])) Group1 2877859699 SubGroup1 1203768070 in 2877859699 Group2 2251441873 get_entries() Get entries. Note: KeepassDB has a history. get_entries() get all entries include history. Since that, entries that have same title may be acquired. >>> for e in k.get_entries(): ... print("%s %s %s" % (e['title'], e['username'], e['created'])) Entry2 entry2 2010-10-01 22:00:51 SubGroup1 gr 2010-10-01 22:00:29 Entry1 test 2010-09-26 13:17:55 日本語です sub 2010-10-01 21:59:33 Meta-Info SYSTEM 2010-10-01 22:01:04 get_entries_from_groupid(groupid) Get entries from groupid. Groupid should be Integer. >>> for e in k.get_entries_from_groupid(2877859699): ... print(e['title']) Entry1 Meta-Info find_groups(searchword) Find groups that has <searchword> in title or id. >>> for g in k.find_groups("up1"): ... print(g['title']) Group1 SubGroup1 find_entries(searchword) Find entries that has <searchword> in title, url, comment or username. >>> for e in k.find_entries("Ent"): ... print(e['title']) Entry2 Entry1 clear() Clears any currently loaded groups and entries in the database. >>> k.clear() >>> k.get_entries() [] >>> k.get_groups() [] ******************* Entry Field Lists ******************* :id: entry id. String. :group_id: group id. Integer. :icon: icon Integer. :title: title. ASCII or UTF-8 :url: url :username: username :password: password :comment: comment. ASCII or UTF-8. :created: created date. Datetime object. :modifed: modified date. Datetime object. :accessed: accessed date. Datetime object. :expires: expires date. Datetime object. if "never", shows 2999-12-28 23:59:59. :bin_desc: :binary: ******************* Group Field Lists ******************* :group_id: group id. Integer. :title: title :icon: icon :level: level. start from 0. :comment: comment. ------------------------- BUGS ------------------------- - Only Rijndael is supported. - Only passkeys are supported (no key files). - Only read methods is supported. ------------------------- TODO ------------------------- - Write methods. - KeePass db version 2 support. ------------------------- License ------------------------- GPL version2 ------------------------- Acknowledgement ------------------------- Knowledge about the KeePass DB v1 format was gleaned from the source code of keepassx-0.4.3 and File::KeePass in the CPAN. KeePassX 0.4.3 bears the copyright of Copyright (C) 2005-2008 Tarek Saidi <tarek.saidi@arcor.de> Copyright (C) 2007-2009 Felix Geyer <debfx-keepassx {at} fobos.de> File::KeePass bears the copyright of Paul Seamons <paul at seamons dot com>
About
KeePass v1 DB tool
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published