warpwallet_cracker

command module
v0.0.0-...-34ff075 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 2, 2018 License: MIT Imports: 9 Imported by: 0

README

warpwallet_cracker

A brute-force cracker in Go for the WarpWallet Challenge 2: https://keybase.io/warp/

Challenge

The WarpWallet Challenge 2 has now expired. The correct passphrase was HY4r0uWn. (private key 5J34oCttqfswmkGnX5NWrU19xkZPNu4a2bRJHW2UdiAU7QpTSsN)

Usage

$ go get ./...
---
$ go build warpwallet_cracker.go
---
$ ./run.sh 
Using address "1MkupVKiCik9iyfnLrJoZLx9RH4rkF3hnA" and salt "a@b.c"
Tried 4 passphrases in 2.269448485s [last passphrase: 2zZM3L1C]

Performance

This script has been optimized for speed. On a MacBook Pro this achieves ~1.1 hash/sec/core (with hyperthreading enabled). At this hashrate it is not feasible to enumerate the entire keyspace of 62^8 hashes.

For example: if you run this script for a year on a quad-core Macbook, there is a 1 in ~37M chance of your RNG gifting you 20 BTC.

Ideas for further improvements:

  • Explore using SSE2 for faster scrypt
  • Use all cores of the CPU
  • Build a bloom filter containing past attempts (is a bloom filter lookup faster than a hash attempt?)
  • Figure out a way to share the bloom filter with other crackers
  • Deterministic key generation for better search space partitioning (instead of seeding rand with a unix timestamp)

How-to

Build:

go build warpwallet_cracker.go

Params:

./warpwallet_cracker [Address] [Salt - optional]

Run (Windows):

run.bat

Run (*nix):

./run.sh

Run unit tests and benchmark:

go test -bench=.

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL