Возможно ли украсть Эфир с кошелька?

Тема в разделе "Блокчейн, криптотехнологии", создана пользователем Crypto-Cryonix, 11 июн 2021.

  1. Crypto-Cryonix

    Crypto-Cryonix новичок

    Не про биткоин, но тоже имеет место быть ибо можно написать под все кошельки.

    Добрый день, уважаемые форумчане и коллеги. Так уж вышло, что чисто с познавательной целью, порывшись В ГИТХАБЕ и имея некоторые БАЗОВЫЕ И КОСТЫЛЬНЫЕ знания в питоне. я методом копипаста из разных источников набросал общий скриптик. Работает он следующим образом. Он генерирует приватный ключ , из него он генерирует адрес кошелька, и с помощью одного сервиса проверяет имеется ли на кошельке баланс, если имеется - создается html файл, с ключем, адресом кошелька и балансом)

    Проект был придуман с целью выяснить, возможно ли с помощью такого метода потерять свои криптосбережения.

    ИСПОЛЬЗОВАНИЕ ДАННОГО КОДА РАЗРЕШЕНО ТОЛЬКО В ОБРАЗОВАТЕЛЬНЫХ ЦЕЛЯХ! КРАЖА ЧУЖИХ КРИПТОАКТИВОВ ЭТО ПРЕСТУПЛЕНИЕ! НЕ ЗАБЫВАЕМ ОБ ЭТОМ!

    Исходный код скриптика. В коде допущено несколько ошибок) Дабы всякие личности ищущие халявы, не начали использовать скрипт во вред




    Код:
    import secrets
    import sha3
    import eth_keys
    from eth_keys import keys
    import requests # To install from pip
    import re
    import colorama
    from colorama importFore,Back,Style
    
    import ctypes
    colorama.init()
    kernel32 = ctypes.windll.kernel32
    kernel32.SetConsoleMode(kernel32.GetStdHandle(-11),7)
    
    x =0
    
    while x<10:
        private_key = str(hex(secrets.randbits(256))[2:])
        private_key_bytes = bytes.fromhex(private_key)
        public_key_hex = keys.PrivateKey(private_key_bytes).public_key
        public_key_bytes = bytes.fromhex(str(public_key_hex)[2:])
        keccak256_of_public_key_bytes = sha3.keccak_256(public_key_bytes).hexdigest()
        public_address = keys.PublicKey(public_key_bytes).to_address()
        checksum = keys.Public.Key(public_key_bytes).to_checksum_address()
    
        print(Fore.WHITE +'\n Private_key:',private_key,
              Fore.BLUE +'\n Ethereum address:',public_address)
       
        x = x+1
        url ='https://www.blockchain.com/ru/eth/address/'+ str(public_address)
        print(Fore.YELLOW ,url)
        requests.post(url, headers={'UA':'Chrome'}, data={"foo":'bar'})
        res = requests.get(url)
       
        a = str(res.text)
        match = re.findall(r'Окончательный баланс</span></div></div><div class="sc-8sty72-0 bFeqhe"><span class="sc-1ryi78w-0 cILyoi sc-16b9dsl-1 ZwupP u3ufsr-0 eQTRKC" opacity="1">0.00000000 ETH</span>', a)
        zz= len('Окончательный баланс</span></div></div><div class="sc-8sty72-0 bFeqhe"><span class="sc-1ryi78w-0 cILyoi sc-16b9dsl-1 ZwupP u3ufsr-0 eQTRKC" opacity="1">')
        aaaa = str(match)
        bbbb = slice(154,168)
        xxxx = aaaa[bbbb]
        print(Fore.RED, xxxx)
       
        if len(match)==0:
            f1 = open("text1.html",'a')
            f1.write('\n <br>'+ str(private_key))
            f1.write('\n <br>'+ str(public_address)+'<br> <p style="color:red">0.00000000</p> <br>')
            f1.write('\n <br><p style="color:green">+++</p><br>')
            f1.close()
    Возникли какие либо вопросы?
    Задай их мне в телеграмм: @dkembriy
     
  2. NFTishka

    NFTishka новичок

    Не слишком ли опасный путь выбрали? Что-то мне даже заниматься таким не хочется, если даже знал язык программирования.