Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
web3-decoder — Burp Suite एक्सटेंशन जो Ethereum JSON-RPC कॉल्स और स्मार्ट कॉन्ट्रैक्ट इंटरैक्शन को डिकोड करने के लिए है, जो कई चेन्स और स्वचालित ABI पुनर्प्राप्ति का समर्थन करता है। | Kitploit
उपकरण/GitHubGitHub/uwctcjnwlk/web3-decoder
भेद्यता विश्लेषणरिवर्स इंजीनियरिंगवेब सुरक्षापेनिट्रेशन टेस्टिंगAPI सुरक्षा
GitHubuwctcjnwlk/web3-decoder

web3-decoder

Burp Suite एक्सटेंशन जो Ethereum JSON-RPC कॉल्स और स्मार्ट कॉन्ट्रैक्ट इंटरैक्शन को डिकोड करने के लिए है, जो कई चेन्स और स्वचालित ABI पुनर्प्राप्ति का समर्थन करता है।

रिपॉजिटरी देखें
2154199 दिन पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

Web3 डिकोडर

Web3 डिकोडर एक Burp Suite एक्सटेंशन है जो ब्लॉकचेन संचालनों और स्मार्ट कॉन्ट्रैक्ट इंटरैक्शन का विश्लेषण करने के लिए डिज़ाइन किया गया है। यह Ethereum और संगत नेटवर्कों (Polygon, Arbitrum, BSC, और अन्य सहित) के लिए JSON-RPC कॉल्स को प्रोसेस करता है।

ब्लॉक एक्सप्लोरर्स API कुंजियाँ

अधिकांश समर्थित ब्लॉक एक्सप्लोरर्स, जैसे etherscan.io, को हर 5 सेकंड में 1 से अधिक अनुरोध की अनुमति देने के लिए API कुंजी की आवश्यकता होती है।

अपनी API कुंजियाँ जोड़ने के लिए आपके पास 2 विकल्प हैं:

  • आप .api_keys.json फ़ाइल को संशोधित करके अपनी API कुंजियाँ जोड़ सकते हैं
  • आप API_KEYS.json फ़ाइल में मौजूद नामों के समान नाम वाले Environment variables जोड़ सकते हैं
    • उदा.: export ETHERSCAN_API=YOURAPIKEY

किसी कॉन्ट्रैक्ट का ABI मैन्युअली जोड़ना

एक्सटेंशन डाउनलोड किए गए ABIs को etherscan जैसे ब्लॉक एक्सप्लोरर्स से .abi_caches नामक फ़ोल्डर के अंदर JSON प्रारूप में कैश करता है। आप उस फ़ोल्डर के अंदर निम्नलिखित नामकरण परंपरा के साथ एक नई फ़ाइल जोड़ सकते हैं:

{chain_id}_{contract_address.lower()}.abi

उदाहरण के लिए:

root@kitploit:~
# Ethereum Mainnet (chain ID 1), contract 0xfbdca68601f835b27790d98bbb8ec7f05fdeaa9b
1_0xfbdca68601f835b27790d98bbb8ec7f05fdeaa9b.abi

# Polygon (chain id 137), contract 0x447646e84498552e62ecf097cc305eabfff09308
137_0x447646e84498552e62ecf097cc305eabfff09308.abi

Windows और macOS उपयोगकर्ताओं के लिए ध्यान दें:

यह दस्तावेज़ीकरण Windows और Linux पर लागू होता है; macOS उपयोगकर्ता DMG फ़ाइल का उपयोग कर सकते हैं।

अपने सिस्टम पर Git और Python की जाँच करें।

https://git-scm.com/install/windows

https://www.python.org/ftp/python/3.13.12/python-3.13.12-amd64.exe

एक टर्मिनल सत्र व्यवस्थापक के रूप में प्रारंभ करें।

प्रीकंपाइल्ड बाइनरीज़ और Python3 Virtualenv

इस एक्सटेंशन को python3 लाइब्रेरीज़ जैसे web3.py की आवश्यकता होती है जो दुर्भाग्यवश python 2.7 के लिए उपलब्ध नहीं हैं जिन्हें Jython 2.7 के साथ सीधे उपयोग किया जा सके। एक 'हैक' के रूप में, मुख्य कार्यक्षमता एक python 3 लाइब्रेरी में लिखी गई है जिसे एक्सटेंशन एक python वर्चुअल वातावरण के माध्यम से निष्पादित करता है (गंदा कहना पड़ेगा...)

