Search content
Sort by

Showing 20 of 125 results by Jupiter_01
Post
Topic
Board Proje Geliştirme
Re: Bitcoin; Algoritma Üzerine Yöntemler
by
Jupiter_01
on 09/10/2024, 09:32:55 UTC
Bulmacalar için bir kod bu işle uğraşanlar veya bilgisayar 7/24 açık olanlar deneyebilir Smiley
bulmacalardaki aralığı girin başlangıç ve bitiş private keyi
aranan adresi girin ve bırakın tarasın bulursa text dosyasına yazdırır, çözülen bulmacalarda deneyebilirsiniz Smiley MODÜLLERİ YÜKLEMEYİ UNUTMAYIN!

import hashlib
import ecdsa
import random
import base58
import tkinter as tk
from tkinter import messagebox
from threading import Thread

def private_key_to_compressed_public_key(private_key):
    sk = ecdsa.SigningKey.from_string(private_key, curve=ecdsa.SECP256k1)
    vk = sk.get_verifying_key()
    return (b'\x02' if vk.pubkey.point.y() % 2 == 0 else b'\x03') + vk.to_string()[:32]

def public_key_to_address(public_key):
    sha256_bpk = hashlib.sha256(public_key).digest()
    ripemd160_bpk = hashlib.new('ripemd160', sha256_bpk).digest()
    prefixed_ripemd160_bpk = b'\x00' + ripemd160_bpk
    sha256_1 = hashlib.sha256(prefixed_ripemd160_bpk).digest()
    sha256_2 = hashlib.sha256(sha256_1).digest()
    checksum = sha256_2[:4]
    binary_address = prefixed_ripemd160_bpk + checksum
    address = base58.b58encode(binary_address)
    return address.decode('utf-8')

def generate_random_private_key(start, end):
    return random.randint(start, end).to_bytes(32, byteorder='big')

def search_for_matching_key(target_address, start, end, status_label):
    scanned_keys = 0
    while True:
        private_key = generate_random_private_key(start, end)
       
       
        compressed_pubkey = private_key_to_compressed_public_key(private_key)
        compressed_address = public_key_to_address(compressed_pubkey)
       
        scanned_keys += 1
        status_label.config(text=f"Tarama yapılan private key sayısı: {scanned_keys}")
        root.update_idletasks()
       
        if compressed_address == target_address:
            with open("found_key.txt", "w") as file:
                file.write(f"Matching private key: {private_key.hex()}\n")
            return private_key.hex(), scanned_keys

def start_search():
    target_address = entry_address.get()
    start_range = int(entry_start.get(), 16)
    end_range = int(entry_end.get(), 16)
   
    if len(target_address) == 34 and start_range < end_range:
        status_label.config(text="Arama başlatılıyor...")
        root.update_idletasks()
        # İş parçacığı oluştur
        search_thread = Thread(target=search_key_in_background, args=(target_address, start_range, end_range))
        search_thread.start()
    else:
        messagebox.showerror("Hata", "Geçersiz girişler. Adresi ve private key aralığını kontrol edin.")

def search_key_in_background(target_address, start_range, end_range):
    try:
        matching_key, scanned_keys = search_for_matching_key(target_address, start_range, end_range, status_label)
        if matching_key:
            messagebox.showinfo("Sonuç", f"Eşleşen private key: {matching_key}\nTarama yapılan private key sayısı: {scanned_keys}")
        else:
            messagebox.showwarning("Sonuç", "Eşleşen private key bulunamadı.")
    except Exception as e:
        messagebox.showerror("Hata", f"Bir hata oluştu: {e}")

root = tk.Tk()
root.title("Bitcoin Private Key Bulucu")

tk.Label(root, text="Bitcoin Adresi:").grid(row=0, column=0)
entry_address = tk.Entry(root, width=50)
entry_address.grid(row=0, column=1)

tk.Label(root, text="Başlangıç Private Key (Hex):").grid(row=1, column=0)
entry_start = tk.Entry(root, width=50)
entry_start.grid(row=1, column=1)

tk.Label(root, text="Bitiş Private Key (Hex):").grid(row=2, column=0)
entry_end = tk.Entry(root, width=50)
entry_end.grid(row=2, column=1)

status_label = tk.Label(root, text="Tarama yapılacak...")
status_label.grid(row=4, column=0, columnspan=2)

search_button = tk.Button(root, text="Aramayı Başlat", command=start_search)
search_button.grid(row=3, column=0, columnspan=2)

root.mainloop()
Post
Topic
Board Proje Geliştirme
Merits 1 from 1 user
Re: Bitcoin; Algoritma Üzerine Yöntemler
by
Jupiter_01
on 20/07/2024, 11:59:17 UTC
⭐ Merited by Vispilio (1)
İki kod daha uğraşan arkadaşlara

1. Kod BNB ağındaki sizin tarafınızdan verilen blok aralığındaki blokları tarayarak bakiyesi 0 dan büyük adresleri bir txt dosyasına yazdırır. (Api kullanmadığı için biraz zorlayabilir bazı bloklarda çok fazla adres olmasından kaynaklı)

