EVM bytecode analysis
Solidity reconstruction
with behavioral checking
AlphaLift recovers readable Solidity from EVM bytecode. It compiles the reconstructed source, compares its behavior with the original contract, and uses detected differences to refine the result.
Method
Reconstruction guided by counterexamples.
Decompilation is treated as an iterative reconstruction problem. Readable source is the starting point; comparison with the original bytecode guides subsequent revisions.
- Reconstruct and compile
- Recover Solidity source and compile it back to EVM bytecode for direct comparison.
- Search for differences
- A differential checker searches for executions in which the reconstructed contract behaves differently from the original.
- Refine and repeat
- Use each counterexample to correct the reconstruction, then repeat until sustained checking finds no mismatch.
function _renounce() private {
_onlyOwner();
address oldOwner = _owner;
_owner = address(0);
emit OwnershipTransferred(
oldOwner, address(0)
);
}Selected decompilations
All public outputsReconstructed Solidity from deployed contracts, available for inspection on GitHub Gist.
- Victim contract
An exploited contract on Base
Reconstructed storage, access control, and contract logic from deployed bytecode.
- Attacker contract
Inside the attacker’s contract
A Solidity reconstruction of the attacker contract involved in a $23.76K exploit.
- Closed-source contract
Making closed source readable
Decompiled output from an exploited contract with no published source code.
Decompilation enquiries
To discuss a contract, send its address, network, and a brief description of the analysis you have in mind.
Contact @256cisco on X