मैंने उपयोग की जाने वाली python3 लाइब्रेरी के प्रीकंपाइल्ड बाइनरीज़ Linux, Windows और Mac OSX के लिए बनाई हैं। यदि एक्सटेंशन लाइब्रेरी को निष्पादित करने में सक्षम नहीं है तो यह इन बाइनरीज़ का उपयोग करेगा। बेहतर प्रदर्शन या विकास के लिए, आप एक virtualenv बना सकते हैं, और निम्नानुसार इंस्टॉल कर सकते हैं:

root@kitploit:~
cd "web3-decoder"
virtualenv -p python3 venv
source venv/bin/activate
pip install web3 py-evm

एक्सटेंशन बनाए गए virtualenv का उपयोग करके लाइब्रेरी को कॉल करेगा।

एक बार virtualenv बन जाने के बाद, आप Burp Suite के Extender टैब में burp_web3_decoder.py फ़ाइल का चयन करके python एक्सटेंशन जोड़ सकते हैं।

विशेषताएँ और TODOs

  • संगत अनुरोधों और प्रतिक्रियाओं में Burp EditorTab जोड़ा गया
  • eth_call JSON-RPC कॉल्स का डिकोड
  • eth_sendRawTransaction JSON-RPC कॉल्स (और उनके आंतरिक फ़ंक्शन) का डिकोड
  • eth_call से प्रतिक्रिया परिणामों का डिकोड
  • eth_call डिकोड किए गए फ़ंक्शनों के पुनः-एन्कोडिंग के लिए समर्थन
  • etherscan APIs से बुलाए गए स्मार्ट कॉन्ट्रैक्ट ABI का स्वचालित डाउनलोड (यदि कॉन्ट्रैक्ट सत्यापित है)
  • eth_call और eth_sendRawTransaction दोनों में फ़ंक्शन इनपुट का डिकोड
  • "Delegate Proxy" कॉन्ट्रैक्ट्स का उपयोग करने वाले फ़ंक्शन इनपुट का डिकोड
  • "Multicall" कॉन्ट्रैक्ट्स के माध्यम से बुलाए गए फ़ंक्शन इनपुट का डिकोड
  • उन कॉन्ट्रैक्ट्स के लिए कॉन्ट्रैक्ट ABIs का मैन्युअल जोड़ना जो etherscan में सत्यापित नहीं हैं
    • Burp इंटरफ़ेस से यह करने की अनुमति देना, JSON को फ़ाइल में लिखने के बजाय
  • सेटअप के बिना एक्सटेंशन को काम करने की अनुमति देने के लिए प्रीकंपाइल्ड बाइनरीज़
  • अन्य संगत नेटवर्कों के लिए समर्थन (Polygon, Arbitrum, Fantom, BSC, आदि)
  • संशोधित डिकोड किए गए rawTransaction पर पुनः-हस्ताक्षर करने के लिए समर्थन (privateKey के इनपुट की आवश्यकता होती है)

अब तक समर्थित चेन्स

सभी समर्थित चेन्स chains.json फ़ाइल में पाई जा सकती हैं। ये वे चेन्स हैं जिनके पास etherscan के समान APIs वाला ब्लॉक एक्सप्लोरर है। यदि आप अधिक ब्लॉकचेन एक्सप्लोरर्स जोड़ना चाहते हैं, तो उन्हें chains.json फ़ाइल में जोड़ें, परीक्षण करें, और एक pull request बनाएं!

  • Ethereum Mainnet
  • Ropsten
  • Rinkeby
  • Goerli
  • Optimism
  • Cronos
  • Kovan
  • BSC
  • Huobi ECO
  • Polygon
  • Fantom
  • Arbitrum
  • Sepolia
  • Aurora
  • Avalanche

उदाहरण

अधिक उदाहरणों के लिए, जिसमें proxy और multicall कॉल्स शामिल हैं, EXAMPLES.md देखें।

eth_call:

Raw: image

Decoded: image

eth_sendRawTransaction (Uniswap v2 परीक्षण):