2. Kon 1. kodda üretilen txt dosyasını hafızaya alıp rasgele private key üretip txt dosyasında bir eşleşmeyle karşılaşırsa başka bir txt dosyasına eşleşen adres ile pk yazdırır....


1. KOD >>>>>>

from web3 import Web3
from web3.middleware import geth_poa_middleware

bsc = Web3(Web3.HTTPProvider('https://bsc-dataseed.binance.org/'))
bsc.middleware_onion.inject(geth_poa_middleware, layer=0)

def check_balance(address):
    balance = bsc.eth.get_balance(address)
    return balance

def get_non_zero_balance_addresses(start_block, end_block):
    non_zero_addresses = set()
   
    for block_num in range(start_block, end_block + 1):
        block = bsc.eth.get_block(block_num, full_transactions=True)
        for tx in block.transactions:
            if tx.to:
                balance = check_balance(tx.to)
                if balance > 0:
                    non_zero_addresses.add((tx.to, Web3.from_wei(balance, 'ether')))
           
            balance = check_balance(tx['from'])
            if balance > 0:
                non_zero_addresses.add((tx['from'], Web3.from_wei(balance, 'ether')))
       
        print(f"Processed block {block_num}/{end_block}")
   
    return non_zero_addresses

def save_to_file(non_zero_addresses, filename='non_zero_balances.txt'):
    with open(filename, 'w') as f:
        for address, balance in non_zero_addresses:
            f.write(f'{address}\n')

def main():
    start_block = 1  # Başlangıç bloğunu belirleyin
    end_block = 3500  # Bitiş bloğunu belirleyin
    non_zero_addresses = get_non_zero_balance_addresses(start_block, end_block)
    save_to_file(non_zero_addresses)
    print(f'{len(non_zero_addresses)} addresses with non-zero balance found and saved to non_zero_balances.txt.')

if __name__ == '__main__':
    main()

2. KOD >>>>

import os
import random
import time
from web3 import Web3
from eth_account import Account

bsc = Web3(Web3.HTTPProvider('https://bsc-dataseed.binance.org/'))

def generate_random_keypair():
    account = Account.create(os.urandom(32))
    return account.key, account.address

def load_addresses(filename='non_zero_balances.txt'):
    addresses = set()
    with open(filename, 'r') as f:
        for line in f:
            if line.startswith('Address:'):
                address = line.split()[1][:-1]
                addresses.add(address)
    return addresses

def save_found_key(address, private_key, filename='found_keys.txt'):
    with open(filename, 'a') as f:
        f.write(f'Address: {address}, Private Key: {private_key}\n')

def main():
    known_addresses = load_addresses()
    print(f'Loaded {len(known_addresses)} known addresses.')

    found = False
    total_attempts = 0
    interval_attempts = 0
    start_time = time.time()

    while not found:
        private_key, address = generate_random_keypair()
        if address in known_addresses:
            print(f'Found a match! Address: {address}, Private Key: {private_key.hex()}')
            save_found_key(address, private_key.hex())
            found = True
        total_attempts += 1
        interval_attempts += 1

        current_time = time.time()
        if current_time - start_time >= 1:
            print(f'{interval_attempts} attempts made in the last second.')
            interval_attempts = 0
            start_time = current_time

        if total_attempts % 1000 == 0:
            print(f'{total_attempts} total attempts made, still searching...')

if __name__ == '__main__':
    main()

Post
Topic
Board Proje Geliştirme
Re: Bitcoin; Algoritma Üzerine Yöntemler
by
Jupiter_01
on 19/07/2024, 11:25:00 UTC
aşadaki kodda aynı anda 3 ağda (Eth, Bnb, Matic) kontrol etmenizi sağlar. Bu sefer sizden Private Keyinizi ister ve arayüzlü exe haline hetirmedim ki açık kaynak kodlu olsun diye... yine modülleri yüklemeyi unutmayın....


import os
import threading
from web3 import Web3
from eth_account import Account
import tkinter as tk
from tkinter import scrolledtext, messagebox

bsc = Web3(Web3.HTTPProvider('https://bsc-dataseed.binance.org/'))
ethereum = Web3(Web3.HTTPProvider('https://cloudflare-eth.com'))
polygon = Web3(Web3.HTTPProvider('https://polygon-rpc.com'))

def generate_random_keypair():
    """Rastgele bir Ethereum/BSC Keypair üretir."""
    account = Account.create(os.urandom(32))
    return account.key, account.address

def check_balance(address, web3):
    """Belirtilen adresin bakiyesini kontrol eder."""
    balance = web3.eth.get_balance(address)
    return balance

