注:本文来自@gm365推特,MarsBit整理如下:
半开源合约的Web3调用
某些智能合约没有在etherscan验证源代码,也就无法轻易获取其ABI
但“诡异”的是,调用某些合约函数,却可以在网页上完整显示调用的函数名、参数名、具体参数值
针对这样的“半开源”合约,可以有一些简单的方法,实现Web3调用
前言
之前写过一个,关于《未开源智能合约的调用》,方法主要是在网站前端扒拉JS代码,定位到ABI代码,然后实现调用
香港Web3Hub生态基金披露合作伙伴信息,包括腾讯云和亚马逊AWS等:金色财经报道,香港Web3Hub生态基金于本周正式成立,规模为1000万美元,将激励更多企业落户香港,Multichain作为联合主办方投入100万美元,该基金已汇聚了区块链、云服务、媒体等Web3行业主要参与者加入该基金项目,区块链行业合作伙伴包括智能合约平台Avalanche、Layer 1网络Conflux、Cronos、EOS Network、Fantom、零知识网络Horizen、IRIS Hub(IRISnet)、Kava、MultiversX、WEMIX3.0,云服务合作伙伴为腾讯云和亚马逊AWS。(prnewswire)[2023/4/17 14:07:16]
https://twitter.com/gm365/status/1521058983838380032
香港Web3Hub生态基金正式启动,规模为1000万美元:4月14日消息,在“2023香港Web3嘉年华”分会场四《MetaEra x BitMart 专场:Metaverse的机遇在哪里》分论坛中,香港律政司副司长张国钧发表致辞,宣布启动香港Web3Hub生态基金,规模为1000万美元,将激励更多企业落户香港。结合区块链技能和人工智能提供便捷且具成本效益的安全平台,展望未来,香港要更好地发展一国两制的独特优势,以科技创新驱动香港高质量的发展,同时吸引海内外人才引入。
此前消息,香港财政司司长陈茂波将担任Web3Hub基金主席。[2023/4/14 14:04:03]
这个方法当然可以用来实现“半开源”合约调用,但这个方法实在有些反人类,疯狂扒拉JS代码也很费眼神,我们暂时先跳过
《杭州-香港Web3产业联动备忘录》在2023香港Web3嘉年华上正式签署:4月12日消息,在2023香港Web3嘉年华上,杭州市上城区人民政府副区长孔德君女士、香港贸易发展局代表李达锋先生签署《杭州-香港Web3产业联动备忘录》。通过充分发挥杭港两地各自优势,加强资源互补和共享,深化Web3领域产业联动与合作,切实推动杭州与香港Web3产业深度融合,实现1+1大于2的聚合效应。[2023/4/12 13:58:28]
etherscan显示机制
没有开源的合约,为何可以在etherscan显示详细的调用参数信息?
其实秘密都在这个4bytessignature上
如果其他已开源合约有相同的“签名”,那么面对一个未开源合约,但签名相同的函数,etherscan和小狐狸会直接判定为同一函数并尝试解析
解决方案
针对这类能被正常显示的函数,其实有一个相对简单的方法:
通过函数信息反向生成ABI代码
15行代码,代码出自人类好帮手:chatGPT4
经过测试与对照,和原始ABI一字不差
签名库
如果etherscan上未显示,还可以先去这个签名库碰碰运气
https://4byte.directory/signatures/
注意:这个4四节签名是有可能重名的!某些小狐狸钓鱼合约,使用的就是这个“漏洞”。
同一个签名,可能对应多个函数,正常使用还得自行判断
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。