Solidity

如何從 etherscan.io 上的 EVM bin 中提取“執行時”bin

  • December 24, 2018

我想從etherscan.io 中runtime的 EVM 中提取 bin 。bin

例如,對於這個著名的合約(https://etherscan.io/address/0xecb4380189e22ed2abccff53a6ac1d1e02bd6981>),當我使用線上反編譯器(<https://ethervm.io/decompile?address=0xecb4380189e22ed2abccff53a6ac1d1e02bd6981&network=)進行反編譯時,顯然它從 a字節碼序列606060405236156100f8,這不是這個 EVM 字節碼序列的開始。

我知道我可以進行模式匹配來找出 的序列606060405236,但我有點擔心這是否太“臨時”,無法處理所有情況。那麼有人可以在這裡闡明一種更原則的方法嗎?謝謝你。

要獲取合約的字節碼,您必須呼叫web3.eth.getCode

連結頁面中的範例

var code = web3.eth.getCode("0xd5677cf67b5aa051bb40496e68ad359eb97cfbf8");
console.log(code); // "0x600160008035811a818181146012578301005b601b6001356025565b8060005260206000f25b600060078202905091905056"

引用自:https://ethereum.stackexchange.com/questions/64543