class BSCApp:
    def __init__(self, root):
        self.root = root
        self.root.title("BSC, Ethereum ve Polygon (MATIC) Balance Checker")
       
        self.is_running = False
       
        self.lbl = tk.Label(root, text="Lütfen bakiyesini kontrol etmek istediğiniz private key'i girin:")
        self.lbl.pack(pady=10)
       
        self.private_key_entry = tk.Entry(root, width=50)
        self.private_key_entry.pack(pady=5)
       
        self.start_button = tk.Button(root, text="Başlat", command=self.start_checking)
        self.start_button.pack(pady=5)
       
        self.stop_button = tk.Button(root, text="Durdur", command=self.stop_checking)
        self.stop_button.pack(pady=5)
       
        self.output_text = scrolledtext.ScrolledText(root, width=60, height=15)
        self.output_text.pack(pady=10)
       
        self.found_text = scrolledtext.ScrolledText(root, width=60, height=10, bg='light yellow')
        self.found_text.pack(pady=10)
       
        self.thread = None
   
    def start_checking(self):
        if not self.is_running:
            self.is_running = True
            self.output_text.insert(tk.END, "İşlem başlatıldı...\n")
            self.output_text.see(tk.END)
            self.thread = threading.Thread(target=self.check_balances)
            self.thread.start()
        else:
            messagebox.showwarning("Uyarı", "İşlem zaten çalışıyor.")
   
    def stop_checking(self):
        if self.is_running:
            self.is_running = False
            self.output_text.insert(tk.END, "İşlem durduruldu...\n")
            self.output_text.see(tk.END)
        else:
            messagebox.showwarning("Uyarı", "Zaten çalışan bir işlem yok.")
   
    def check_balances(self):
        user_private_key = self.private_key_entry.get()
        try:
            account = Account.from_key(user_private_key)
        except Exception as e:
            self.output_text.insert(tk.END, f"Geçersiz private key: {e}\n")
            self.is_running = False
            return
       
        user_address = account.address
        user_balance_bsc = check_balance(user_address, bsc)
        user_balance_ethereum = check_balance(user_address, ethereum)
        user_balance_polygon = check_balance(user_address, polygon)
       
        user_balance_bsc_in_bnb = Web3.from_wei(user_balance_bsc, 'ether')
        user_balance_ethereum_in_eth = Web3.from_wei(user_balance_ethereum, 'ether')
        user_balance_polygon_in_matic = Web3.from_wei(user_balance_polygon, 'ether')
       
        self.output_text.insert(tk.END, f"Kullanıcı Adresi: {user_address}\n")
        self.output_text.insert(tk.END, f"BSC Bakiye: {user_balance_bsc_in_bnb} BNB\n")
        self.output_text.insert(tk.END, f"Ethereum Bakiye: {user_balance_ethereum_in_eth} ETH\n")
        self.output_text.insert(tk.END, f"Polygon Bakiye: {user_balance_polygon_in_matic} MATIC\n")
        self.output_text.see(tk.END)
       
        if user_balance_bsc > 0 or user_balance_ethereum > 0 or user_balance_polygon > 0:
            self.found_text.insert(tk.END, f"Kullanıcı Adresi: {user_address}\n")
            self.found_text.insert(tk.END, f"BSC Bakiye: {user_balance_bsc_in_bnb} BNB\n")
            self.found_text.insert(tk.END, f"Ethereum Bakiye: {user_balance_ethereum_in_eth} ETH\n")
            self.found_text.insert(tk.END, f"Polygon Bakiye: {user_balance_polygon_in_matic} MATIC\n")
            self.found_text.insert(tk.END, f"Private Key: {user_private_key}\n\n")
            self.found_text.see(tk.END)
       
        found = False
        counter = 0
        while self.is_running and not found:
            private_key, address = generate_random_keypair()
            balance_bsc = check_balance(address, bsc)
            balance_ethereum = check_balance(address, ethereum)
            balance_polygon = check_balance(address, polygon)
           
            balance_bsc_in_bnb = Web3.from_wei(balance_bsc, 'ether')
            balance_ethereum_in_eth = Web3.from_wei(balance_ethereum, 'ether')
            balance_polygon_in_matic = Web3.from_wei(balance_polygon, 'ether')
           
            self.output_text.insert(tk.END, f"{private_key.hex()}\n")
            self.output_text.insert(tk.END, f"BSC: {balance_bsc_in_bnb} BNB\n")
            self.output_text.insert(tk.END, f"Ethereum: {balance_ethereum_in_eth} ETH\n")
            self.output_text.insert(tk.END, f"Polygon: {balance_polygon_in_matic} MATIC\n")
            self.output_text.see(tk.END)
           
            if balance_bsc > 0 or balance_ethereum > 0 or balance_polygon > 0:
                found = True
                with open("buldumm.txt", "a") as f:
                    f.write(f"Private Key: {private_key.hex()}\n")
                    f.write(f"Address: {address}\n")
                    f.write(f"BSC Balance: {balance_bsc_in_bnb} BNB\n")
                    f.write(f"Ethereum Balance: {balance_ethereum_in_eth} ETH\n")
                    f.write(f"Polygon Balance: {balance_polygon_in_matic} MATIC\n\n")
                self.found_text.insert(tk.END, f"Address: {address}\n")
                self.found_text.insert(tk.END, f"BSC Balance: {balance_bsc_in_bnb} BNB\n")
                self.found_text.insert(tk.END, f"Ethereum Balance: {balance_ethereum_in_eth} ETH\n")
                self.found_text.insert(tk.END, f"Polygon Balance: {balance_polygon_in_matic} MATIC\n")
                self.found_text.insert(tk.END, f"Private Key: {private_key.hex()}\n\n")
                self.found_text.see(tk.END)
           
            counter += 1
            if counter % 1000 == 0:
                user_balance_bsc = check_balance(user_address, bsc)
                user_balance_ethereum = check_balance(user_address, ethereum)
                user_balance_polygon = check_balance(user_address, polygon)
               
                user_balance_bsc_in_bnb = Web3.from_wei(user_balance_bsc, 'ether')
                user_balance_ethereum_in_eth = Web3.from_wei(user_balance_ethereum, 'ether')
                user_balance_polygon_in_matic = Web3.from_wei(user_balance_polygon, 'ether')
               
                self.output_text.insert(tk.END, f"Kullanıcı Adresi: {user_address}\n")
                self.output_text.insert(tk.END, f"BSC Bakiye: {user_balance_bsc_in_bnb} BNB\n")
                self.output_text.insert(tk.END, f"Ethereum Bakiye: {user_balance_ethereum_in_eth} ETH\n")
                self.output_text.insert(tk.END, f"Polygon Bakiye: {user_balance_polygon_in_matic} MATIC\n")
                self.output_text.see(tk.END)

