unblocker
Burp Suite extension for encoding/decoding EVM calldata
0x00_prerequisites
- Burp Suite
- Java 8+
- Python 2.7
0x01_installation
- clone this repository
- in Burp, go to Extender->Options
- in the Java Environment section add
/unblocker/ - in the Python Environment section:
- add
/unblocker/jython-standalone-2.7.2.jar - add
/unblocker/src/lib
- in the Java Environment section add
- in Burp, go to Extender->Extensions
- click "Add" in the Burp Extensions section and select
/unblocker/unblocker.py - confirm the installation by approving all subsequent modal windows
- click "Add" in the Burp Extensions section and select
0x02_usage
Unblocker features ABI-less EVM calldata decoding but you can also provide the ABI yourself if you know it. Encoding does require you to provide some ABI.
- ABI has to be provided like so:
transfer(address, uint256)
. - Input data (for decoding) can be provided with or without
0x
prepended. - Input data strings (for encoding) have to be provided like so:
"s'hello, world'"
- Input data bytes (for encoding) have to be provided like so:
"b'deadbeef'"
- Input data structs (for encoding) have to be provided with square brackets instead of parenthesis, like so:
["s'some string'", true, 123]