# KeeCrack [![Build Status](https://travis-ci.org/wbrawner/keecrack.svg?branch=master)](https://travis-ci.org/wbrawner/keecrack)
KeeCrack is a Java program used for brute-forcing KeePass database file master passwords. This should go without saying
but use of this application is prohibited without the express consent of the owner of the database file. KeeCrack works
by taking a KeePass database file, an optional key file, and a word list, then attempts to open the database with the
give key file/password pair until it finds a successful password. The word list can either be a newline separated
file, or a regular expression pattern.
## Usage
You can download a JAR from the releases page. Each build contains both a GUI and CLI. For the GUI, download and double-click the
JAR file. For command line usage, run the jar with `java -jar keecrack.jar -h` to get the following output:
```
usage: KeeCrack [-h] [--verbose] [--incremental] --word-list WORD-LIST-FILE [--key-file KEY-FILE] database
Brute force KeePass database files
positional arguments:
database the database file to brute force
named arguments:
-h, --help show this help message and exit
--verbose, -v Increase logging output
--incremental, -i Use pattern-based (incremental) guesses instead of a list of words from a file
--word-list WORD-LIST-FILE, -w WORD-LIST-FILE
a file containing newline-separated words to use as the passwords, or the pattern to generate words from if the --incremental flag is set
--key-file KEY-FILE, -k KEY-FILE
the key file to use with the database
```
## Building
KeeCrack makes use of Gradle, so to build it yourself, you can just run
./gradlew shadowJar
## Contributing
If you'd like to contribute, please fork the repository, make your changes, squash your commits, and send a pull
request.
## Attribution
KeeCrack is possible thanks to the following libraries:
[Generex](https://github.com/mifmif/Generex)
[KeePassJava2](https://github.com/jorabin/KeePassJava2)
## License
KeeCrack is licensed under the Apache 2.0 license
```
Copyright 2018 William Brawner
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
```