免责声明:金色财经所有资讯仅代表作者个人观点,不构成任何投资理财建议。请确保访问网址为(jinse.cn) 举报

    WhatsABI 简介

    WhatsABI 简介

    从 EVM 字节码中猜测出 ABI(和其他元数据),即使没有源代码。

    特点

    WhatsABI 在一些重要方面与其他 EVM 分析工具不同:

    • 使用 TypeScript 构建,依赖最小化,以便在浏览器中运行并嵌入钱包中

    • 所使用的算法仅限于具有较小常数因子的算法,以确保复杂的合同不会导致超时或使用无限内存

    • 不依赖于源代码,因此可以与未经验证的合约一起使用。

    • 不假设源语言,因此可以适用于除 Solidity(Vyper,甚至手写汇编)之外的源语言

    • 开放源代码(MIT 许可证),以便任何人都可以使用它

    可以做什么

    • 从字节码返回选择器

    • 从选择器中查找函数签名

    • 解决代理合同

    使用方法

    安装

    rjoXheV5JbNj4LdhnRBB3s9IZza1LkALkheVD5d7.png

    使用

    yysr3sPykY6ry7HaGba9VSPL6GX7ichnoBzGJCcn.png

    控制台将打印合约地址、abi 等数据

    (完整项目见 whatsabi[2]

    其它方法

    • selectorsFromBytecode: 从合约字节码中获取函数选择器
      whatsabi.selectorsFromBytecode(code)

    • abiFromBytecode:从合约字节码中获取 ABI
      whatsabi.abiFromBytecode(code)

    • loadFunctions:获取函数选择器匹配的函数签名
      new whatsabi.loaders.OpenChainSignatureLookup().loadFunctions("0x06fdde03")

    • loadEvents:获取函数选择器匹配的函数签名
      new whatsabi.loaders.OpenChainSignatureLookup().loadEvents("0x721c20121297512b72821b97f5326877ea8ecf4bb9948fea5bfcb6453074d37f")

    注意事项

    • 不一定能找到有效的函数选择器

    • 有一些参数存在的猜测,不够可靠

    • 事件解析有些不稳定

    jinse.cn 0
    好文章,需要你的鼓励
    jinse.cn 0
    好文章,需要你的鼓励
    参与评论
    0/140
    提交评论
    文章作者: / 责任编辑:

    声明:本文由入驻金色财经的作者撰写,观点仅代表作者本人,绝不代表金色财经赞同其观点或证实其描述。

    提示:投资有风险,入市须谨慎。本资讯不作为投资理财建议。

    金色财经 > 登链社区 > WhatsABI 简介
    • 寻求报道
    • 金色财经中国版App下载
      金色财经APP
      iOS & Android
    • 加入社群
      Telegram
    • 意见反馈
    • 返回顶部
    • 返回底部