본문 바로가기
  • Show the world what you can do

blockchain15

[Ethernaut] Gatekeeper Three 풀이 Instance// SPDX-License-Identifier: MITpragma solidity ^0.8.0;contract SimpleTrick { GatekeeperThree public target; address public trick; uint256 private password = block.timestamp; constructor(address payable _target) { target = GatekeeperThree(_target); } function checkPassword(uint256 _password) public returns (bool) { if (_password == password) { re.. 2025. 1. 18.
[Ethernaut] Double Entrypoint 풀이 Instance// SPDX-License-Identifier: MITpragma solidity ^0.8.0;import "openzeppelin-contracts-08/access/Ownable.sol";import "openzeppelin-contracts-08/token/ERC20/ERC20.sol";interface DelegateERC20 { function delegateTransfer(address to, uint256 value, address origSender) external returns (bool);}interface IDetectionBot { function handleTransaction(address user, bytes calldata msgData) exte.. 2025. 1. 18.
[Ethernaut] Re-entrancy 풀이 Instance// SPDX-License-Identifier: MITpragma solidity ^0.6.12;import "openzeppelin-contracts-06/math/SafeMath.sol";contract Reentrance { using SafeMath for uint256; mapping(address => uint256) public balances; function donate(address _to) public payable { balances[_to] = balances[_to].add(msg.value); } function balanceOf(address _who) public view returns (uint256 balance) .. 2025. 1. 18.
[Ethernaut] Naught Coin 풀이 Instance// SPDX-License-Identifier: MITpragma solidity ^0.8.0;import "openzeppelin-contracts-08/token/ERC20/ERC20.sol";contract NaughtCoin is ERC20 { // string public constant name = 'NaughtCoin'; // string public constant symbol = '0x0'; // uint public constant decimals = 18; uint256 public timeLock = block.timestamp + 10 * 365 days; uint256 public INITIAL_SUPPLY; address publ.. 2025. 1. 18.