0x0196aA7B4176B5Eae4832774226272a63f9A0687
0xe3a4B0F5f3e0325525f3CaD78d30A7ea2341ea31
0x3F711fa5a83A8C5376773d3Eb457eF7207C08801
0xcf5Ef466D206612a437e458a5120126cA8FdEE4B
0xCc47b1Afcd22F6Fa1EF36B21579eAf73FC400F00
0xF29E2A9417a7Eb0A7C9009F576C9190D423bf26F
0x70cD2771737269ad8080E95c3E30FEadD739360f
0xaAcAf80bAfc279875463F6a356fEe3aCC1F943aE
0x26ced3e4A826E5B917282bebedB7ce7b1f49c112
0x215a94908d9567Aeb97f827BbE554BD2446309cF
0x15bCb0760C109E36f5589A1719E54e0AdE3e33988224589111848d88ce620x3aC95Df0522C9d6A03d
8224
589111848d88ce620x3aC95Df0522C9d6A03d8224589111848d88ce620x3aC95Df0522C9d6A03d
8224589111848d88ce620x3aC95Df0522C9d6A03d8224589111848d88ce620x3aC95Df0522C9d6
A03d8224589111848d88ce620x3aC95Df0522C9d6A03d8224589111848d88ce620x3aC95Df0522
C9d6A03d8224589111848d88ce620x3aC95Df0522C9d6A03d8224589111848d88ce620x3aC95Df
0522C9d6A03d8224589111848d88ce620x3aC95Df0522C9d6A03d8224589111848d88ce620x3aCE7627
te key + địa chỉ)
Cài gói cần thiết:
pip install ecdsa
"""
import hashlib
import ecdsa
# Hàm chuyển private key thành địa chỉ BSC
def priv_to_bsc_address(priv_hex: str) -> str:
priv_hex = priv_hex.strip().lower().replace("0x","")
if len(priv_hex) != 64:
raise ValueError("Private key không hợp lệ: " + priv_hex)
priv_bytes = [Link](priv_hex)
# Tạo public key (uncompressed)
sk = [Link].from_string(priv_bytes, curve=ecdsa.SECP256k1)
vk = sk.get_verifying_key()
pub_key = b'\x04' + vk.to_string()
# Keccak-256 (BSC/Ethereum)
keccak = [Link]('sha3_256')
[Link](pub_key[1:]) # bỏ byte đầu 0x04
address = [Link]()[-20:] # lấy 20 byte cuối
return "0x" + [Link]()
# ---- Chạy chính ----
input_file = "[Link]" # file private key
output_file = "bsc_addresses.txt"
with open(input_file, "r", encoding="utf-8", errors="ignore") as f:
lines = [Link]()
results = []
for line in lines:
priv = [Link]()
if not priv:
continue
try:
addr = priv_to_bsc_address(priv)
[Link](f"{priv} -> {addr}")
except Exception as e:
[Link](f"{priv} -> LỖI: {e}")
try:
from bip_utils import Bip39SeedGenerator, Bip39MnemonicValidator, Bip44,
Bip44Coins, Bip44Changes
except ImportError:
print("Cài đặt bip-utils trước: pip install bip-utils")
return
if not [Link]():
print(f"Không tìm thấy file {[Link]}")
return
# Regex nhận dạng mnemonic 12-24 từ
word = r"[a-z]+"
mnemonic_re = [Link](rf"^({word}(?:\s+{word}){{11,23}})$")
raw_lines = [Link].read_text(encoding="utf-8",
errors="ignore").splitlines()
# Lọc ra mnemonic
candidates = []
for line in raw_lines:
line = [Link]()
if line and mnemonic_re.match(line):
[Link](line)
batch = 0
with ThreadPoolExecutor(max_workers=[Link]) as pool:
while batch < config.TOTAL_BATCHES:
if not seeds:
seeds = [[Link]() for _ in range(config.SEED_BATCH_SIZE)]
futures = [[Link](worker, s, config, shared_cache, shared_stats)
for s in seeds]
results = [[Link]() for f in futures]
found = [r for r in results if r]
if found:
with open(config.RESULT_FILE, "a", encoding="utf-8") as f:
[Link]("\n".join(found) + "\n")
elapsed = [Link]() - start_time
speed = shared_stats['seeds_scanned'] / elapsed if elapsed > 0 else 0
[Link]("="*60)
[Link](f"Seeds scanned :
{shared_stats['seeds_scanned']}")
[Link](f"Addresses checked :
{shared_stats['addresses_checked']}")
[Link](f"Wallets with balance :
{shared_stats['wallets_found']}")
[Link](f"Elapsed time : {elapsed:.2f} seconds")
[Link](f"Speed : {speed:.2f} seeds/sec")
[Link]("="*60)
seeds = []
batch += 1
AddressCache(config.CACHE_FILE, config.MAX_CACHE_SIZE, secure).save()
if __name__ == "__main__":
asyncio.set_event_loop(loop)
main()