Skip to main content

A swiss army knife package to help with ethereum smart contract exploit interaction, designed with CTF challenges in mind. Some might call it a set of pwn tools for ethereum exploitation.

Project description

ethpwn

PyPI License Docs

ethpwn is a project inspired by the widely popular CTF exploitation framework pwntools, and the amazing enhanced GDB utility GEF. In other words, ethpwn is all you ever wanted for debugging and interacting with smart contracts on EVM-based blockchains.

More practically, this package includes a kick-ass command line debugger for simulating and re-playing Ethereum transactions (ethdbg), and a set of convenient wrappers for many web3 functionalities that are useful for interacting with smart contracts.

⚡️ Quick Setup

Release Installation

pip install ethpwn

Developer Installation

Make sure your pip version is >= 23.1.2, then:

git clone git@github.com:ethpwn/ethpwn.git && cd ./ethpwn && pip install -e .
❗️ Note
To start out, if you haven't created your global config before, you should run ethpwn config create to generate your initial configuration file. This command will interactively prompt you for the most important settings, including the Ethereum node URL to use and wallets you want to use.

⚡️ Jump Start for ethdbg

ethdbg --txid 0x82a11757c3f34c2882e209c6e5ae96aff3e4db7f7984d54f92b02e1fed87e834 --node-url https://mainnet.infura.io/v3/38eb4be006004da4a89315232040e222

📖 Documentation

Docs

⚙️ Currently Supported EVM-based Chains

Chain Name Chain Id Supported
mainnet 1
sepolia (testnet) 11155111

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ethpwn-1.0.0.tar.gz (27.6 MB view details)

Uploaded Source

Built Distribution

ethpwn-1.0.0-py3-none-any.whl (113.8 kB view details)

Uploaded Python 3

File details

Details for the file ethpwn-1.0.0.tar.gz.

File metadata

  • Download URL: ethpwn-1.0.0.tar.gz
  • Upload date:
  • Size: 27.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for ethpwn-1.0.0.tar.gz
Algorithm Hash digest
SHA256 295209b70bbef480418d1a2800d0e82e8c03bd3aea402670b71b679cf0df4dc5
MD5 36bcc697d8b31597be5c2a0a06c45027
BLAKE2b-256 98c35105143b73360f6e77561a4aa6a1635481fa06a787ebec615c68d55a26d5

See more details on using hashes here.

File details

Details for the file ethpwn-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: ethpwn-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 113.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for ethpwn-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8a95c60e211e11ece6da2190f253a2f34ece9f91e608041ca0b6321536fea185
MD5 e08287e2dd119ac891ced94f58b22d53
BLAKE2b-256 cf359f366b109a9be9d3553cb88beabcf0e8febbe0e60e331bb18898cf4ac4e0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page