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
as "Folder for loading library JAR files"/unblocker/ - in the Python Environment section:
- add
as "Location of Jython standalone JAR file"/unblocker/jython-standalone-2.7.2.jar - add
as "Folder for loading modules"/unblocker/src/lib
- in the Java Environment section add
- in Burp, go to Extender->Extensions
- click "Add" in the Burp Extensions section and select
as "Extension file (.jar)"--Burp will detect the filetype automatically/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
0xprepended. - 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]