Guys, all info for beginners: Read this: https://bitcoin.stackexchange.com/questions/22796/i-am-new-to-bitcoin-how-can-i-get-started/22840#22840 1. Wanna crack wallet.dat? Use hashcat! https://hashcat.net/hashcat/ Dictionaries of passwords: crackstation, rockyou, password world, gpuhashbasic - all on the Internet ``` brute force: hashcat -a 3 -w 2 -m 11300 hashes.txt ?a?a?a?a?a?a -o found.txt --session=bf --status --status-timer 10 -i --increment-min=1 passwords: hashcat -a 0 -w 2 -m 11300 hashes.txt passwords.txt -o found.txt --session=pwds --status --status-timer 10 restore session: hashcat --session=your_session --restore ``` 2. Wanna hunt for random private keys? Use keyhunt! https://github.com/albertobsd/keyhunt Run: keyhunt -t n where n is the number of threads (half of your CPU threads, not cores) 3. Wanna check <=1000 private keys/public addresses? Use Electrum! https://electrum.org/#download Create new wallet and then select option to import keys. 4. Wanna check >1000 private keys? Use Bitcoin Core! https://bitcoincore.org/en/download/ Convert your private keys to WIFs, add " 0" at the end of the line for each WIF and then import whole file into Bitcoin Core by importwallet command. Bitcoin Core must have whole blockchain synced. 5. Wanna extract private keys from wallet.dat? Use keyhunter! https://github.com/pierce403/keyhunter Or pywallet.py - it accepts password for wallet. Keyhunter accepts damaged wallets. 6. Wanna get best of a wallet? Use corresponding Core/Node for that cc! (Bitcoin Core, Bitcoin Cash Node, etc.) Open console and type "listunspent", for given public addresses use "dumpprivkey". You must know the password! Then you can import dumped private key into Electrum (or many). *** Mostly all Internet wallets are fake or forged. You won't find anything in them, even if you guess the password. Still there are about 6000 brainwallets that have balance, rumours say. Public part are blockchains with list of transactions with addresses and balances. Private part is your wallet with private keys. They connect where you have private key in your wallet for public address in the blockchain. Public address (or earlier public key) is derived from private key. Abbreviations: addr - address addrs - addresses bal - balance = value in wallet, on specific address, coins, funds, amount, value bw - brainwallet = a text in one line that is converted to private key and can hold balance, mostly easy to remember, but also easy to hack bws - many brainwallets cc - cryptocurrency/cryptocurrencies mnemonic - usually 12 words that makes your wallet, readable, memorizable; aka seed phrase pub addr, addr, address - public address, to which you send funds in cc, public address belongs to one private key, usually in wallet pub key - public key, from which are derived your public addresses, derived from private key pvk - private key, can be derived from mnemonic pvks - private keys seed - may be seed or secret phrase = mnemonic; seed is in binary or hex format, it is a big number or set of computer characters tx - plural "txes" - transactions, movement of funds, mostly cc wif - Wallet Import Format - string which makes your wallet, encoded private key for all your addresses and balances Programs & apps you should know: AttackSafe - some valuable program, never opened archive due to too complicated password bash & python scripts - easy and fast bip39-solver Bitcoin Core - main legal app for Bitcoin wallets and blockchain, does store blochchain locally - https://bitcoincore.org/en/download/ bitcoin-tool bitcointools bitcrack - something like keyhunt or kangaroo, searches for private keys brainflayer - bloom filter (does not convert anything! you just compare values, extremely fast) btcrecover CoinHammer - https://underdog.quest/ crackBTCwallet CryptoDeepTools ecctools - https://github.com/albertobsd/ecctools - Small collection of tools written in C for ECC and bitcoin Electrum - legal app for Bitcoin wallets and blockchain, does not store blockchain locally, fast and easy - https://electrum.org/#download hashcat - cracking passwords for wallets and other - https://hashcat.net/hashcat/ hashcat GUI - GUI for hashcat, mostly not needed hashcat launcher - GUI for hashcat, mostly not needed hashtopolis kangaroo - specific search for private keys in some ranges keyhunt - searching for private keys in some ranges, allows bsgs Keyhunt CUDA 2 - keyhunt but for GPU keyhunter - dumping private keys from unencrypted wallets l0phtcrack Lattice Passware Kit Forensic - guessing passwords tool-v0-56.py - tool for Bitcoin hacking by Aftermath @Tzeeck utxodump - dump unspent transactions outputs from Bitcoin Core "chainstate" folder - https://github.com/in3rsha/bitcoin-utxo-dump vanitygen++ - generating private keys in huge range to guess some given addresses - https://github.com/10gic/vanitygen-plusplus VanitySearch - generating private keys in huge range to guess some given addresses wallet-key-tool WifSolver Watch out for viruses and malware in all .exe files = programs and apps! Use updated Windows Defender on your system! Some links: http://addresses.loyce.club/ https://attacksafe.ru/ https://bitaps.com/broadcast https://blockchair.com/broadcast/ https://blockchair.com/dumps https://blockstream.info/tx/push https://brainwalletx.github.io/ https://cryptodeep.ru/ https://elxor.github.io/eth-key-utils/#/ https://github.com/albertobsd/keyhunt https://github.com/JeanLucPons/Kangaroo https://github.com/Mizogg https://github.com/Mizogg/TeamHunter https://github.com/siupune/KeyHunt-Cuda-2 https://hdwallet.readthedocs.io/en/v3.2.0/ https://keyhunters.ru/ https://live.blockcypher.com/btc/pushtx/ https://mizogg.co.uk/ https://mmdrza.com/ https://ntngld.com/ https://privatekeyfinder.io/mnemonic-converter/ https://privatekeys.pw/downloads https://privatekeys.pw/puzzles/bitcoin-puzzle-tx https://www.bitaddress.org/bitaddress.org-v3.3.0-SHA256-dec17c07685e1870960903d8f58090475b25af946fe95a734f88408cef4aa194.html https://www.blockchain.com/explorer https://www.blockchain.com/explorer/assets/btc/broadcast-transaction To check addresses for balance you don't need proxy nor API. Use my scripts: get-loyce, get-loyce-conv and common-in-2-files - you will get addresses with balance within seconds. Files must be sorted (good to uniq them). No need to ask paid API - there are no free or they are limited. APIs I suggest: Alchemy, Infura VPSes=clouds I suggest: vast.ai, runpod.io There are 6 types of addresses (no TapRoot, 2024-08-10): p2pkh - pay to public key hash, starts with 1 p2sh - pay to script hash, starts with 3 p2wpkh - pay to witness public key hash, starts with bc1q p2wpkh in p2sh - pay to witness public key hash in pay to script hash, starts with 3 p2wsh - pay to witness script hash, starts with bc1q p2wsh in p2sh - pay to witness script hash in pay to script hash, starts with 3 7 in new HDWallet (2024-12-18): P2PKH P2SH P2TR P2WPKH P2WPKH-In-P2SH P2WSH P2WSH-In-P2SH Hex seed equals mnemonic. Just another format representing the same data. Words are taken from 2048 words dictionary. WIF is base58check encoded private key. Public key is hashed private key. There are uncompressed starting with 04..., and compressed with 02... or 03... Addresses are derived from the public key. Generating mnemos is nonsense as you need to convert it to private key (pvk) in order to get WIF or addresses. It is better to randomly generate pvks (32 bytes, 64 hex digits) than mnemos. It will be faster and you get the same result. Still the space is so big (2^256 = 2**256) that you rely only on luck when generating 32 bytes of pvk. Really the space is 2^160 = 2**160 because of limited volume of addresses. usually one pvk means one addr. many addresses = many pvks. BUT, it is different when you use HD wallet - Hierarchical Deterministic wallet HD wallet can produce many pvks from one seed/mnemonic, and many addresses from one pvk Core uses now HD wallets, so you can "derive" a path to a pair pvk-addr from one seed/mnemo one address must be from some specific path (called derivation path, like "m/84/0'/0'/0/0") and it comes from other pvk than the one that may be the one to sign they will be always the same for one seed this is how it works inside Core, where you don't have access, it is just coded this way signature is effect of knowing pvk, not address, the specific one pvk must be used 1. each Bitcoin Core wallet.dat file has one mkey and many ckeys 2. mkey encrypts all ckeys 3. ckeys are private keys and other data 4. also in wallet there are addresses which are accessible without password - that's why you see balance 5. address can be in no relation to ckey when the wallet is fake/forged 6. you may decode mkey with known password but in the end you will not decrypt ckeys with this mkey as the wallet may be forged to work like that, then mkey is invalid but still decipherable by password 7. mkey decrypts ckeys=pvks if it is valid Examples: WIF uncompressed: 5HpHagT65TZzG1PH3CSu63k8DbpvD8s5ip4nEB3kEsreAnchuDf (always starts with "5") WIF compressed: KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9M7rFU73sVHnoWn (always starts with "K" or "L") Addresses: p2pkh: 1BgGZ9tcN4rm9KBzDn7KprQz87SZ26SAMH p2sh: 3LRW7jeCvQCRdPF8S3yUCfRAx4eqXFmdcr p2tr: bc1pmfr3p9j00pfxjh0zmgp99y8zftmd3s5pmedqhyptwy6lm87hf5sspknck9 p2wpkh: bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4 p2wpkh_in_p2sh: 3JvL6Ymt8MVWiCNHC7oWU6nLeHNJKLZGLN p2wsh: bc1q9qs9xv7mjghkd69fgx62xttxmeww5q7eekjxu0nxtzf4yu4ekf8s4plngs p2wsh_in_p2sh: 344YToRR99ER5CRo975kXTUAnYcBrVxQYm Linux commands you need to know: cat comm cut grep man pv sed sort tr (C) 2023-2025 by Aftermath @Tzeeck