albertobsd / crackbtcwallet Goto Github PK
View Code? Open in Web Editor NEWCrack encrypted master Key (AES 256 CBC with Padding)
License: MIT License
Crack encrypted master Key (AES 256 CBC with Padding)
License: MIT License
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
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
Hello, how can i run this on windows?
~/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!!!!!
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
how do i do that? do i load the wallet.dat into the crackBTCwallet folder and run the command or?
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.
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); }
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 ???
Alberto, can you add to code something like this
?
For example https://github.com/TheCrowned/padding-oracle-attack
https://github.com/neuhalje/aes_padding_oracle_attack
Thank You.
Can you compile to exe ?
GPU on windows
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 ^_^
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???
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?
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 >
Hello Alberto. It's a great code!
However it says "Unknow command aesdecrypt"
Is there another way ? Please.
Thank you!!!
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
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
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/crackBTCwallet$
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:
can i use it to crack a wallet even if i dont know the passphrase?
Don't waste your time here
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.