Plutus
Plutus Bitcoin Brute Forcer
A Bitcoin wallet collider that brute forces random wallet addresses
This program is essentially a brute forcing algorithm. It continuously generates random Bitcoin private keys, converts the private keys into their respective wallet addresses, then checks the balance of the addresses. If a wallet with a balance is found, then the private key, public key and wallet address are saved to the text file plutus.txt on the user’s hard drive. The ultimate goal is to randomly find a wallet with a balance out of the 2160 possible wallets in existence.
The private keys are converted into their respective public keys using the starkbank-ecdsa Python module. Then the public keys are converted into their Bitcoin wallet addresses using the binascii and hashlib standard libraries.
A pre-calculated database of every P2PKH Bitcoin address with a positive balance is included in this project. The generated address is searched within the database, and if it is found that the address has a balance, then the private key, public key and wallet address are saved to the text file plutus.txt on the user’s hard drive.
This program also utilizes multiprocessing through the multiprocessing.Process() function in order to make concurrent calculations.
However, through multiprocessing.Process() a concurrent process is created for every CPU your computer has. So this program can brute force addresses at a speed of 0.0032457721 ÷ cpu_count() seconds.
1Kz2CTvjzkZ3p2BQb5x5DX6GEoHX2jFS45
However, if a wallet with a balance is found, then all necessary information about the wallet will be saved to the text file plutus.txt. An example is:
hex private key: 5A4F3F1CAB44848B2C2C515AE74E9CC487A9982C9DD695810230EA48B1DCEADD
WIF private key: 5JW4RCAXDbocFLK9bxqw5cbQwuSn86fpbmz2HhT9nvKMTh68hjm
public key: 04393B30BC950F358326062FF28D194A5B28751C1FF2562C02CA4DFB2A864DE63280CC140D0D540EA1A5711D1E519C842684F42445C41CB501B7EA00361699C320
address: 1Kz2CTvjzkZ3p2BQb5x5DX6GEoHX2jFS45n
root@CryptoXploit:~# apt install python3
root@CryptoXploit:~# apt install python3-pip
root@CryptoXploit:~# apt install libgmp-dev
root@CryptoXploit:~# pip3 install fastecdsa
root@CryptoXploit:~# pip3 install six
root@CryptoXploit:~# git clone https://github.com/CryptoXploit/plutus.git
root@CryptoXploit:~# cd plutus/
root@CryptoXploit:~/plutus# cd database/
root@CryptoXploit:~/plutus/database# chmod +x get_addresses.sh
root@CryptoXploit:~/plutus/database#sed -i -e ‘s/\r$//’ get_addresses.sh
root@CryptoXploit:~/plutus/database# ./get_addresses.sh
this will download the latest bitcoin address dump with balance and will create a folder address and will save database as addresses.csv.this requires around 800-900 MB Space. Remember running this script will delete old contains from db folder.
if requires Edit plutus.py line 140 according to the created .pickle files in db folder.e.g by default its set to 9(9 parts)
root@CryptoXploit:~/plutus/database# python3 convert_to_pickle.py (it will convert csv database to .pickle files in db folder(each with 1,00,000 entries)
root@CryptoXploit:~/plutus/database# cd ..
root@CryptoXploit:~/plutus# python3 plutus.py