if __name__ == "__main__":
    root = tk.Tk()
    app = BSCApp(root)
    root.mainloop()
 
Post
Topic
Board Proje Geliştirme
Merits 1 from 1 user
Re: Bitcoin; Algoritma Üzerine Yöntemler
by
Jupiter_01
on 31/05/2024, 09:26:03 UTC
⭐ Merited by Vispilio (1)
slm herkese

bnb ağı için basit bir kod kullanmak isteyenler için...
kodu test etmek için sizden bir adres girmenizi ister girilen adresin bakiyesini kontrol eder daha sonrasında rasgele bnb adresi üretip bakiyesini kontrol eder bulursa yazdırır... Smiley

modülleri yüklemeyi unutmayın

import os
from web3 import Web3
from eth_account import Account

# BSC (Binance Smart Chain) bağlantısı
bsc = Web3(Web3.HTTPProvider('https://bsc-dataseed.binance.org/'))

def generate_random_keypair():
    """Rastgele bir Ethereum/BSC Keypair üretir."""
    account = Account.create(os.urandom(32))
    return account.key, account.address

def check_balance(address):
    """Belirtilen adresin BNB bakiyesini kontrol eder."""
    balance = bsc.eth.get_balance(address)
    return balance

def main():
    # Kullanıcıdan bir BNB adresi al
    user_address = input("Lütfen bakiyesini kontrol etmek istediğiniz BNB adresini girin: ")
    user_balance = check_balance(user_address)
    user_balance_in_bnb = Web3.from_wei(user_balance, 'ether')
    print(f"Kullanıcı Adresi: {user_address}, Bakiye: {user_balance_in_bnb} BNB")
   
    found = False
    while not found:
        private_key, address = generate_random_keypair()
        balance = check_balance(address)
        balance_in_bnb = Web3.from_wei(balance, 'ether')
        print(f"Address: {address}, Balance: {balance_in_bnb} BNB")
        if balance > 0:
            found = True
            with open("bulundu1.txt", "a") as f:
                f.write(f"Private Key: {private_key.hex()}\n")
                f.write(f"Address: {address}\n")
                f.write(f"Balance: {balance_in_bnb} BNB\n\n")
            print(f"Found an address with balance > 0: {address}")
            print(f"Private Key: {private_key.hex()}")

if __name__ == "__main__":
    main()
Post
Topic
Board Proje Geliştirme
Re: İnternetsiz Bitcoin Gönderme Bu Teknoloji ile Mümkün Olabilir
by
Jupiter_01
on 25/03/2020, 20:56:08 UTC
Bu konu benimde ilgimi çeken başlıklardan biri, lakin bura da mugt'un söylediği gibi bizim önce teknolojiyi çözüp, anlayıp bir yere koymamız lazım..Tabi ki de internet siz kimi çözümler üretilebilir (bu noktada en iyi örnek https://holochain.org/    Holo(HOT) olabilir şu aşamada internete ihtiyaç duyuyor olabilir lakin dayandığı nokta alternatif bir cihaz üzerinden ilerlemek olduğu için kim ek donanımsal güncellemeler ile, interneti pasif hale getirip her noktadan ulaşılabilen bir bağlantıyı kurgulayabilir ).
Günümüz dünyasında internet en kaba tabir ile herkesin ulaşabileceği en basit araç noktasına düşmüş durumda ve kullandığımız tüm ağ bunun üzerine inşaa edilmesi en doğal çözüm (ve ulaşabilirliği artmaya devam ediyor örnek 5G)...
En başa dönersek bir zamanlar teletext vardı hani tv kumandalarında bir tuş var babalarımız o tuşa basar maç sonuçlarına bakar hava durumuna bakar haber okur vs idi... İşte bura da mugt a bir kez daha atıfta bulunup " bizim ilk önce teknolojiyi anlamamız ve çözmemiz lazım" ; bu teknolojiyi anladıktan sonra bunu bir tv kumandasının tek tuşuna sıkıştırıp; herkesin ulaşabilir olmasını sağlayabiliriz.
Post
Topic
Board Proje Geliştirme
Merits 2 from 2 users
Re: Bitcoin; Algoritma Üzerine Yöntemler
by
Jupiter_01
on 25/03/2020, 19:41:46 UTC
⭐ Merited by ekiller (1) ,miyav (1)
"""geçmişe bakmadım ama bip 2048 kelimeden oluşan listeyi adrese dönüştürerek arayan varmıdır? varsa projede örnekler varmıdır? sonuçta hardwallerlar bip listesine göre adres oluşturmuyor mu ?"""

