- Flash Force is a powerful and efficient tool designed to crack password hashes using either a wordlist or a brute-force attack.
- It supports cracking SHA-256 and MD5 hashes and can leverage multiple CPU cores to speed up the process.
- The tool can save and resume sessions, making it practical for lengthy cracking attempts.
-
Clone the repository:
git clone https://github.com/isPique/Flash-Force.git
-
Navigate to the project directory:
cd Flash-Force
-
Run the script:
python3 FlashForce.py
Warning
Use this tool responsibly and only for legitimate purposes!
-
I realized that nobody is using generators when reading a wordlist. Using generators can speed up file operations and improve a function's run time by at least 2-3 times.
-
For example, the
read_wordlist
function. It acts as a generator, meaning that it doesn't load the entire file into memory at once. Instead, it reads and processes one line at a time, yielding each line as it is requested. This evaluation means that the function can handle very large files without consuming a lot of memory, as it only keeps one line in memory at a time. -
Using
for
loops when generating combinations and reading the wordlist.for
loops are much faster thanwhile
loops! -
You can use either Cython or Python to run the script, but I recommend Cython because it's way much faster than Python.
Note
You can modify the chunk_size
variable to adjust the number of password attempts processed at once.
-
Cython is a superset of Python designed to give C-like performance with code that is written mostly in Python. Used primarily to optimize Python code by compiling it to C, which can significantly increase execution speed, especially in CPU-bound tasks.
-
Cython code can include both Python and C syntax, allowing for more granular control over performance.
-
Navigate to the "Cythonized" directory:
cd Cythonized
-
Install required libraries:
pip install -r requirements.txt
-
Compile the Cython code into a shared object file that can be imported into Python:
python setup.py build_ext --inplace
-
Run the compiled Cython code:
python -c "import FlashForce; FlashForce.main()"
Important
Remember that the speed of this tool depends on your CPU's power!
But even so, as you can see below, the script read 14.3 million lines of passwords in just 29 seconds! And it's just a virtual machine with only 2 CPU cores!!
- Wordlist mentioned above: rockyou.txt
pool = multiprocessing.Pool(processes = multiprocessing.cpu_count())
-
By utilizing all available CPU cores, the script can optimize the parallelization of a brute-force attack by distributing the workload across multiple processes. Each process is responsible for calculating the hash of a specific combination of characters, allowing them to run concurrently. This parallel processing enables the script to perform multiple hash calculations simultaneously, leading to a significant speedup in the overall execution time compared to a single-threaded approach. By fully leveraging the CPU's capabilities, the brute-force process becomes much more efficient, potentially reducing the time required to complete the task.
-
Multiprocessing is faster than multi-threading.
- Add More hashing algorithms
- Auto detect hash
- GPU support