Giter VIP home page Giter VIP logo

findbtc's Introduction

FindBTC

Scans devices for remnants of bitcoin wallet files.

The tool can find wallets even if;

  • The wallet was deleted, but not overwritten
  • The file system is corrupted and inaccessible
  • The device has been reformatted
  • The wallet has been partially overwritten
  • The wallet is inside a .zip or .tar.gz file, including nested in multiple levels of compressed files

Installing

This requires that you have the Go programming language set up on your machine, please see https://golang.org/doc/install

go get github.com/jakewins/findbtc

Usage

findbtc [-s start-offset] DEVICE

# Eg.

findbtc /dev/sda

License

GPL

findbtc's People

Contributors

aerth avatar jakewins avatar mahmouddolah avatar rosswell avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

findbtc's Issues

Windows scan issues

When scanning on Windows the command:

findbtc C:\

Returns

The handle is invalid.

Building / compiling

What OS and Go version was this developed on? I've tried Ubuntus 16, 18, and 24 and go versions around 1.6.2, 1.16, 1.17. The most I can get is:

export GOPATH=/home/ubuntu/mygo
go get -v github.com/jakewins/findbtc
[snip]/findbtc/detector/filesize_linux.go:4:2 found packages unix (affinity_linux.go) and main (mkasm.go) in [snip]/golang.org/x/sys/unix

I see no compiled/built file to run. I am only nominally aware of Go and running programs in Go. Any advice?

Error "Unable to scan target: bad file descriptor" on fresh install of Ubuntu 16.04.3

When I run findbtc /dev/sda or findbtc /dev/sdb (for my external drive) I get the following error:

[scan] Starting new target: /dev/sda
[scan] Unable to scan target: bad file descriptor
[COMPLETE]

This is on a fresh install of Ubuntu 16.04.3 with golang 1.6 installed from the Ubuntu repositories.

Output of ll /dev/sd*:

brw-rw---- 1 root disk 8,   0 Jan 22 07:29 /dev/sda
brw-rw---- 1 root disk 8,   1 Jan 22 07:29 /dev/sda1
brw-rw---- 1 root disk 8,   2 Jan 22 07:29 /dev/sda2
brw-rw---- 1 root disk 8,   5 Jan 22 07:29 /dev/sda5
brw-rw---- 1 root disk 8,  16 Jan 22 07:34 /dev/sdb
brw-rw---- 1 root disk 8,  17 Jan 22 08:06 /dev/sdb1

Am I perhaps making a simple mistake?

how to get the wallet.dat file from the scan result

hi, I scaned my pc, and got the result:

[scan] Starting new target: Gzipfile @ byte 6073704448 in [/dev/sda7]
[main] Found possible wallet trace:
  Found 'wallet.dat' at Gzipfile @ byte 6073704448 in [/dev/sda7] in 4kB block at byte offset 0
[scan] Unable to scan target: gzip: invalid header
[scan] Starting new target: Gzipfile @ byte 6073729024 in [/dev/sda7]
[scan] Unable to scan target: gzip: invalid header
[scan] Starting new target: Gzipfile @ byte 6073733120 in [/dev/sda7]
[scan] Unable to scan target: gzip: invalid header
[scan] Starting new target: Gzipfile @ byte 6073737216 in [/dev/sda7]
[main] Found possible wallet trace:
  Found 'bestblock' at Gzipfile @ byte 6073704448 in [/dev/sda7] in 4kB block at byte offset 53248
[main] Found possible wallet trace:
  Found 'defaultkey' at Gzipfile @ byte 6073704448 in [/dev/sda7] in 4kB block at byte offset 53248

how can I get the wallet.dat file?
thank you for your help!

Error: `[scan] Unable to scan target: gzip: invalid header`

When I run this after scanning 90+% or possibly 100% I get an uncountable (past my terminal's scrollback limit) number of lines with variations of:

[scan] Starting new target: Gzipfile @ byte 77406201856 in [/dev/sdb]
[scan] Unable to scan target: gzip: invalid header

followed by:

[COMPLETE]
panic: send on closed channel

goroutine 5 [running]:
panic(0x4f6d20, 0xc821a68000)
        /usr/lib/go-1.6/src/runtime/panic.go:481 +0x3e6
github.com/jakewins/findbtc/detector.scanGzipFiles(0xc82006c300, 0xc82006c360, 0xc82006c1e0)
        /home/user/go/src/github.com/jakewins/findbtc/detector/gzip_scanner.go:77 +0xb6
created by github.com/jakewins/findbtc/detector.Scan
        /home/user/go/src/github.com/jakewins/findbtc/detector/detector.go:123 +0x387
panic: send on closed channel

goroutine 4 [running]:
panic(0x4f6d20, 0xc821a66000)
        /usr/lib/go-1.6/src/runtime/panic.go:481 +0x3e6
github.com/jakewins/findbtc/detector.scanZipFiles(0xc82006c2a0, 0xc82006c300, 0xc82006c1e0)
        /home/user/go/src/github.com/jakewins/findbtc/detector/zip_scanner.go:106 +0xb6
created by github.com/jakewins/findbtc/detector.Scan
        /home/user/go/src/github.com/jakewins/findbtc/detector/detector.go:120 +0x351

Is there an argument I can add to get around this? Are the found (maybe just possible) wallets being saved somewhere I can find?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.