https://github.com/simonthorell/hash-bosse-cat
A desktop GUI password recovery tool built with C++, openSSL and Qt framework capable of cracking hashes from various algorithms using wordlists.
https://github.com/simonthorell/hash-bosse-cat
cpp google-test gui-application openssl qt-framework
Last synced: 4 months ago
JSON representation
A desktop GUI password recovery tool built with C++, openSSL and Qt framework capable of cracking hashes from various algorithms using wordlists.
- Host: GitHub
- URL: https://github.com/simonthorell/hash-bosse-cat
- Owner: simonthorell
- License: other
- Created: 2024-01-17T10:31:40.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-02-17T00:19:43.000Z (over 2 years ago)
- Last Synced: 2025-03-16T14:53:14.446Z (over 1 year ago)
- Topics: cpp, google-test, gui-application, openssl, qt-framework
- Language: C++
- Homepage:
- Size: 1.93 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# HashBosseCat Password Recovery Tool
### Built using C++, Qt Framework, openSSL and CMake.

## Introduction
Welcome to `hash-bosse-cat`, a sophisticated password recovery tool developed with the cutting-edge C++20 standards and the robust Qt framework for desktop GUI. Inspired by the agility and sharpness of a cat named Bosse, this tool aims to provide a sleek, user-friendly interface coupled with powerful wordlist-based hash cracking algorithms.
## Features
- **Modern C++20**: Utilizes the latest language features for optimal performance and code clarity.
- **Qt Framework**: Offers a responsive and intuitive user interface.
- **OpenSSL Library Integration**: Employs the OpenSSL library for secure and efficient hashing of strings.
- **Wordlist-Based Cracking**: Leverages comprehensive wordlists for efficient hash cracking.
- **Salt Wordlists**: Built in function to add common salts and create variation of each string in wordlists.
- **Support for Multiple Hash Types**: Compatible with a variety of hashing algorithms.
- **Cross-Platform**: Works seamlessly on multiple operating systems thanks to the QT framework.
## Usage
- Launch the application after successful installation.
- Follow the on-screen instructions to input the hash values.
- Load your wordlist file through the GUI.
- Select the appropriate hash type and start the recovery process. Monitor the progress through the interactive UI.

## Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
### Prerequisites
- C++20 compatible compiler (Clang, GCC etc.)
- Qt Framework v6.6.1
- CMake & Ninja [optional] (included in Qt Framework)
### Installing
1. **Clone the repository**
```bash
git clone https://github.com/simonthorell/hash-bosse-cat.git
```
2. **Navigate to the project directory**
```bash
cd hash-bosse-cat
```
3. **Build the project using VS Code**
- Open the project folder in Visual Studio Code.
- Ensure you have the CMake Tools and C++ extensions installed.
- Configure the project by selecting the appropriate kit (compiler, platform, etc.) from the CMake Tools extension.
- Build the project by invoking the build command from the CMake Tools extension.
- If necessary, refer to the VS Code documentation for detailed instructions on setting up and using CMake Tools.
4. **Set Qt installation path**
- open 'c_cpp_properties.json' inside the .vscode folder and modify 'includePath' & 'macFrameworkPath' to match your Qt install path. This will make shure VS Code finds the Qt header files.
- In the main 'CMakeLists.txt' change 'set(CMAKE_PREFIX_PATH ' to your Qt install path. This will make sure that CMake finds all necessary files for compilation.
5. **Modify the GUI**
- Use the Qt Creator IDE to get a graphic tool for modifying the .ui files.
6. **Bundle app for Mac OSX**
- Find the .app executable in the build/src folder and run macdeployqt to bundle.
```bash
macdeployqt HashBosseCat.app
# OR to make a .dmg file directly
macdeployqt HashBosseCat.app -dmg
```
- if macdeplyqt tool is not found in your terminal, you can locate it and set the path using the terminal as per below example:
```bash
export PATH="/Users/USERNAME/Qt/6.6.1/macos/bin:$PATH"
```
- In order to run the application on MacOS you will need to code-sign the code using a valid certificate (You can manage it in Keychain Access). Then you can sign and bundle at the same time. Replace "MyCertificate" with your valid certificate.
```bash
macdeployqt HashBosseCat.app -codesign=MyCertificate
```
## Contributing
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.
1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the Branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request
## License
Distributed under the GPL version 3 License. See `LICENSE` for more information.
## Acknowledgements
- Hats off to Bosse, the cat! Her knack for naps and cozy vibes turn coding marathons into a purr-fest. She's the silent, fluffy cheerleader behind our sleek, efficient code. Cheers to Bosse, our whiskered muse and relaxation guru!
Happy Cracking!