源碼:https://github.com/eveem-org/panoramix.git
官網(wǎng)介紹: https://www.eveem.org/about/
About Eveem / Panoramix
官方python代碼僅支持反編譯以太坊主網(wǎng)的solidity合約代碼葱蝗。
如果需要編譯部署在其他evm系列的合約蝗锥,需要修改python代碼吉挣。
找到 /pano/loader.py
文件中的code_fetch
方法缎脾,指定相應(yīng)鏈的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
修改好保存茬祷。
執(zhí)行以下命令就可以反編譯bsc mainnet上的合約0xD68F633C721ba6A783feD31Caca8B66d9F3C158d
python3 panoramix.py 0xD68F633C721ba6A783feD31Caca8B66d9F3C158d
編譯結(jié)果會(huì)在
- console
- cache_pan/directory - .pan, .json, .asm files
具體使用看git的readme
我修改好的支持bsc mainnet的git:
https://github.com/walker1992/panoramix.git
以后有時(shí)間可以寫成支持console配置chain 的冗茸!