huicanvie/ethernaut-in-yul

GitHub: huicanvie/ethernaut-in-yul

用纯 Yul 汇编实现 OpenZeppelin Ethernaut CTF 攻击合约,帮助开发者深入理解 EVM 底层安全机制与 Gas 优化。

Stars: 2 | Forks: 1

Ethernaut in Yul Cover

"Solidity hides the machine. Yul reveals it."



一系列用于 OpenZeppelin Ethernaut CTF 的纯汇编解决方案
演示如何直接与 Stack、Memory 和 Storage 交互,
以实现最高效率精准操作

## 🎯 概述 本仓库包含用于 [Ethernaut](https://ethernaut.openzeppelin.com/) CTF 挑战的攻击合约的 Yul(EVM assembly)实现。通过使用纯汇编解决这些挑战,我们可以深入了解: - **EVM 内部机制**:以太坊虚拟机底层的实际工作原理 - **Gas 优化**:通过消除 Solidity 抽象来编写高效代码 - **安全模式**:在汇编层面理解漏洞 - **底层操作**:直接操作 storage、memory 和 calldata ## 🛠 技术栈 - **语言**:Yul(以太坊内联汇编) - **框架**:Foundry(forge、cast、anvil) - **测试**:Solidity + Foundry 测试框架 - **编译器**:带 `--strict-assembly` 标志的 Solc - **开发环境**:VS Code 及 Solidity 扩展 ## 🚀 快速开始 ### 安装 ``` # Clone 仓库 git clone cd ethernaut-in-yul # 安装依赖 forge install ``` ### 运行测试 ``` # 运行所有测试 forge test # 运行特定测试 contract forge test --match-contract Fallback # 使用 verbose 输出运行(显示 traces) forge test --match-contract Fallback -vvvv # 运行特定测试 function forge test --match-test testAttack -vvvv ``` ## 🎮 挑战 在 [CHALLENGES.md](CHALLENGES.md) 中查看完整的挑战列表及其实现状态。 ## 📚 资源 - [Yul 文档](https://docs.soliditylang.org/en/latest/yul.html) - [EVM Opcodes](https://www.evm.codes/) - [Foundry Book](https://book.getfoundry.sh/) - [Ethernaut CTF](https://ethernaut.openzeppelin.com/)
标签:EVM汇编, Yul, 区块链安全, 智能合约, 网络安全靶场