r2web 让你无需本地安装或平台烦恼即可运行 radare2。直接在浏览器中分析文件。它完全使用 radare2 WASI 和 Wasmer 在客户端运行,并采用 xterm.js 前端进行交互式命令执行。
👉 在线尝试
![]() | ![]() | ![]() |
| 仪表盘 | 快捷键 | 字符串视图 |
![]() | ![]() | ![]() |
| 跳转到地址 | 搜索 | 图形视图 |
Ctrl+G 用于跳转)。pd、px、iz 的按钮。r2web 使用:
本地运行:
git clone https://github.com/radareorg/r2web.git
cd r2web
bun install
bun dev
你需要运行一个非常小的代理 API 服务器,以绕过浏览器的 CORS 策略。运行以下命令:
bun run api/wasm.cjs # or node api/wasm.cjs if you don't have bun installed
这将在 http://localhost:3000/wasm 启动一个本地代理服务器,用于从 GitHub 发布版本获取 wasm 文件。
或者你也可以同时运行开发服务器和代理服务器,使用:
bun cc
构建生产版本:
bun run build
默认情况下,构建假定你的应用从根路径(/)提供服务。如果部署到子目录(例如 example.com/online),请设置 VITE_BASE_URL 环境变量:
VITE_BASE_URL=/online bun run build
[!NOTE] 代理服务器仅用于支持多个(较旧)版本的 radare2。如果你只关心最新版本,可以跳过代理服务器。
或者跳过设置,直接在线尝试。
[!TIP]
如果你没有安装 bun,可以使用 npm、yarn 或你已安装的任何其他包管理器。只需将上述命令中的
bun替换为npm或yarn(或其他包管理器)。当直接从文件系统(使用
file://协议)打开构建文件时,可能会遇到 CORS 错误。建议使用适当的 HTTP 服务器进行静态托管(如 GitHub Pages、Netlify、Vercel 等),或者启动一个本地服务器。
问:为什么我无法保存文件?
答:保存功能从 r2 6.0.3 版本开始得到支持。较早版本在 r2-wasm 端存在限制,该限制已得到解决。
问:为什么图形视图无法加载?
答:图形视图需要 r2 6.0.9 或更高版本才能正常使用。
问:支持哪些浏览器?
答:虽然我们力求广泛兼容,但目前 Firefox 存在已知问题。为了获得最稳定的体验,我们建议使用 基于 Chromium 的浏览器(如 Chrome、Edge 或 Brave)。
问:radare2 二进制文件是如何处理的?
答:二进制文件在首次加载时自动下载并本地缓存以供后续使用。如果你不想存储它,在启动时的版本选择中会提供禁用缓存的选项。
欢迎贡献!请提出 issue 或提交 pull request。为确保项目与其核心目标保持一致,请牢记以下指南:
本项目采用 MIT 许可协议。详情请参阅 LICENSE 文件。