1. 문제 The Ethernaut The Ethernaut is a Web3/Solidity based wargame played in the Ethereum Virtual Machine. Each level is a smart contract that needs to be 'hacked'. The game is 100% open source and all levels are contributions made by other players. ethernaut.openzeppelin.com Just have to flip the switch. Can't be that hard, right? Things that might help: Understanding how CALLDATA is encoded. /..
컨트랙트 ABI란? 컨트랙트 ABI(Application Binary Interface)는 이더리움 생태계에서 컨트랙트와의 상호작용을 위한 표준방식이다. ABI는 스마트 컨트랙트의 함수명, 매개 변수의 타입 및 반환 값의 타입을 설명한다. 일반적으로 solidity로 작성된 코드가 컴파일될 때 ABI가 생성되며, 이는 오프체인에서 컨트랙트로의 상호작용 또는 컨트랙트에서 컨트랙트로의 상호작용에 사용된다. 컨트랙트의 호출에 사용되는 calldata가 바로 ABI 형식으로 인코딩 된 데이터다. 타입별 ABI 인코딩 컨트랙트와 상호작용하기 위해 데이터는 ABI 형식에 맞춰 인코딩이 필요하다. solidity의 내장 함수인 abi.encode를 사용해 인코딩이 어떻게 이루어지는지 알아보자. 정적 타입 32바이트 ..