
radare/radare2radare2(简称r2)是一个完整的***工程与二进制分析框架,由一系列可独立或协同使用的命令行工具组成。该框架围绕反汇编器构建,支持从机器可执行代码生成汇编语言源码,兼容多种处理器和操作系统的可执行格式,同时提供静态分析、调试及模拟功能。其模块化架构允许通过插件扩展对新文件格式、架构及分析特性的支持。
radare2 Docker镜像提供了预配置的运行环境,封装了radare2核心及多个关键插件,便于快速部署和使用,无需手动配置依赖。镜像分为稳定版(基于Ubuntu)和GIT开发版(本地构建,基于Debian),满足不同场景需求。
通过以下命令启动交互式终端:
sh# Docker docker run -ti radare/radare2 # Podman podman run -ti docker.io/radare/radare2 # Nerdctl nerdctl run -ti radare/radare2
添加--rm参数,容器退出后自动删除:
shdocker run --rm -ti radare/radare2
如需在容器内调试二进制文件,需添加特权及安全选项:
shdocker run --tty --interactive \ --privileged \ --cap-add=SYS_PTRACE \ --security-opt seccomp=unconfined \ --security-opt apparmor=unconfined \ radare/radare2
容器内通过info命令查看官方文档:
shinfo r2book
验证镜像是否由GitHub Actions构建:
shcosign verify docker.io/radare/radare2 \ --experimental-oci11=true \ --certificate-oidc-issuer=[***] \ --certificate-identity-regexp='[***]\.com/radareorg/radare2-snap/.*@refs/heads/main'
GIT版基于Debian,包含radare2最新开发代码,需本地构建。
sh# 克隆源码仓库 git clone [***] cd radare2 # 构建镜像(默认包含r2ghidra、r2frida、r2dec) make -C dist/docker
R2PM变量指定需安装的r2pm包
shmake -C dist/docker R2PM=radius2 # 示例:添加radius2组件
ARCH变量选择目标架构(amd64/arm64)
shmake -C dist/docker ARCH=arm64
通过容器启动radare2 Web UI(r2web):
shdocker run -p 9090:9090 radare/radare2 r2 -c '=h' -
基础版(docker-compose.yml):
yamlversion: "3.8" services: radare2: image: radare/radare2 command: r2 -c '=h' - network_mode: bridge ports: - "9090:9090"
调试增强版(支持容器内调试):
yamlversion: "3.8" services: radare2: image: radare/radare2 command: r2 -c '=h' - network_mode: bridge ports: - "9090:9090" privileged: true cap_add: - SYS_PTRACE security_opt: - "seccomp=unconfined" - "apparmor=unconfined"
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务