Giter VIP home page Giter VIP logo

crackbtcwallet's People

Contributors

albertobsd 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

crackbtcwallet's Issues

nDerivations bellow 30000 ?

Hi there,
After extract extractmkey , got it not valid derivation?
Is that mean that wallet dat has not valid data itself? ( I do get valid pubkey from them...)
salt: 633d4e5b99d3b81a
nDerivations: 24677
Should i email to you *.dat or whole ckey+mkey so you can examine them... (suggest use % of them...)
Thank you

Error

yasm -D__linux__ -f elf64 libaesni_custom/asm/iaesx64.s -o iaesx64.o
make: yasm: Command not found
Makefile:20: recipe for target 'libaesni' failed
make: *** [libaesni] Error 127

windows

Hello, how can i run this on windows?

aesdecrypt

~/crackBTCwallet$ ./crackbtcshell
"No Intel AESni enabled, fall back to legacy mode" this message is norm?
Developed by AlbertoBSD. I wish you very good luck!!
crackBTC > aesdecrypt d8102e7d10a1d08d55cb8f03
Unknow command aesdecrypt?
Bro pls help me!!!!!

Can I directly guess the wallet KEY by force?

The wallet key is a 64-bit hexadecimal character,Can directly guess with violence
Of course the probability of finding is very low
But for wallets with large balances and complex passwords, this is another way to crack

extract mkey and ckey

how do i do that? do i load the wallet.dat into the crackBTCwallet folder and run the command or?

NEW Feature: Ability to save progress and continue from where things were left at last checkpoint

Seeking the ability to go through the address space sequentially and save progress, every so many keys... Allowing to continue from where things were left off. A checkpoint, perhaps.

Curious to know how long it would take to do the whole address space. I think this would be quicker than other methods using CUDA or openCL.

Testing in the cloud I'm getting about.
Starting a random thread!
crackBTC > stats
AES256 block operations 1322416463232054016/s
Total op 6612082316160270336, seconds 5

That's 16384 threads.

It's AES-GCM-256 not cbc????!!!!

This is what i came across https://wallet.bitcoin.com/decrypt/ for the offline use version led me to Taking a look here https://github.com/Bitcoin-com/wallet-decrypt-tools you can download the source code or use the release version.

i went ahead and downloaded the Release v1 https://github.com/Bitcoin-com/wallet-decrypt-tools/releases/tag/1.0.0 and i was reading through the decrypt.js it turns out instead of CBC it is GCM

Please Take a look at the Source code and Decrypt.js and see what can be implemented. This was just an idea, I don't know how to code in C, or I would convert your program to python with Cuda(Nvidia) support for helping the decryption.

Could the GCM instead of CBC be updated for decryption (cracking) and add an experimental option for cracking with kangaroo.
decrypt.js file from the version 1.0.0 release. (Code Snippet Below)
var i = document.getElementById("password"), a = document.getElementById("password-error"), u = document.getElementById("file"), c = document.getElementById("file-error"), f = document.getElementById("wallets"), l = document.getElementById("error"), s = document.getElementById("form"), h = ""; function g() { return (g = o( regeneratorRuntime.mark(function t() { var r, n, o, a, u, c, f, l; return regeneratorRuntime.wrap( function (t) { for (;;) switch ((t.prev = t.next)) { case 0: return ( (t.prev = 0), (r = e().from(h, "hex")), (n = i.value), (o = r.slice(0, 12)), (a = r.slice(12)), (t.next = 7), crypto.subtle.digest("SHA-256", e().from(n)) ); case 7: return ( (u = t.sent), (t.next = 10), crypto.subtle.importKey("raw", u, "AES-GCM", !0, [ "decrypt", ]) ); case 10: return ( (c = t.sent), (t.next = 13), crypto.subtle.decrypt({ name: "AES-GCM", iv: o }, c, a) ); case 13: return ( (f = t.sent), (l = new TextDecoder().decode(f)), t.abrupt("return", JSON.parse(l)) ); case 18: return ( (t.prev = 18), (t.t0 = t.catch(0)), console.error(t.t0), t.abrupt("return", void 0) ); case 22: case "end": return t.stop(); } }, t, null, [[0, 18]] ); }) )).apply(this, arguments); }

How i can get IV

Hello dear
if I received the key_material , I need IV code to continue the steps and get the private key.
How do I get this code for the following step

key_material: cff3213b83e3d3246335960c6db1f7e127dfba5e7086a77fc6285595b110bcc7
For ckey or mkey: b801713ef9e6e80d3033335623503f018eb953faffa4908cff7cdb5479bf68ac5f6d7b16f3f9ac028e781201dfedea87