root@kitploit:~
{
    "method": "eth_sendRawTransaction", 
    "params": [
        "0x02f9015b820539808459682f00850df8475800830493e0947a250d5630b4cf539739df2c5dacb4c659f2488d880de0b6b3a7640000b8e47ff36ab500000000000000000000000000000000000000000000009e0950598867d8000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000002105eaa660ff62b14a5e093fc348e13ab63af2e600000000000000000000000000000000000000000000000000000000623b16570000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000006b175474e89094c44da98b954eedeac495271d0fc001a005cfdf9ff11dea2d3e8781cb6ba140ae6e86a0922bfa75938b6f2456f513e24ca057f02b3f7125edb59e22651d503bc296153860e3843f9d495ad21d898c8e20c3"
    ], 
    "id": 4700418092893, 
    "jsonrpc": "2.0"
}

Decoded:

root@kitploit:~
[
  {
    "chain_id": 1337, 
    "access_list": [], 
    "nonce": 0, 
    "r": 2628844986784880378434698689940765181553490914879903463877191830852582236748, 
    "s": 39775559607776431912363889945449043629789293388076288013264795388376358199491, 
    "max_priority_fee_per_gas": 1500000000, 
    "gas": 300000, 
    "max_fee_per_gas": 60000000000, 
    "from": "0x2105Eaa660ff62b14a5e093fc348e13ab63AF2E6", 
    "y_parity": 1, 
    "to": "0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D", 
    "value": 1000000000000000000,
    "data": "0x7ff36ab500000000000000000000000000000000000000000000009e0950598867d8000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000002105eaa660ff62b14a5e093fc348e13ab63af2e600000000000000000000000000000000000000000000000000000000623b16570000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000006b175474e89094c44da98b954eedeac495271d0f", 
    "decoded_function": {
      "args": {
        "amountOutMin": 2915256698432979992576, 
        "path": [
          "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", 
          "0x6B175474E89094C44Da98b954EedeAC495271d0F"
        ], 
        "to": "0x2105Eaa660ff62b14a5e093fc348e13ab63AF2E6", 
        "deadline": 1648039511
      }, 
      "function": "swapExactETHForTokens(uint256,address[],address,uint256)", 
      "to": "0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D",
      "abi": {
        "outputs": [
          {
            "internalType": "uint256[]", 
            "type": "uint256[]", 
            "name": "amounts"
          }
        ], 
        "inputs": [
          {
            "internalType": "uint256", 
            "type": "uint256", 
            "name": "amountOutMin"
          }, 
          {
            "internalType": "address[]", 
            "type": "address[]", 
            "name": "path"
          }, 
          {
            "internalType": "address", 
            "type": "address", 
            "name": "to"
          }, 
          {
            "internalType": "uint256", 
            "type": "uint256", 
            "name": "deadline"
          }
        ], 
        "stateMutability": "payable", 
        "type": "function", 
        "name": "swapExactETHForTokens"
      }
    }
  }
]

यह कैसे काम करता है

उपयोग में आने वाले नोड के लिए eth_chainId JSON-RPC अनुरोध यह पता लगाने के लिए कि हम किस चेन पर काम कर रहे हैं, और चेन के आधार पर, chains.json फ़ाइल में खोज करके एक ब्लॉक एक्सप्लोरर API का चयन करता है।

उपयोग के उदाहरण के रूप में, फ़ंक्शन कॉल्स को डिकोड करने के लिए, हमें कॉन्ट्रैक्ट के ABI (Application Binary Interface) की आवश्यकता होती है, जिसमें कॉन्ट्रैक्ट में बुलाए जा सकने वाले सभी फ़ंक्शन और उनके इनपुट और आउटपुट शामिल होते हैं। अभी के लिए, यह ब्लॉक एक्सप्लोरर में सत्यापित कॉन्ट्रैक्ट्स के साथ काम करता है, या ABI को मैन्युअली जोड़कर। भविष्य के रिलीज़ में, हम सार्वजनिक डेटाबेस में फ़ंक्शन सेलेक्टर्स खोजकर स्वचालित रूप से ABI उत्पन्न करने की संभावना का पता लगाएंगे।

निम्नलिखित "flow" आरेख सरल तरीके से उस प्रक्रिया को दिखाता है जो eth_decoder लाइब्रेरी eth_call JSON-RPC कॉल्स को डिकोड करते समय अपनाती है:

image

ज्ञात सीमाएँ

  • Windows में raw transactions का डिकोडिंग लाइब्रेरी संगतता के कारण सीमित कार्यक्षमता हो सकती है
टूल डाउनलोड करें