diğer arkadaşlarında dediği gibi bende dahil olmak üzere her türlü kombinasyonu deniyoruz, ve bu tür basit algoritmalar üzerine bağlı şifreler zaten botlara bağlı durumda... anında çekiliyor yani...

Bura da bir şeyi hatırlatmak isterim ki önceki mesajlarda oldukça detaylı anlatılıyor vede kimi kodlar ile çözümler sunuluyor ; wallet uygulamaları için üretilen 12 15 18 24 kelimelik seedler size bir adres verir ama bu verilen adres walletteki btc leri size vermez... Wallettin kurtarma seed i ile adreslerin seedi apayrı şeylerdir... daha önceki mesajlarda bunu örnek bir seed le de açıklamıştım.

Burada tarama veya adres üretimi yaparken en son başvuracağınız yöntem olmalıdır seed olayı...Tekrar basit bir örnek vermek gerekirse (geçmiş mesajları okumayan arkadaşlar için 21. sayfaya bakabilirler)....
12 kelimelik bir seed oluşturduğum anda 2^31 * 2 -1 bir adres karmaşasının içine giriyoruz... örnegin şu adresin 1GWN13gMpGBVMfdHmrp53EcHzedBj226om   1 2 3....64 karakterlik bir seed karşılığı vardır... ama bu seed i ben bir hd wallette import ettiğim zaman walletin algoritmasına göre ya seedi kabul etmeyecektir yada bana bambaşka adresler üretecektir...

Bura da anlatmaya çalıştığım özetle bip 2048 ile oluşturulan kombinasyonlar genel kullanımda (12 15 18 24 vs.) kurtarma seed leridir (ve tabiki bip 2048 ile bir şifre üretebilirsiniz örneğin 4 kelimelik bir şifre ve bu şifreyle üretilen adresi kullanabilirsiniz ve birileride bip 2048 deki kelimeleri 4 lü kombinasyonlarına random taramayla adresinize ulaşabilir ) ve her wallette farklı algoritmalar üzerine inşa edilmiştir. https://github.com/bitcoin/bips/blob/master/bip-0039/english.txt bu listeden oluşturacağınız (12 15 18 24 vs.) kombinasyonlarla adres üretiminde işi daha zora sokmaktan başka bir şey yapamazssınız...

Adres üretiminde en iyi yöntem vanitygen olarak gözükmekte alternatif arayanlar için daha önceki mesajlarda paylaştığım kodlar var ama hız biraz düşük... vanitygen de benim yaşadığım sorun adres tekrarı bunu da fark etmek biraz zor oldu (dosyalar çok büyük olduğu için) donanımsal bir sorun olarak gördüm farklı güçte bilgisayarlarla da deneyince de sonuç değişmedi belli bir büyüklükten sonra adres tekrarına geçiyor...(Çok fazla büyüklükte adres üreten arkadaşların kontrol etmesini öneririm, büyük bir zaman kaybı oluyor)
Post
Topic
Board Proje Geliştirme
Re: Bitcoin; Algoritma Üzerine Yöntemler
by
Jupiter_01
on 21/01/2020, 06:58:16 UTC
Zaten arkadaşlar ben çoğu kodu geliştirelim, üzerine bir şeyler ekleyelim yada içinden işimize yarayacak şeyleri ayıralım diye paylaşıyorum. (Misal çift adres üretimini kullanmamış arkadaşlar olabilir bu kodu hızlandırarak çift adres üzerinden karşılaştırma yapabilir...vs)...
Post
Topic
Board Proje Geliştirme
Merits 1 from 1 user
Re: Bitcoin; Algoritma Üzerine Yöntemler
by
Jupiter_01
on 20/01/2020, 21:24:50 UTC
⭐ Merited by vincetcm (1)
yukarıdaki basit koda ekleme compressed ve uncompressed adresin aynı anda bitcoin kütüphanesinden random üretilmesi ve history'in kontrolü

ran aralığı random atanmaktadır Decimal formattadır... random aralık 1 ile pow(2,256) / 128 arasında girerseniz bütün adresler arasında adres üretimi yapar...

Bu arda aşağıdaki ran aralık 0,64 BTC lik bulmacanın aralığıdır...

from bitcoin import *
for i in range(10000000):
    ran = random.randrange(10046744073709551615,18406744073709551615)
    myhex = "%064x" % ran
    myhex = myhex[:64]
    priv = myhex
    pub = privtopub(priv)
    pubkey1 = encode_pubkey(privtopub(priv), "bin_compressed")
    addr = pubtoaddr(pubkey1)
    addr1 = pubtoaddr(pub)
    z = history(addr)
    z1 = history(addr)
    print (priv)
    print (addr)
    print (addr1)
    print (z)
    print (z1)
