• XSS.stack #1 – первый литературный журнал от юзеров форума

Поиск Баланса в метамаск

Если получится дай знать))
окей сделаешь на биток тогда еще и поделюсь :D если будет
 
Всем привет, хотела рассказать не большую историю, однажды мне требовалось создать более 100 кошельков метамаск для прохождения тестнета уже точно не помню какого не в нем даже суть, я написала бота который бы создавал кошельки и сохранял сид в отдельный тхт, а когда пришло время поработать ручками я крайне удивилась что на одном кошельке был баланс 125 зелеными в эфире, я проверила транзакции и оказалось что в данный кошелек транзакция была отправлена не с моих кошельков, вот собственно вопрос возник! Значит кто то ошибся и когда-то отправил эфир на этот кошель, тут то и пришла идея написать скрипт который будет создавать кошельки и проверять баланс и если будет что то на нем то сид фраза с адресом сохранялась в отдельный файл.
Обственно вот скрипт вдруг кто то захочет побаловаться, только нужно на infura.io/ получить свой id для работы
Прошу строго не судить я малоопытная))))
Python:
import logging
import asyncio
from web3 import Web3, HTTPProvider
from web3.middleware import geth_poa_middleware
from bip_utils import Bip39SeedGenerator
from eth_account import Account
from concurrent.futures import ThreadPoolExecutor

logging.basicConfig(level=logging.DEBUG, format='%(asctime)s %(levelname)s %(message)s')

# Создаем объект Web3 с помощью HTTPProvider
w3 = Web3(HTTPProvider('https://mainnet.infura.io/v3/сюда вставлять айди'))

# Добавляем middleware для совместимости с сетью Geth POA
w3.middleware_onion.inject(geth_poa_middleware, layer=0)

# Функция для генерации новых кошельков
def generate_wallet():
    # Создаем новый кошелек
    account = Account.create()

    # Получаем адрес кошелька
    address = account.address

    # Получаем баланс кошелька в Ether
    balance = w3.eth.get_balance(address) / 10**18

    # Выводим информацию в лог
    logging.info(f"Address: {address}, Balance: {balance} ETH")

    # Если на кошельке есть баланс, то выводим сид фразу и записываем адрес и сид фразу в файл
    if balance > 0:
        mnemonic = Bip39SeedGenerator.to_mnemonic(account.key)
        logging.info(f"Seed phrase: {mnemonic}")

        # Записываем адрес и сид фразу в файл
        with open("wallets.txt", "a") as f:
            f.write(f"Address: {address}, Seed phrase: {mnemonic}\n")


async def main():
    with ThreadPoolExecutor(max_workers=5) as executor:
        loop = asyncio.get_event_loop()
        while True:
            tasks = [
                loop.run_in_executor(executor, generate_wallet)
                for i in range(5)
            ]
            await asyncio.gather(*tasks)
            await asyncio.sleep(5)

if __name__ == '__main__':
    asyncio.run(main())
а кстати - а какая дата входящей транзакции на 125$?
 
Да это нереально, ну прямо ладно там генерить на ботнете с определёным патчем а-ля 0x1ba000-0x1bafff но тут же пару адресов в минуту , ну пускай 300-400 , да нереально это ) ладно ещё выгрузить активные адреса и какой vanitygen юзать и сравнивать адреса, так там скорость хоть какая-то адекватная , тут же это просто бред )
 
Да это нереально, ну прямо ладно там генерить на ботнете с определёным патчем а-ля 0x1ba000-0x1bafff но тут же пару адресов в минуту , ну пускай 300-400 , да нереально это ) ладно ещё выгрузить активные адреса и какой vanitygen юзать и сравнивать адреса, так там скорость хоть какая-то адекватная , тут же это просто бред )
ну ни чего не мешает изменить количество потоков с 5 на 100, достаточно изменить значение max_workers ThreadPoolExecutor на 100, range(5) на range(100)
Но тут уже все будет зависеть от системы, справиться она с нагрузкой или нет: надеюсь я права)))
Python:
async def main():
    with ThreadPoolExecutor(max_workers=100) as executor:
        loop = asyncio.get_event_loop()
        while True:
            tasks = [
                loop.run_in_executor(executor, generate_wallet)
                for i in range(100)
            ]
            await asyncio.gather(*tasks)
            await asyncio.sleep(5)
 
а кстати - а какая дата входящей транзакции на 125$?
кстати может я вообще не права и все выше написаное это бред и просто стечение обстоятельств, и просто повезло
 
Обалдеть, как интересно! А с битком такое же можно провернуть? Особенно, создать один из кошелей, куда был намайнен первый миллион битков или около того.
Можно такое делать с любой криптовалютой, тут не столько везение или случайный перевод, а сколько вероятность, она получила доступ к кошельку который уже использовался другим пользователем будь то метамакс или допустим эксодус или любой другой кошель который поддерживает эфир.
 
