Skip to content

widberg/fuel-brute

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

fuel-brute

CRC32 Brute Force Solver For Asobo Studio's FUEL (2009)

This repository is a relative of the main FMTK repository.

Notice

This project is aimed at crc32 hashes of long, ~256 chars, file paths; if your hashes are of anything else, then I can't promise you'll find this project useful. Check out Hashcat and John the Ripper for cool general purpose hash cracking tools that blow this project out of the water.

This project is a reverse engineering playground for crc32 algorithms more than it is a set of tools. I have taken a break from working on this to investigate meta data available in FUEL's DPC archive format. Hopefully this investigation can help uncover hints about the directory structure and lead to a "strength in numbers" solution.

Calculating a crc32 collision from a target hash is trivial; calculating the original target string used to generate the target hash with only the target hash is impossible. For this project to be useful to you, you will need to divise a system of scoring your confidence in the potential target strings. Gather as much context as possible and minimize the possibility space. Smaller dictionary is better. Fewer wildcards in the pattern is better. The prefix and suffix are free regardless of length. Best of luck!

Files

The general flow of running the system is:

  1. Generate your dictionary and hash files
  2. Run either cpu or cuda
  3. Coagulate the result
  4. Hand verify the target string collisions

dictc

Generate a dictionary file from a text document.

A dictionary file contains information about legal sequences of characters that may appear in a target string.

hashc

Generate hash file from a text document.

A hash file contains information about target crc32s.

coagulate

Transpose the output from cpu or cuda back into a human readable text format.

cpu

Cpu middle end.

cuda

Cuda middle end.

Optimizations

Optimizations used in the system:

  • Prefix addition
  • Suffix subtraction
  • Dictionary
  • Table driven

Getting Started

Prerequisites

  • CMake
  • Cuda
  • OpenCL

Checkout

git clone https://github.com/widberg/fuel-brute.git
cd fuel-brute

Build

mkdir build
cd build
cmake ..
cmake --build .

About

CRC32 Brute Force Solver For FUEL

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published