but i need iv for
aesdecrypt IV Key (Mkey or Ciphertext)

where is iv ???

win

Can you compile to exe ?
GPU on windows

Expected block

Hey i'm runing your software for a better understanding and i get the point of AES etc etc
but still i lack knowledge can you please tell me what is the meaning after i load i ckey it says something expected block? what that means? thanks in advance for response ^_^

mkey or ckey per wallet?

  1. do I need ckey only without mkey? it means that I can only enter ckey, and mkey is not needed?
  2. if I want to decrypt several bitcoin addresses from different wallets, it is enough to just enter one ckey without ANY mkey? please give an example.
  3. how much will the detectability of one wallet increase if I give several or several dozen ckeys per address from JUST ONE wallet? does it decrease speed of searching every blocks maybe per address?????
  4. how much more does one mkey give with one ckey? instead of just a single ckey? thanks for the information.

5), how long it take to decrypt on normal 4 thread core processor mobile? some months, year?
can you implement work on gpu? with OPENCL???

Cpu Threads Incress

Hello
i have tested the program its very powerfull but need some edit
it dont use the full cpu
example
if you run it on 10 threads
4739407009360/s
it will use 300% of 1 cpu cores
and all other cpu cores are still 0% free
image

so we want update that makes it use the full resources of the pc
thankyou

Ckey or public key

Hello
in your example, after you find a possible key, you have to find the IV of the original Ckey, but in your calculation, you doublesha256 the public key; crackBTC > doublesha256 0382ca08ce78b0935099c74db12873a7dc1cba10a44165ce8cc1d0602f49ee97f5

So is it doublesha256 Ckey or public key?

time?

rougly how long should this take? my stats are it's been running for 9 hours. What am I doing wrong?

Macbook Air M1
quiet 1
threads 4
AES256 block operations 3123445/s
Total op 100977868800, seconds 32329
crackBTC >

aesdecryption not found! Please

Hello Alberto. It's a great code!
However it says "Unknow command aesdecrypt"
Is there another way ? Please.
Thank you!!!

How to use this?

Is this just generating random keys and checking if they work?
Or how do I set this up to search for specific password formats?
For example - how do I tell it to search for 8 character passwords like in hashcat ?l?u?d for example?
It would be nice if the exact functioning of this is explained in the README.md

Cannot compile on OSX

Installed yasm through brew but doesn't compile, how possible?

brew install yasm
Updating Homebrew...
==> Homebrew is run entirely by unpaid volunteers. Please consider donating:
  https://github.com/Homebrew/brew#donations
==> Auto-updated Homebrew!
Updated 1 tap (homebrew/core).
==> Updated Formulae
Updated 11 formulae.

==> Downloading https://homebrew.bintray.com/bottles/yasm-1.3.0_2.arm64_big_sur.bottle.1.tar.gz
==> Downloading from https://d29vzk4ow07wi7.cloudfront.net/398b7f3d8a22e43b5af2335fe2d39448a3e9cc7a769ef1faf
######################################################################## 100.0%
==> Pouring yasm-1.3.0_2.arm64_big_sur.bottle.1.tar.gz
🍺  /opt/homebrew/Cellar/yasm/1.3.0_2: 46 files, 3.3MB
MacBook-Pro Desktop % clear






MacBook-Pro Desktop % git clone https://github.com/albertobsd/crackBTCwallet.git
Cloning into 'crackBTCwallet'...
remote: Enumerating objects: 133, done.
remote: Counting objects: 100% (133/133), done.
remote: Compressing objects: 100% (101/101), done.
remote: Total 133 (delta 60), reused 94 (delta 30), pack-reused 0
Receiving objects: 100% (133/133), 73.46 KiB | 1.39 MiB/s, done.
Resolving deltas: 100% (60/60), done.
MacBook-Pro Desktop % cd crackBTCwallet 
MacBook-Pro crackBTCwallet % make
yasm -D__linux__ -f elf64 libaesni_custom/asm/iaesx64.s -o iaesx64.o
yasm -D__linux__ -f elf64 libaesni_custom/asm/do_rdtsc.s -o do_rdtsc.o
gcc -Wall -fPIC -c libaesni_custom/intel_aes.c -o intel_aes.o
libaesni_custom/intel_aes.c:53:24: error: invalid output constraint '=a' in asm
  asm volatile("cpuid":"=a"(*where),"=b"(*(where+1)), "=c"(*(where+2)),"=d"(*(where+3)):"a"(leaf));
                       ^
libaesni_custom/intel_aes.c:118:2: error: implicit declaration of function '__declspec' is invalid in C99
      [-Werror,-Wimplicit-function-declaration]
        DEFINE_ROUND_KEYS
        ^
