huicanvie/ethernaut-in-yul
GitHub: huicanvie/ethernaut-in-yul
用纯 Yul 汇编实现 OpenZeppelin Ethernaut CTF 攻击合约,帮助开发者深入理解 EVM 底层安全机制与 Gas 优化。
Stars: 2 | Forks: 1
## 🎯 概述
本仓库包含用于 [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, 区块链安全, 智能合约, 网络安全靶场