源码:https://github.com/eveem-org/panoramix.git
官网介绍: https://www.eveem.org/about/
About Eveem / Panoramix
官方python代码仅支持反编译以太坊主网的solidity合约代码。
如果需要编译部署在其他evm系列的合约,需要修改python代码。
找到 /pano/loader.py
文件中的code_fetch
方法,指定相应链的url即可。
def code_fetch(address, network="mainnet"):
# assert (
# network == "mainnet"
# ), "only mainnet supported, but you can set WEB3_PROVIDER_URI to whatever node you want on whatever network"
# from web3.auto import w3
from web3 import Web3
url = "https://bsc-dataseed.binance.org/"
http_provider=Web3.HTTPProvider(endpoint_uri=url, request_kwargs={'timeout': 60})
w3 = Web3(http_provider)
code = w3.eth.getCode(address).hex()[2:]
return code
修改好保存。
执行以下命令就可以反编译bsc mainnet上的合约0xD68F633C721ba6A783feD31Caca8B66d9F3C158d
python3 panoramix.py 0xD68F633C721ba6A783feD31Caca8B66d9F3C158d
编译结果会在
- console
- cache_pan/directory - .pan, .json, .asm files
具体使用看git的readme
我修改好的支持bsc mainnet的git:
https://github.com/walker1992/panoramix.git
以后有时间可以写成支持console配置chain 的!
网友评论