/FlutCrack

Flutter app to crack hashes ๐ŸŽฏ

Primary LanguageDartGNU General Public License v3.0GPL-3.0

logo-black-resized IzzySoft

This is the official repository of the FlutCrack app.

๐Ÿ‘‹ FlutCrack

FlutCrack is a Flutter application designed to crack hashes by comparing them against a dictionary of words.

๐Ÿ“š Features

  • Hash cracking and algorithms identifying
  • Support for multiple hash algorithms:
    • MD5
    • SHA-1
    • SHA-224
    • SHA-256
    • SHA-384
    • SHA-512
    • SHA-512/224
    • SHA-512/256
  • User-friendly interface with text input and dropdown selection for hash algorithms
  • Dynamic wordlists support ( from web, device memory or in-app created )
  • Words hasher

๐Ÿ‘ฉโ€๐Ÿ’ป Installation

๐Ÿ“œ Prerequisites

๐Ÿงช Installation Steps

  1. Clone the repository:
    git clone https://github.com/giovanni-iannaccone/FlutCrack
    cd FlutCrack
    
  2. Get the dependencies:
    flutter pub get
    
  3. Run the application:
    flutter run
    

๐Ÿงฌ Generating the APK

To generate an APK file for installation on an Android device, follow these steps:

  1. Open a terminal and navigate to the project directory.
  2. Run the following command to build the APK
flutter build apk --release

This command will generate an APK file at build/app/outputs/flutter-apk/app-release.apk.

๐Ÿ“ฑ Installing the APK on Your Phone

๐ŸŽˆ Easy way

Download the last release

๐ŸงŠ Cool way

Connect your Android device to your computer via USB. Enable USB debugging on your Android device. You can find this option in Settings > Developer options. If Developer options is not visible, you may need to enable it by tapping Build number seven times in Settings > About phone. Copy the generated APK file (app-release.apk) to your device. On your device, locate the APK file using a file manager app and tap on it to install. You may need to allow installations from unknown sources. This can be done by going to Settings > Security > Unknown sources.

( or any method you like to download an apk )

๐ŸŽฎ Usage

  1. Open the FlutCrack application on your device or emulator.
  2. Before cracking your hash, go to the wordlists section, create and add words to your wordlist. This step is required only on the first run, as the previous wordlist will be saved for future use.
  3. Go back to the home screen, pick the wordlist you want to use from those you created, from your device memory or from the web.
  4. Enter the hash you want to crack in the text field.
  5. Select the hash algorithm from the dropdown menu (if you know it).
  6. Press the action button to start the cracking process.
  7. The result will be displayed below the input fields.

Caution

The FlutCrack team does not assume any responsibility for the improper use of the app.

๐ŸŽฌ Coming Soon

  • Hash identifying
  • Cleaner code
  • New UI
  • Multiple wordlists support
  • Web Wordlists installation

๐Ÿงฉ Contributing

We welcome contributions! Please follow these steps:

  1. Fork the repository.
  2. Create a new branch ( using this convention).
  3. Make your changes and commit them with descriptive messages.
  4. Push your changes to your fork.
  5. Create a pull request to the main repository.

๐Ÿ“‚ Folder Structure

.
โ”œโ”€โ”€ core/                                Core components
โ”‚   โ””โ”€โ”€ utils/                           Common utils files 
โ”œโ”€โ”€ features/                            Everything which isn't a common function
โ”‚   โ”œโ”€โ”€ about/                           About Us screen stuff
โ”‚   โ”‚   โ””โ”€โ”€ presentation/                The about us Screen
โ”‚   โ”œโ”€โ”€ hashing/                         Hashing screens stuff
โ”‚   โ”‚   โ”œโ”€โ”€ data/                        Data management for hashing 
โ”‚   โ”‚   โ”œโ”€โ”€ domain/                      Logic for hashing functions
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ entities/                Algorithms and hashing functions
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ repositories/            Implementations to access hashing data  
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ usecases/                Use cases for hashing 
โ”‚   โ”‚   โ””โ”€โ”€ presentation/                Hashing screens
โ”‚   โ”‚       โ”œโ”€โ”€ state/                   Hashing screens state notifier
โ”‚   โ”‚       โ””โ”€โ”€ widgets/                 Widget for hashing screens
โ”‚   โ””โ”€โ”€ wordlists/                       Wordlists screens stuff
โ”‚       โ”œโ”€โ”€ data/                        Data management for wordlists
โ”‚       โ”œโ”€โ”€ domain/                      Logic for wordlists related functions
โ”‚       โ”‚   โ”œโ”€โ”€ repositories/            Implementations to access wordlists data  
โ”‚       โ”‚   โ””โ”€โ”€ usecases/                Use cases for wordlists
โ”‚       โ””โ”€โ”€ presentation/                Wordlists screens
โ”‚           โ””โ”€โ”€ state/                   Wordlists screens state notifier
โ””โ”€โ”€ shared/data/                         classes to manage things

๐Ÿƒ Contributors

FLutCrack Contributors

๐Ÿ”ญ Learn

Flutter: https://docs.flutter.dev/cookbook
Hash cracking: https://tryhackme.com/r/room/cryptographyintro

โš– License

This project is licensed under the GPL-3.0 License. See the LICENSE file for details.

โš” Contact

๐Ÿ“ธ Screenshots


๐Ÿš€ Happy Hacking ...