Skip to content

About

wallet.dat Recovery & Carving Suite — Scan, crack, and recover encrypted Bitcoin Core wallets. Multiprocessing, OpenSSL acceleration, VanityAll key viewer, hashcat export.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

6 Commits

Folders and files

Repository files navigation

WalletForge

wallet.dat Recovery & Carving Suite -- Scan, analyze, and recover encrypted Bitcoin Core wallet files.

╦ ╦╔═╗╦  ╦  ╔═╗╔╦╗╔═╗╔═╗╦═╗╔═╗╔═╗
║║║╠═╣║  ║  ║╣  ║ ╠╣ ║ ║╠╦╝║ ╦║╣
╚╩╝╩ ╩╩═╝╩═╝╚═╝ ╩ ╚  ╚═╝╩╚═╚═╝╚═╝

Features

  • Wallet Scanner -- BDB page parsing, DER pattern scan, master key & encrypted key extraction, HD seed detection, deep forensic carving
  • Password Cracker -- Smart composite attack, dictionary, wildcard patterns, typo simulation, token combiner, multi-dictionary, l33t mutations, number sequences
  • Multiprocessing -- Parallel cracking across all CPU cores (4-8x speedup via multiprocessing.Pool)
  • OpenSSL Acceleration -- EVP_BytesToKey with SHA-512 via ctypes (~200 pwd/sec single-core)
  • VanityAll Key Viewer -- Full key/address format display: private key hex, WIF, compressed/uncompressed public keys, P2PKH, P2SH-P2WPKH, Bech32 addresses
  • pywallet Integration -- Native BDB parsing via bsddb3, EC key validation, cross-validation decryption
  • Hashcat Export -- Export wallet hash in mode 11300 for GPU cracking
  • Hex Viewer -- Raw wallet.dat hex dump with navigation

Quick Start

pip install -r requirements.txt
python3 run.py

Opens automatically at http://127.0.0.1:8742

Architecture

Backend: FastAPI (Python) serving REST API + static frontend on port 8742. Frontend: Vanilla JS single-page app, no build step. State: In-memory session storage keyed by scan_id (UUID).

Scan Pipeline (8 phases)

  1. BDB page parsing
  2. Key extraction from BDB pairs
  3. DER pattern scan
  4. Master key + encrypted key raw scan
  5. HD seeds / xprv detection
  6. Public key scan (deep/forensic)
  7. Deep forensic carving (forensic mode)
  8. Address generation

Password Cracking

Mode Description
smart All-in-one composite attack (common passwords, mutations, typos, numbers)
dictionary Wordlist-based with optional rule mutations
wildcard Pattern expansion (%d, %a, %A, %s, %[chars], ranges)
typos Capslock, keyboard slip, l33t, swap, delete, repeat
tokens Positional token combiner
multidict Multi-dictionary cross-product
numbers Sequential number patterns (0 to 999999)

Bitcoin Core Wallet Encryption

Uses EVP_BytesToKey with SHA-512 (not PBKDF2):

d = SHA512(password || salt)
for i in range(iterations - 1): d = SHA512(d)
key = d[:32], iv = d[32:48]

derivation_method=0 in mkey record. Confirmed against BTCRecover, pywallet, bitcoin/src/wallet/crypter.cpp.

Optional: Native BDB Parsing

# macOS
brew install berkeley-db@5
BERKELEYDB_DIR=$(brew --prefix berkeley-db@5) pip install bsddb3

License

MIT

About

wallet.dat Recovery & Carving Suite — Scan, crack, and recover encrypted Bitcoin Core wallets. Multiprocessing, OpenSSL acceleration, VanityAll key viewer, hashcat export.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages