eveem panoramix solidity decompile BSC 合约逆向

源码: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 的!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容