목록분류 전체보기 (18)
Daily
컨트랙트에다 0보다 많은 eth를 넣으라는 문제다. 아무것도 없는 컨트랙트에다가 어떻게 eth를 넣을까... 아! selfdestruct로 저 컨트랙트에다가 이더를 넣으면 된다! hack이라는 컨트랙트를 만들면서 eth를 넣어 놓고 selfdestruct로 Eternaut 문제에 있는 컨트랙트 주소로 hack에 있던 eth가 넘어간다
문제: 이 레벨의 목표는 아래의 기본 토큰 계약을 해킹하는 것입니다. 처음에는 20개의 토큰이 주어지며 추가 토큰을 손에 넣을 수 있다면 레벨을 이길 것입니다. 매우 많은 양의 토큰이 바람직합니다. 번역을 돌렸는데 무슨말인지 잘 모르겠다. Number(await contract.balanceOf("0x6D35014e8458704752D61e0e570C0A54b7f17676"))내 주소로 얼마나 있는지 확인해보니깐 20개의 토큰이 있다. 아! 처음에는 20개의 토큰이 주어진다는게 이거구나를 알 수 있다.그러면 해킹을 통해 추가 토큰을 손에 넣어야 레벨을 넘어 갈 수 있다. 이렇게 하면 20개 이상의 토큰이 내 주소로 들어와있다 왜지? 숫자 언더플로우 때문이다 언더플로우가 발생하여 값이 들어가게된 것 saf..
tx.origin과 msg.sender가 갖지 않을때 owner = _owner가 된다한다. 고로 이렇게 코딩하면 된다. 가만 왜 일까? tx.origin는 최초에 트랜잭션을 만든 주소 임을 잊지 말자
10번을 맞추면 되는데.. 1024분의 1의 확률 엄청난 행운의 사나이가 아니라면 계약의 계약을 한다면 10번을 맞출수 있다! CoinFlip안에 있는 주소는 컨트랙트 주소이며 나온 결과를 고대로 컨트랙트로 보내면 10번을 그냥 맞출 수 있다! 끝!