This is from the 0x41414141 CTF.
This challenge is unique for a sanity check.
We are given a blockchain address for the Rinkeby network:
0x5CDd53b4dFe8AE92d73F40894C67c1a6da82032d
And a solidity script:
pragma solidity ^0.7.0;
//SPDX-License-Identifier: UNLICENSED
contract sanity_check {
function welcome() public pure returns (string memory){
return "flag{}";
}
}
I googled the Rinkeby blockchain and found that I can look up addresses on the Etherscan.io site. Looking up the provided address gives me some information. Specifically under the “Contract” tab:
I see the handy “Decompile ByteCode” button, so I give it a shot:
This opens a new tab with more information about this tool and another button to execute it. This tool is based on the Panoramix decompiler and is designed to decompile smart contracts.
Running the tool gives me what I am looking for:
#
# Panoramix v4 Oct 2019
# Decompiled source of rinkeby:0x5CDd53b4dFe8AE92d73F40894C67c1a6da82032d
#
# Let's make the world open source
#
const welcome = 'flag{1t_1s_jus7_th3_st@rt}'
#
# Regular functions
#
def _fallback() payable: # default function
revert
This was a very cool sanity check!