libaesni_custom/iaesni.h:89:2: note: expanded from macro 'DEFINE_ROUND_KEYS'
        __declspec(align(16)) UCHAR _expandedKey[16*16];        \
        ^
libaesni_custom/intel_aes.c:118:2: error: implicit declaration of function 'align' is invalid in C99
      [-Werror,-Wimplicit-function-declaration]
libaesni_custom/iaesni.h:89:13: note: expanded from macro 'DEFINE_ROUND_KEYS'
        __declspec(align(16)) UCHAR _expandedKey[16*16];        \
                   ^
libaesni_custom/intel_aes.c:118:2: error: expected ';' after expression
libaesni_custom/iaesni.h:89:24: note: expanded from macro 'DEFINE_ROUND_KEYS'
        __declspec(align(16)) UCHAR _expandedKey[16*16];        \
                              ^
libaesni_custom/intel_aes.c:131:2: error: implicit declaration of function '__declspec' is invalid in C99
      [-Werror,-Wimplicit-function-declaration]
        DEFINE_ROUND_KEYS
        ^
libaesni_custom/iaesni.h:89:2: note: expanded from macro 'DEFINE_ROUND_KEYS'
        __declspec(align(16)) UCHAR _expandedKey[16*16];        \
        ^
libaesni_custom/intel_aes.c:131:2: error: implicit declaration of function 'align' is invalid in C99
      [-Werror,-Wimplicit-function-declaration]
libaesni_custom/iaesni.h:89:13: note: expanded from macro 'DEFINE_ROUND_KEYS'
        __declspec(align(16)) UCHAR _expandedKey[16*16];        \
                   ^
libaesni_custom/intel_aes.c:131:2: error: expected ';' after expression
libaesni_custom/iaesni.h:89:24: note: expanded from macro 'DEFINE_ROUND_KEYS'
        __declspec(align(16)) UCHAR _expandedKey[16*16];        \
                              ^
libaesni_custom/intel_aes.c:146:2: error: implicit declaration of function '__declspec' is invalid in C99
      [-Werror,-Wimplicit-function-declaration]
        DEFINE_ROUND_KEYS
        ^
libaesni_custom/iaesni.h:89:2: note: expanded from macro 'DEFINE_ROUND_KEYS'
        __declspec(align(16)) UCHAR _expandedKey[16*16];        \
        ^
libaesni_custom/intel_aes.c:146:2: error: implicit declaration of function 'align' is invalid in C99
      [-Werror,-Wimplicit-function-declaration]
libaesni_custom/iaesni.h:89:13: note: expanded from macro 'DEFINE_ROUND_KEYS'
        __declspec(align(16)) UCHAR _expandedKey[16*16];        \
                   ^
libaesni_custom/intel_aes.c:146:2: error: expected ';' after expression
libaesni_custom/iaesni.h:89:24: note: expanded from macro 'DEFINE_ROUND_KEYS'
        __declspec(align(16)) UCHAR _expandedKey[16*16];        \
                              ^
libaesni_custom/intel_aes.c:160:2: error: implicit declaration of function '__declspec' is invalid in C99
      [-Werror,-Wimplicit-function-declaration]
        DEFINE_ROUND_KEYS
        ^
libaesni_custom/iaesni.h:89:2: note: expanded from macro 'DEFINE_ROUND_KEYS'
        __declspec(align(16)) UCHAR _expandedKey[16*16];        \
        ^
libaesni_custom/intel_aes.c:160:2: error: implicit declaration of function 'align' is invalid in C99
      [-Werror,-Wimplicit-function-declaration]
libaesni_custom/iaesni.h:89:13: note: expanded from macro 'DEFINE_ROUND_KEYS'
        __declspec(align(16)) UCHAR _expandedKey[16*16];        \
                   ^
libaesni_custom/intel_aes.c:160:2: error: expected ';' after expression
libaesni_custom/iaesni.h:89:24: note: expanded from macro 'DEFINE_ROUND_KEYS'
        __declspec(align(16)) UCHAR _expandedKey[16*16];        \
                              ^
libaesni_custom/intel_aes.c:175:2: error: implicit declaration of function '__declspec' is invalid in C99
      [-Werror,-Wimplicit-function-declaration]
        DEFINE_ROUND_KEYS
        ^
libaesni_custom/iaesni.h:89:2: note: expanded from macro 'DEFINE_ROUND_KEYS'
        __declspec(align(16)) UCHAR _expandedKey[16*16];        \
        ^
libaesni_custom/intel_aes.c:175:2: error: implicit declaration of function 'align' is invalid in C99
      [-Werror,-Wimplicit-function-declaration]
