如果未验证,是否有办法获取或猜测智能合约的外部(或公共(public))函数?
我使用事务历史记录来获取至少一次被调用的函数,但这非常慢。也许有办法从字节码或其他东西猜测?
最佳答案
您正在寻找的是字节码反编译器,以便您可以检索合约的 ABI。
由于字节码仅包含函数签名哈希 - 特别是函数签名哈希的最后 4 个字节 - 检索字节码的 ABI 是一个尝试和猜测的游戏。
幸运的是,有一些工具结合了不同的技术(交易历史、反编译、已知函数签名数据库等)来从字节码和地址“猜测”合约的 ABI。例如,看看 porosity , JEB Decompiler , mythril , Ethervm.io ,和whatsabi .
关于ethereum - 获取/猜测未验证合约的外部方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76324666/