Post
Topic
Board Proje Geliştirme
Re: Bitcoin; Algoritma Üzerine Yöntemler
by
Jupiter_01
on 18/01/2020, 14:42:19 UTC
basit bir kod daha geliştirilebilir... z çıktısında bir hareket varsa kullanılan bir adres

---------

Z çıktısında bir hareket olduğunu nasıl çözümlüyor anlayamadım hocam?


sıralı denemeyi çalıştırırsan anlarsın usta
Post
Topic
Board Proje Geliştirme
Merits 1 from 1 user
Re: Bitcoin; Algoritma Üzerine Yöntemler
by
Jupiter_01
on 18/01/2020, 10:05:38 UTC
⭐ Merited by Senius (1)
basit bir kod daha geliştirilebilir... z çıktısında bir hareket varsa kullanılan bir adres

##from cryptos import *
from bitcoin import *
for i in range(1000000):
    priv = random_key()
    pub = privtopub(priv)
    addr = pubtoaddr(pub)
    z = history(addr)
##    d = unspent(addr)
    print (priv)
    print (addr)
    print (z)
##    print (d)


----------------------------------- Sıralı Deneme

##from cryptos import *
from bitcoin import *
priv = 45778622693942115894286478612159924683165241483330012749306969881513991178880
for i in range(1):
    priv = priv + 1
    pub = privtopub(priv)
    addr = pubtoaddr(pub)
    z = history(addr)
##    d = unspent(addr)
    print (priv)
    print (addr)
    print (z)
##    print (d)
Post
Topic
Board Proje Geliştirme
Re: Bitcoin; Algoritma Üzerine Yöntemler
by
Jupiter_01
on 16/01/2020, 08:43:06 UTC
bir txt dosyasındaki tekrarlanan satırları teke indirir... birertanesinin çıktısını verir... kimi değişiklikler yaparak isdediğnize ulaşabilirsiniz...

list1 = open("sonuc.txt", "r").readlines()
list = []

for i in list1:
  if i not in list:
    list.append(i)

print(list)
Post
Topic
Board Proje Geliştirme
Merits 1 from 1 user
Re: Bitcoin; Algoritma Üzerine Yöntemler
by
Jupiter_01
on 15/01/2020, 13:52:14 UTC
⭐ Merited by mandown (1)
#!/usr/bin/env python3

konum = "Sonuc.txt"

dosya = open(konum, "r")

aranan = "5JzixERkUaP7efMzQrANzC7aKp1ksRjT5WYCUUZcNyQuchAThbE"

aranan_varmi = dosya.read().find(aranan)

if aranan_varmi != -1:
   print("Dosya içinde Mevcut")
else:
   print("ne yazık ki")

dosya.close()
Post
Topic
Board Proje Geliştirme
Merits 1 from 1 user
Re: Bitcoin; Algoritma Üzerine Yöntemler
by
Jupiter_01
on 04/01/2020, 20:25:37 UTC
⭐ Merited by Blacknavy (1)
Boş muhabbetler edip burda lütfen konuyu daraltmayın bizi de darlamayın...
https://bitcointalk.org/index.php?topic=1306983.0
insanlar sizin beğenmediğiniz o yabancı güçler sırf bu algoritmayı anlamak için milyon dolarlık ödüller veriyor...
Bizde bu algoritmayı çözmeye/anlamaya çalışıyoruz ve kimi yorumlar üretiyoruz... En azından bu teknolojiye sağından veya solundan bir şeyler katıyoruz ve yine en azından türkçe bir kaynak oluşturuyoruz. Sen ve senin gibi salak saçma insanlar ülkemize hep geride bıraktı. (husura bakmayın bu muhabbete hiç girmek istemezdim ama bu cahilleri gördükçe gerçekten insan darlanıyor)... Şu anda bana onlarca mesaj geliyor ve bu mesajların %90 yurt dışından şu kodu açıklarmısınız biz kayıp 3 milyon btc yi bulmak istiyoruz şöyle bir yöntem izliyoruz vs...
Bırakın en azından bu konuda biraz bir şeyler yapalım ve bir kaynak oluşturalım... Ama düzünden ama ters mühendisliğinden...Bu provokatör dilleri gidin bildiğiniz ve her zaman yaptığınız yerlerde yapın...En azından bi burayı rahat bırakın daaa..
Post
Topic
Board Proje Geliştirme
Merits 1 from 1 user
Re: Bitcoin; Algoritma Üzerine Yöntemler
by
Jupiter_01
on 28/12/2019, 19:29:50 UTC
⭐ Merited by mhanbostanci (1)
Arkadaşlar aşağıdaki kodu da deneyin özellikle belli bir aralıkta çözüm arayanlar için bire bir...