libaesni_custom/iaesni.h:89:13: note: expanded from macro 'DEFINE_ROUND_KEYS'
        __declspec(align(16)) UCHAR _expandedKey[16*16];        \
                   ^
libaesni_custom/intel_aes.c:175:2: error: expected ';' after expression
libaesni_custom/iaesni.h:89:24: note: expanded from macro 'DEFINE_ROUND_KEYS'
        __declspec(align(16)) UCHAR _expandedKey[16*16];        \
                              ^
libaesni_custom/intel_aes.c:189:2: error: implicit declaration of function '__declspec' is invalid in C99
      [-Werror,-Wimplicit-function-declaration]
        DEFINE_ROUND_KEYS
        ^
libaesni_custom/iaesni.h:89:2: note: expanded from macro 'DEFINE_ROUND_KEYS'
        __declspec(align(16)) UCHAR _expandedKey[16*16];        \
        ^
libaesni_custom/intel_aes.c:189:2: error: implicit declaration of function 'align' is invalid in C99
      [-Werror,-Wimplicit-function-declaration]
libaesni_custom/iaesni.h:89:13: note: expanded from macro 'DEFINE_ROUND_KEYS'
        __declspec(align(16)) UCHAR _expandedKey[16*16];        \
                   ^
libaesni_custom/intel_aes.c:189:2: error: expected ';' after expression
libaesni_custom/iaesni.h:89:24: note: expanded from macro 'DEFINE_ROUND_KEYS'
        __declspec(align(16)) UCHAR _expandedKey[16*16];        \
                              ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make: *** [libaesni] Error 1

ignoring return value of ‘fread’, declared with attribute warn_unused_result [-Wunused-result]

When "make" on Ubuntu 20.04.5, this happen
https://prnt.sc/CMX2pVoM-cpx
The software will run how is intended or eat CPU for nothing ?

neo@matrix:/crackBTCwallet$ make
yasm -D__linux__ -f elf64 libaesni_custom/asm/iaesx64.s -o iaesx64.o
yasm -D__linux__ -f elf64 libaesni_custom/asm/do_rdtsc.s -o do_rdtsc.o
gcc -Wall -fPIC -c libaesni_custom/intel_aes.c -o intel_aes.o
gcc -Wall -O3 -fPIC -c ctaes/ctaes.c -o ctaes.o
gcc -Wall -O3 -c sha512.c -o sha512.o
gcc -Wall -O3 -c sha256.c -o sha256.o
gcc -Wall -O3 -c base58.c -o base58.o
gcc -Wall -O3 -c rmd160.c -o rmd160.o
gcc -Wall -O3 -c crackbtcshell.c -o crackbtcshell.o
crackbtcshell.c: In function ‘main’:
crackbtcshell.c:292:17: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result [-Wunused-result]
292 | fread(mkey_data,1,48,temp_file);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
crackbtcshell.c:298:17: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result [-Wunused-result]
298 | fread(mkey_salt,1,8,temp_file);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
crackbtcshell.c:304:17: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result [-Wunused-result]
304 | fread(&mkey_nderivations,4,1,temp_file);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
crackbtcshell.c: In function ‘thread_process’:
crackbtcshell.c:630:5: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result [-Wunused-result]
630 | fread(random_buffer,1,RANDOMLEN,devurandom);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
crackbtcshell.c: In function ‘thread_process_legacy’:
crackbtcshell.c:755:5: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result [-Wunused-result]
755 | fread(random_buffer,1,RANDOMLEN,devurandom);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
crackbtcshell.c: In function ‘thread_process_mixed’:
crackbtcshell.c:835:5: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result [-Wunused-result]
835 | fread(random_buffer,1,RANDOMLEN,devurandom);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
crackbtcshell.c: In function ‘thread_process_legacy_mixed’:
crackbtcshell.c:915:5: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result [-Wunused-result]
915 | fread(random_buffer,1,RANDOMLEN,devurandom);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -o crackbtcshell intel_aes.o crackbtcshell.o ctaes.o iaesx64.o do_rdtsc.o sha512.o sha256.o base58.o -pthread
gcc -O3 -o get_mkey_ckey get_mkey_ckey.c base58.o sha256.o rmd160.o
get_mkey_ckey.c: In function ‘main’:
get_mkey_ckey.c:57:3: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result [-Wunused-result]
57 | fread(mkey_data,1,48,wallet);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
get_mkey_ckey.c:73:4: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result [-Wunused-result]
73 | fread(ckey_data,1,123,wallet);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
neo@matrix:
/crackBTCwallet$

cracking

can i use it to crack a wallet even if i dont know the passphrase?

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.