Skip to content
ihategas.xyz

Bytecode Disassembler

Runs offline

Disassemble EVM bytecode into opcodes.

runtime or creation code
13 instructions16 bytes1 jump destinations
0000PUSH10x80
0002PUSH10x40
0004MSTORE
0005CALLVALUE
0006DUP1
0007ISZERO
0008PUSH10x0e
000aJUMPI
000bPUSH0
000cDUP1
000dREVERT
000eJUMPDEST
000fPOP
Offsets are hex byte positions — the same numbers a JUMP targets, and the ones a stack trace refers to. Creation code contains the constructor followed by the runtime code it returns, so the second half is what actually ends up deployed.

About bytecode disassembler

Compiled contracts are a flat run of bytes, each one an instruction, with PUSH instructions carrying their data inline. Disassembling recovers the instruction boundaries and names, which is enough to find jump destinations, spot the function dispatcher at the start, and see roughly what a contract does when no verified source is available. Creation code contains a constructor followed by the runtime code it returns — the second part is what actually gets deployed.

More developer tools