ran = 1 (bitcoin DEC değeri Bunu siz girin , aşağıda Dec 1 den başlar birer arttırarak private key üretip verilen adresi çözmeye çalışır)
AMAÇ dec aralığı bilinen bir adresi bulmaya çalışmak (özellikle muhtelif bulmacalarda kullanabilirsiniz) (sayfalama mantığın bir versiyonu 128 e bölünmeden dec değerleri üzerinden ilerliyor)
BU KOD SIRALI TARAMA

from bitcoin import *
import random
ta = open("jupi1.txt", "w")
ran = 1
while True:
    ran = ran + 1
    myhex = "%064x" % ran
    myhex = myhex[:64]
    priv = myhex
    pub = privtopub(priv)
    pubkey1 = encode_pubkey(privtopub(priv), "bin_compressed")
    addr = pubtoaddr(pubkey1)
    n = addr
    if n.strip() == "1DF7Yr4GKWoCXZZZXoEczo9oiokwQe8Urz":
        #print ("found!!!",addr,myhex)
        s1 = myhex
        s2 = addr

        ta.write(addr +  "\n" + myhex)

        break
    else:
        print ran



BU KOD GİRİLEN İKİ DEC ARALIĞINDA RANDOM VERİLEN ADRESİ ARAR

ran = random.randrange(200,300)  ''' Aradığınız dec aralığını bu alana girin '''


from bitcoin import *
import random

while True:
    ran = random.randrange(200,300)
    myhex = "%064x" % ran
    myhex = myhex[:64]
    priv = myhex
    pub = privtopub(priv)
    pubkey1 = encode_pubkey(privtopub(priv), "bin_compressed")
    addr = pubtoaddr(pubkey1)
    n = addr
    if n.strip() == "1E854xRWvAX2TPzU2M5vphb34kERiESaRR":
        print ("Bulundu!!!",addr,myhex)
        s1 = myhex
        s2 = addr
        break
    else:
        print ("aranıyor..",addr,myhex)



Aşağıdaki kodda başka bir versiyon birden fazla adresi belirli bir dec aralığında aramak için

from bitcoin import *
import random

while True:
    ran = random.randrange(200,300)
    myhex = "%064x" % ran
    myhex = myhex[:64]
    priv = myhex
    pub = privtopub(priv)
    pubkey1 = encode_pubkey(privtopub(priv), "bin_compressed")
    addr = pubtoaddr(pubkey1)
    n = addr
    if n.strip() in ("1E854xRWvAX2TPzU2M5vphb34kERiESaRR,19JXActYqKeX6phjALfDvLV23QuGGe4i2r,1AsrDGALFhyn1Monh1SJuJbRrBPndryssD"):
        print ("Bulundu!!!",addr,myhex)
        s1 = myhex
        s2 = addr
        break
    else:
        print (ran)




Bu arada kodların tamamı compressed adresler için geçerlidir..
Post
Topic
Board Proje Geliştirme
Merits 1 from 1 user
Re: Bitcoin; Algoritma Üzerine Yöntemler
by
Jupiter_01
on 15/12/2019, 11:15:20 UTC
⭐ Merited by 2run (1)
Random Private Key Üretip Adres ve compressed Adres çıktısını almak



import bitcoin
import qrcode

f = open("keyler.txt", "w")
z = open("adresler.txt", "w")
for i in range(10000000):
  valid_private_key = False
  while not valid_private_key:
    private_key = bitcoin.random_key()
    #private_key = str('siz girin')
    decoded_private_key = bitcoin.decode_privkey(private_key, 'hex')
    valid_private_key = 0 < decoded_private_key < bitcoin.N

  #print ('Private Key (hex) is: ' + private_key)
  #print ('private Key (decimal) is: ' + str(decoded_private_key))
  wif_encoded_private_key = bitcoin.encode_privkey(decoded_private_key, 'wif')
  #print('Private Key (WIF) is: ' + wif_encoded_private_key)
  compressed_private_key = private_key + '01'
  #print ('Private Key Compressed (hex) is: ' + compressed_private_key)
  wif_compressed_private_key = bitcoin.encode_privkey(bitcoin.decode_privkey(compressed_private_key, 'hex'), 'wif')
  #print ('Private Key (WIF-compressed) is: ' + wif_compressed_private_key)
  public_key = bitcoin.fast_multiply(bitcoin.G, decoded_private_key)
  #print ('Public Key (x,y) coordinates are: ' + str(public_key))
  hex_encoded_public_key = bitcoin.encode_pubkey(public_key, 'hex')
  #print ('Public Key (hex) is: ' + hex_encoded_public_key)
  (public_key_x, public_key_y) = public_key
  if public_key_y % 2 == 0:
    compressed_prefix = '02'
  else:
    compressed_prefix = '03'
  hex_compressed_public_key = compressed_prefix + bitcoin.encode(public_key_x, 16)
  #print ('Compressed Public Key is: ' + hex_compressed_public_key)
  print ('Adres ' + bitcoin.pubkey_to_address(public_key))
  print ('CAdres ' + bitcoin.pubkey_to_address(hex_compressed_public_key))
  compressed_address_base58check = bitcoin.pubkey_to_address(hex_compressed_public_key)

  f.write(bitcoin.pubkey_to_address(public_key)  + "//" + bitcoin.pubkey_to_address(hex_compressed_public_key) + "//" + private_key  + "\n")
  z.write(bitcoin.pubkey_to_address(public_key)  + "\n" + bitcoin.pubkey_to_address(hex_compressed_public_key) + "\n")

