用途:面向无源码、仅有字节码的合约,做 ABI 恢复、反编译、存储布局重建与漏洞分析(重入、整数溢出、权限),也用于恶意合约取证。源码可得且未混淆时直接读源码更准。
主要能力与工具:cast(foundry)负责链上取字节码、反汇编、存储读取与只读调用;web3.py 做脚本化分析;panoramix 反编译为伪码;pyevmasm 反汇编;echidna/hevm 为可选行为验证;solc-select 用于有源码时对照存储布局。
必要用法:安装 cast 用 curl -L https://foundry.paradigm.xyz | bash && foundryup;pip install web3、pip install panoramix-decompiler、pip install pyevmasm。取字节码 cast code 0xDEAD... --rpc-url <rpc> > code.hex;提取选择器 cast disassemble "$(cat code.hex)" | grep -E 'PUSH4';反编译 panoramix "$(cat code.hex)" --abi;读存储 cast storage 0xDEAD... 0 --rpc-url <rpc>。
流程:先区分 creation code 与 runtime code,再恢复选择器与事件 topic,反编译后按分派表定位函数边界,关键函数回 asm 精读,最后做漏洞模式检查。链上交互以只读为主,写链或动态验证默认本地 anvil 隔离网络。
限制:反编译输出粗糙,结论须以 asm 交叉验证;选择器存在碰撞,需用参数长度与存储访问模式消歧;无源码时存储布局只能推断并标注置信度;代理合约需先查 EIP-1967 实现槽再分析实现地址。非 EVM 链(Solana BPF、Move)指令集与资源模型不同,需走对应路径。资料未提供具体收费、平台与效果信息。