All Projects → Isaacdelly → Plutus

Isaacdelly / Plutus

Licence: unlicense
An automated bitcoin wallet collider that brute forces random wallet addresses

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Plutus

Multicurrencywallet
Bitcoin, Ethereum, ERC20 crypto wallets with Atomic Swap exchange. Release announce: https://twitter.com/SwapOnlineTeam/status/1321844352369500160
Stars: ✭ 136 (-66.34%)
Mutual labels:  bitcoin, wallet, btc
Unstoppable Wallet Android
A secure and decentralized Bitcoin and other cryptocurrency wallet for Android phones. Supports Bitcoin, Ethereum, EOS, Binance Chain, Bitcoin Cash, DASH, ...
Stars: ✭ 165 (-59.16%)
Mutual labels:  bitcoin, wallet, btc
Bitp0wn
Algorithms to re-compute a private key, to fake signatures and some other funny things with Bitcoin.
Stars: ✭ 59 (-85.4%)
Mutual labels:  bitcoin, bruteforce, brute-force
Bitcoinaddress
Bitcoin Wallet Address Generator
Stars: ✭ 52 (-87.13%)
Mutual labels:  bitcoin, wallet, address
Btcbf
Bitcoin private key brute force tool, written in python. Also can be used as a bitcoin wallet generator.
Stars: ✭ 91 (-77.48%)
Mutual labels:  address, bruteforce, btc
Unstoppable Wallet Ios
A secure and decentralized Bitcoin and other cryptocurrency wallet for iPhone. Supports Bitcoin, Ethereum, EOS, Binance Chain, Bitcoin Cash, DASH, ...
Stars: ✭ 180 (-55.45%)
Mutual labels:  bitcoin, wallet, btc
Awesome Coins
₿ A guide (for humans!) to cryto-currencies and their algos.
Stars: ✭ 3,469 (+758.66%)
Mutual labels:  bitcoin, wallet, btc
Bitcoin-wallet-cracker
Automated Bitcoin wallet generator that with mnemonic and passphrases bruteforces wallet addresses
Stars: ✭ 140 (-65.35%)
Mutual labels:  bruteforce, brute-force, btc
Socialbox Termux
SocialBox is a Bruteforce Attack Framework [ Facebook , Gmail , Instagram ,Twitter ] , Coded By Belahsan Ouerghi Edit By init__0 for termux on android
Stars: ✭ 324 (-19.8%)
Mutual labels:  bruteforce, brute-force, cracking
password-list
Password lists with top passwords to optimize bruteforce attacks
Stars: ✭ 174 (-56.93%)
Mutual labels:  bruteforce, brute-force, cracking
smtplib-bruteforce
bruteforcing gmail (TLS/SSL)
Stars: ✭ 26 (-93.56%)
Mutual labels:  bruteforce, brute-force, cracking
Bitcoin-Stealer
Generate random bitcoin wallets, private keys (seeds) and then check if they match a wallet that contains some kind of balance, and then take it. Node.js
Stars: ✭ 61 (-84.9%)
Mutual labels:  bruteforce, btc, cracking
Coinpricebar
💰 Cryptocurrency prices on MacBook Touch Bar
Stars: ✭ 290 (-28.22%)
Mutual labels:  bitcoin, btc
Instahack
Instagram bruteforce tool
Stars: ✭ 265 (-34.41%)
Mutual labels:  bruteforce, brute-force
Optimal Buy Cbpro
Scheduled buying of BTC, ETH, and LTC from Coinbase Pro, optimally!
Stars: ✭ 288 (-28.71%)
Mutual labels:  bitcoin, btc
Cryptolist
Curated collection of blockchain & cryptocurrency resources.
Stars: ✭ 3,501 (+766.58%)
Mutual labels:  bitcoin, btc
Xbruteforcer
X Brute Forcer Tool 🔓 WordPress , Joomla , DruPal , OpenCart , Magento
Stars: ✭ 261 (-35.4%)
Mutual labels:  bruteforce, brute-force
Edge React Gui
Edge Wallet React Native GUI for iOS and Android
Stars: ✭ 303 (-25%)
Mutual labels:  bitcoin, wallet
Wallet
Bitpay Wallet (formerly Copay) is a secure Bitcoin and other crypto currencies wallet platform for both desktop and mobile devices.
Stars: ✭ 3,382 (+737.13%)
Mutual labels:  bitcoin, wallet
Gitbitex Spot
An Open Source Cryptocurrency Exchange
Stars: ✭ 320 (-20.79%)
Mutual labels:  bitcoin, btc

Plutus Bitcoin Brute Forcer

A Bitcoin wallet collider that brute forces random wallet addresses

Like This Project? Give It A Star

Dependencies

Python 3.6 or higher

Python modules listed in the requirements.txt

Minimum RAM requirements

Installation

$ git clone https://github.com/Isaacdelly/Plutus.git plutus

$ cd plutus && pip3 install -r requirements.txt

Quick Start

$ python3 plutus.py

Proof Of Concept

A private key is a secret number that allows Bitcoins to be spent. If a wallet has Bitcoins in it, then the private key will allow a person to control the wallet and spend whatever balance the wallet has. So this program attempts to find Bitcoin private keys that correlate to wallets with positive balances. However, because it is impossible to know which private keys control wallets with money and which private keys control empty wallets, we have to randomly look at every possible private key that exists and hope to find one that has a balance.

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.

How It Works

Private keys are generated randomly to create a 32 byte hexidecimal string using the cryptographically secure os.urandom() function.

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.

Efficiency

It takes 0.0032457721 seconds for this progam to brute force a single Bitcoin address.

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.

Database FAQ

An offline database is used to find the balance of generated Bitcoin addresses. Visit /database for information.

Expected Output

Every time this program checks the balance of a generated address, it will print the result to the user. If an empty wallet is found, then the wallet address will be printed to the terminal. An example is:

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: 1Kz2CTvjzkZ3p2BQb5x5DX6GEoHX2jFS45

Memory Consumption

This program uses approximately 2GB of RAM per CPU. Because this program uses multiprocessing, some data gets shared between threads making it difficult to accurately measure RAM usage.

Imgur

The memory consumption stack trace was made by using mprof to monitor this program brute force 10,000 addresses on a 4 logical processor machine with 8GB of RAM. As a result, 4 child processes were created, each consuming 2100MiB of RAM (~2GB).

Recent Improvements & TODO

  • [X] Fixed typos/formatting

  • [ ] Update database

  • [ ] Pickle loader

  • [ ] Try to fix Memory Error

Create an issue so I can add more stuff to improve

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].