Auto-generate complete Hashcat plugins from PHP-like hash expressions. Pure OpenCL kernels for attack modes -a 0, -a 1, and -a 3 — no manual kernel coding required.
KernelBuilder is a Python port of the original C# tool that transforms simple hash expressions like md5(sha1($plain).sha256($salt)) into complete, compilable Hashcat plugins. It generates pure OpenCL kernels and the accompanying C module for hash parsing and encoding.
Write your hash as a PHP-style expression — the tool handles algorithm chaining, endianness conversion between little-endian (MD5) and big-endian (SHA-family) algorithms, salt concatenation in any order, and even truncated intermediate hashes (CUT). The output is a ready-to-compile plugin folder with all three attack modes supported.
md5($plain.$salt), sha1(md5($plain)), sha256($salt.$plain) — no OpenCL knowledge required.$salt and $plain in any order with . dot notation. Automatic salt-length handling in the C module.CUT<n>_ALGO syntax (multiples of 4 bytes).-a 0 (rules), -a 1 (combinator), and -a 3 (mask/brute-force) automatically.OPTS_TYPE_PT_GENERATE_LE with 80-bit padding and 14-bit length counter.OPTS_TYPE_PT_GENERATE_BE with 80-bit padding and 15-bit length counter.All algorithms use Hashcat's standard inc_hash_*.cl headers for init/update/final functions. Output format is lowercase hex.
Python 3.7+ and a Hashcat source tree for compiling the generated plugin.
| Argument | Description |
|---|---|
algorithm | Hash expression, e.g. 'md5($plain)' or 'sha1($plain.$salt)' |
ID | Kernel ID / Hashcat -m number (1–5 digits, e.g. 98000) |
--overwrite | Overwrite a previously generated plugin folder |
--hashcat | Write directly into a Hashcat source tree's OpenCL/ and src/modules/ folders |
-l, --list | List supported algorithms and exit |
Copy the folders into your Hashcat source tree and rebuild. The generator produces both _sxx (single-hash) and _mxx (multi-hash) kernel variants for each attack mode.
Note: Do not pass -O — only pure kernels are generated. Hashcat would fail to find tiered symbol names (s04/m04) under optimized mode.
KernelBuilder is open source and hosted on GitHub. MIT licensed. Based on the original KernelBuilder by Penguinkeeper.
View KernelBuilder on GitHub