Post
Topic
Board Proje Geliştirme
Re: Bitcoin; Algoritma Üzerine Yöntemler
by
Jupiter_01
on 13/12/2019, 06:55:00 UTC
yukardaki koddaki sıkıntı uncompressed adresleri veriyor compressed adresleri de aynı çıktıda almak gerekiyor . Sizde bir bakabilirseniz arkadaşlar aynı dec değeri için  compressed adres ve uncompressed adres nasıl çıkartırız... Bitcoin modülü ile çözemedim
https://pypi.org/project/bitcoin/

Edit: (bir aşama ilerleme)
compressed ve uncompressed wif üretimi ni yaptım bundan sonrasında wif lerden adrese geçmek gerekiyor



from bitcoin import *
import bitcoin

nDecimal = 8993229949524469768
def generar_HEX(nDecimal):
        aHex = hex(nDecimal)
        aHex = aHex[2:].upper()
        aHex = ((64-len(aHex)) * '0') + aHex
        return aHex

private_key = generar_HEX(nDecimal)
decoded_private_key = bitcoin.decode_privkey(private_key, 'hex')
wif = bitcoin.encode_privkey(decoded_private_key, 'wif')
compressed_private_key = private_key + '01'
wif1 = bitcoin.encode_privkey(bitcoin.decode_privkey(private_key, 'hex'), \
            'wif_compressed')

print wif1
print wif
Post
Topic
Board Proje Geliştirme
Re: Bitcoin; Algoritma Üzerine Yöntemler
by
Jupiter_01
on 11/12/2019, 06:31:37 UTC
Dec değeri
1 den başlayıp 115792089237316195423570985008687907853269984665640564039457584007913129639935 devam ediyor var olan tüm adresler bu aralıkta, bu kodla belli bir dec den başlayıp sıralı bir şekilde adres üretebilirsiniz...
https://braliman.com/bitcoin/1  (mantığı bu siteden görebilirsiniz sayfalamada bu mantıkla her sayfaya 128 adres atıyor)

kodda

nDecimal = xxxxxxxxxxxxxxx  (başlamak istediğiniz değer)
for i in range(100000000):   üretmek istediğiniz adres sayısı

ben bu kodu kimi bulmacaları çözmek için kullanıyorum bu arada
Post
Topic
Board Proje Geliştirme
Merits 1 from 1 user
Re: Bitcoin; Algoritma Üzerine Yöntemler
by
Jupiter_01
on 10/12/2019, 13:58:52 UTC
⭐ Merited by 2run (1)
sıralı adres üretme isteyen arkadaşlar kullanabilir....



from bitcoin import *
f = open("adres.txt", "w")
nDecimal = 1
for i in range(100000000):
    def generar_HEX(nDecimal):
            aHex = hex(nDecimal)
            aHex = aHex[2:].upper()
            aHex = ((64-len(aHex)) * '0') + aHex
            return aHex

    nDecimal = nDecimal + 1
    priv = generar_HEX(nDecimal)
    pub = privtopub(priv)
    addr = pubtoaddr(pub)
    wif = encode_privkey(priv, 'wif')

    #print 'NUMBER: ' + str(nDecimal)
    #print 'PRIV: ' + priv
    #print 'PUB: ' + pub
    print 'ADDR: ' + addr
    #print 'WIF: ' + wif
    f.write(addr  + "//" + wif + "\n")
Post
Topic
Board Proje Geliştirme
Re: Bitcoin; Algoritma Üzerine Yöntemler
by
Jupiter_01
on 06/11/2019, 08:22:36 UTC
Bizim burada kullandığımız bazı yöntemlerle çözülmüş/çözülmeye çalışılan adresler... inceleyin belki siz çözersiniz 32 BTC lik bulmaca
linkteki dosyada işinize yarıyacak tüm veriler var ben kimi zamanlar uğraşıyorum

https://vlmi.io/attachments/privat-txt.24930/
Post
Topic
Board Proje Geliştirme
Re: Bitcoin; Algoritma Üzerine Yöntemler
by
Jupiter_01
on 07/08/2019, 11:38:15 UTC
@2run ; aslında sunu söylemeye çalıştım; 96 milyon şifre içerisine kullanılmış bir kaç adresin şifresinide ekleyerek tarama yaptırdım rasgale satırlara ve yazılım sorunsuz tüm satırları okuyarak işlem görmüş adresleri verdi...hani söylemeye çalıştığım yazılım bakiye kontrol ederken bir kesilme söz konusu olmadı...
benim paylaştığım yazılımı kullanıyorsan iki adet çıktı üretir biri dolu adres bulabilirse yazar (foud.txt), diğeri de işlem görmüş adres bulursa yazar (found.txt)

eğer sen dict.txt e
hello
god
a
test

kayıtedip tarattırdığında found.txt boş çıkıyorsa yazılım sende düzgün çalışmıyor anlamına gelir... kardeşim

herkese bol şans