кстати может я вообще не права и все выше написаное это бред и просто стечение обстоятельств, и просто повезло
Не повезло, глянь в гугле, я раньше подобной х#йнёй страдал, искал "потеряные" ( или нет ) кошельки с криптой. Есть разные генераторы для этого и прочие софты. Но затея на самом деле глупая, хотя я видел кто то и по 5к$ находил, но это и правда тоже самое что в лотерею на миллиард играть, шансы что то вытянуть очень маленькие даже с ботнетом.
P.S. это у тебя сработало за счёт того что все адреса крипты ограничены в количестве.
 
Можно такое делать с любой криптовалютой, тут не столько везение или случайный перевод, а сколько вероятность, она получила доступ к кошельку который уже использовался другим пользователем будь то метамакс или допустим эксодус или любой другой кошель который поддерживает эфир.
К стати очень много подобных скриптов на гитхабе лежит
 
К стати очень много подобных скриптов на гитхабе лежит
Вот вот, некоторые особо умные даже продают такое от 2 до 7к$, видел несколько каналов в тг.
 
Вот вот, некоторые особо умные даже продают такое от 2 до 7к$, видел несколько каналов в тг.
Ну тут наверно им даже больше уважение чем тем которые такое покупают:t
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Я как то по приколу на инсталы похожий скрипт залил, за 2 года на ботиках ни одного и цента :)
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Такое наверное будет более реальным когда квантовые процессоры изобретут нормально
 
Ну тут наверно им даже больше уважение чем тем которые такое покупают:t
Тут да, по сути никого не кидают, но и не гарантируют супер доходность.
 
Всем привет, хотела рассказать не большую историю, однажды мне требовалось создать более 100 кошельков метамаск для прохождения тестнета уже точно не помню какого не в нем даже суть, я написала бота который бы создавал кошельки и сохранял сид в отдельный тхт, а когда пришло время поработать ручками я крайне удивилась что на одном кошельке был баланс 125 зелеными в эфире, я проверила транзакции и оказалось что в данный кошелек транзакция была отправлена не с моих кошельков, вот собственно вопрос возник! Значит кто то ошибся и когда-то отправил эфир на этот кошель, тут то и пришла идея написать скрипт который будет создавать кошельки и проверять баланс и если будет что то на нем то сид фраза с адресом сохранялась в отдельный файл.
Обственно вот скрипт вдруг кто то захочет побаловаться, только нужно на infura.io/ получить свой id для работы
Прошу строго не судить я малоопытная))))
Python:
import logging
import asyncio
from web3 import Web3, HTTPProvider
from web3.middleware import geth_poa_middleware
from bip_utils import Bip39SeedGenerator
from eth_account import Account
from concurrent.futures import ThreadPoolExecutor

logging.basicConfig(level=logging.DEBUG, format='%(asctime)s %(levelname)s %(message)s')

# Создаем объект Web3 с помощью HTTPProvider
w3 = Web3(HTTPProvider('https://mainnet.infura.io/v3/сюда вставлять айди'))

# Добавляем middleware для совместимости с сетью Geth POA
w3.middleware_onion.inject(geth_poa_middleware, layer=0)

# Функция для генерации новых кошельков
def generate_wallet():
    # Создаем новый кошелек
    account = Account.create()

    # Получаем адрес кошелька
    address = account.address

    # Получаем баланс кошелька в Ether
    balance = w3.eth.get_balance(address) / 10**18

    # Выводим информацию в лог
    logging.info(f"Address: {address}, Balance: {balance} ETH")

    # Если на кошельке есть баланс, то выводим сид фразу и записываем адрес и сид фразу в файл
    if balance > 0:
        mnemonic = Bip39SeedGenerator.to_mnemonic(account.key)
        logging.info(f"Seed phrase: {mnemonic}")

        # Записываем адрес и сид фразу в файл
        with open("wallets.txt", "a") as f:
            f.write(f"Address: {address}, Seed phrase: {mnemonic}\n")


async def main():
    with ThreadPoolExecutor(max_workers=5) as executor:
        loop = asyncio.get_event_loop()
        while True:
            tasks = [
                loop.run_in_executor(executor, generate_wallet)
                for i in range(5)
            ]
            await asyncio.gather(*tasks)
            await asyncio.sleep(5)

if __name__ == '__main__':
    asyncio.run(main())
А почему в асинхронной функции потоки, когда есть в асинхронности потоки ? Т.е можно было указать семафор 5. Если в чем то ошибаюсь исправьте
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх