注:本文来自@gm365推特,MarsBit整理如下:
半开源合约的Web3调用
某些智能合约没有在etherscan验证源代码,也就无法轻易获取其ABI
但“诡异”的是,调用某些合约函数,却可以在网页上完整显示调用的函数名、参数名、具体参数值
针对这样的“半开源”合约,可以有一些简单的方法,实现Web3调用
前言
之前写过一个,关于《未开源智能合约的调用》,方法主要是在网站前端扒拉JS代码,定位到ABI代码,然后实现调用
https://twitter.com/gm365/status/1521058983838380032
Chardan总经理:资本市场对加密货币公司来说仍然不太友好:金色财经报道,投资银行Chardan总经理Brian Dobson表示,资本市场对加密货币公司来说仍然不太友好。SPA CInsider的数据显示,自从2021年的狂热随着次年初加密货币寒冬以来,九家希望通过SPAC上市的数字资产公司已经放弃了他们的计划。其中包括稳定币发行商Circle、加密货币交易所Bullish Global和经纪公司eToro。这些公司的交易估值从1.6亿美元到超过100亿美元不等,自2021年3月以来,已宣布的价值超过350亿美元的加密SPAC交易未能完成。[2023/7/5 22:18:27]
这个方法当然可以用来实现“半开源”合约调用,但这个方法实在有些反人类,疯狂扒拉JS代码也很费眼神,我们暂时先跳过
ArbitrumOne TVL涨至36.5亿美元,7日涨幅15%:金色财经报道,据L2BEAT数据显示,当前以太坊Layer2总锁仓量涨至65.1亿美元,7日涨幅12.51%。其中,锁仓量前五分别为:ArbitrumOne(36.5亿美元,7日涨幅15%);Optimism(9.5亿美元,7日涨幅14.16%);dYdX(3.03亿美元,7日跌幅15.82%);ImmutableX(1.36亿美元,7日涨幅21.53%);MetisAndromeda(1.27亿美元,7日涨幅21.53%)。[2023/3/17 13:09:32]
美股盘初快速下挫 三大股指均跌超1%:金色财经报道,美股盘初快速下挫,三大股指均跌超1%。截至目前,纳指跌1.17%,道指跌1.05%,标普500指数跌1.01%。[2023/1/5 10:23:45]
etherscan显示机制
没有开源的合约,为何可以在etherscan显示详细的调用参数信息?
其实秘密都在这个4bytessignature上
如果其他已开源合约有相同的“签名”,那么面对一个未开源合约,但签名相同的函数,etherscan和小狐狸会直接判定为同一函数并尝试解析
解决方案
针对这类能被正常显示的函数,其实有一个相对简单的方法:
通过函数信息反向生成ABI代码
15行代码,代码出自人类好帮手:chatGPT4
经过测试与对照,和原始ABI一字不差
签名库
如果etherscan上未显示,还可以先去这个签名库碰碰运气
https://4byte.directory/signatures/
注意:这个4四节签名是有可能重名的!某些小狐狸钓鱼合约,使用的就是这个“漏洞”。
同一个签名,可能对应多个函数,正常使用还得自行判断
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。