Vianpyro/exposed
GitHub: Vianpyro/exposed
一个用 Rust 编写的逆向工程 CTF 挑战,包含三个难度等级的 Flag,涉及 vtable 地址加密等高级技术。
Stars: 0 | Forks: 0
# Exposed
一个使用 Rust 编写的逆向工程 CTF 挑战。共三个 Flag,三个难度等级。
运行于 **Linux x86_64**。在 macOS 或 Windows 上,请使用 Docker 或 WSL。
## 快速开始
从 [Releases](../../releases) 页面获取最新版本,解压并运行:
```
tar xzf exposed-linux-x86_64.tar.gz
./run.sh
```
## 从源码构建
你需要安装 Rust。构建过程包含两次编译,因为 Flag 3 的密文依赖于链接后才会存在的 vtable 地址:
```
./build.sh
```
这会将数组清零,先构建一次以获取地址,计算出真实值,然后使用最终的二进制文件再次构建。它最后也会验证所有三个 Flag。
## Dev Container
如果你不想在本地安装任何东西:
1. 在 VS Code 中打开此文件夹
2. `Ctrl+Shift+P` -> **Dev Containers: Reopen in Container**
3. 容器会为你处理 Rust 工具链
## 常用工具
| 工具 | 用途 |
|-----------|---------------------------|
| `strings` | 查找可读字符串 |
| `xxd` | 十六进制转储 |
| `file` | 识别二进制类型 |
| `nm` | 列出符号 |
| `objdump` | 反汇编 |
| `gdb` | 运行时调试 |
## Flags
一共有三个。祝你好运。
标签:Binaries, Capture-The-Flag, CTF-Challenge, GDB, meg, Reversing, Rust, Vtable, x86-64, 二进制分析, 云安全监控, 云安全运维, 云资产清单, 信息安全, 可视化界面, 密码学, 快速连接, 手动系统调用, 汇编语言, 编程挑战, 网络安全, 网络流量审计, 请求拦截, 调试, 逆向工程, 通知系统, 隐私保护, 静态分析