Files
CyberStrikeAI/tools/radare2.yaml
2026-02-28 23:09:48 +08:00

300 lines
7.9 KiB
YAML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
name: "radare2"
command: "r2"
enabled: true
short_description: "二进制分析和逆向工程框架,支持反汇编、调试和脚本分析"
description: |
Radare2是一个完整的二进制分析和逆向工程框架支持多种架构和文件格式。
**主要功能:**
- 反汇编和反编译支持多种架构x86, ARM, MIPS等
- 调试支持:本地和远程调试
- 脚本支持支持r2pipe脚本和r2命令脚本
- 多种文件格式ELF, PE, Mach-O, 固件等
- 交互式分析:命令行界面和可视化模式
- 自动化分析:批量分析和脚本化分析
**使用场景:**
- 二进制文件分析
- 逆向工程和漏洞研究
- 恶意软件分析
- CTF竞赛中的逆向题目
- 固件分析
- 漏洞利用开发
**注意事项:**
- 可以使用 -c 参数执行命令后退出(非交互模式)
- 可以使用 -i 参数执行脚本文件
- 可以使用 -q 参数静默模式(不显示启动信息)
- 可以使用 -A 参数自动分析二进制文件
- 可以使用 -d 参数附加到进程进行调试
parameters:
- name: "target"
type: "string"
description: |
目标文件、进程ID或特殊值。
**格式:**
- 文件路径: "/path/to/binary"
- 进程ID: "1234" (需要配合 -d 参数)
- 特殊值: "-" (从stdin读取), "--" (交互模式), "=" (从环境变量读取)
**示例值:**
- 二进制文件: "/tmp/vulnerable"
- 进程调试: "1234" (配合 -d)
- 从stdin: "-"
**注意事项:**
- 必需参数,不能为空
- 如果指定进程ID需要配合 -d 参数使用
- 注意radare2 要求文件路径必须是最后一个参数,因此 target 使用 position 1
required: true
position: 1
format: "positional"
- name: "commands"
type: "string"
description: |
要执行的Radare2命令。可以是单个命令或多个命令用分号分隔
**格式:**
- 单个命令: "aaa" (自动分析)
- 多个命令: "aaa; pdf @main; VV" (分析、反汇编main函数、可视化)
**常用命令:**
- "aaa": 自动分析所有函数
- "afl": 列出所有函数
- "pdf @main": 反汇编main函数
- "px 64": 以十六进制显示64字节
- "VV": 进入可视化模式
- "i": 显示文件信息
- "iz": 显示字符串
**示例值:**
- "aaa" (自动分析)
- "aaa; pdf @main" (分析并反汇编main函数)
- "i; iz" (显示信息和字符串)
**注意事项:**
- 多个命令用分号(;)分隔
- 执行完命令后程序会退出(非交互模式)
required: false
flag: "-c"
format: "flag"
- name: "script_file"
type: "string"
description: |
要执行的脚本文件路径。脚本文件包含Radare2命令每行一个命令。
**格式:**
- 脚本文件路径: "/path/to/script.r2"
**示例值:**
- "/tmp/analyze.r2"
- "./scripts/auto_analyze.r2"
**注意事项:**
- 脚本文件中的命令会按顺序执行
- 脚本执行完后程序会退出
required: false
flag: "-i"
format: "flag"
- name: "arch"
type: "string"
description: |
指定目标架构。
**常用架构:**
- "x86": 32位x86
- "x86_64": 64位x86
- "arm": ARM架构
- "arm64": ARM64架构
- "mips": MIPS架构
- "ppc": PowerPC架构
**示例值:**
- "x86"
- "x86_64"
- "arm"
- "arm64"
**注意事项:**
- 如果不指定radare2会尝试自动检测
- 某些架构可能需要额外的配置
required: false
flag: "-a"
format: "flag"
- name: "bits"
type: "int"
description: |
指定目标位数16, 32, 64
**示例值:**
- 16 (16位)
- 32 (32位)
- 64 (64位)
**注意事项:**
- 通常与 -a 参数配合使用
- 如果不指定radare2会尝试自动检测
required: false
flag: "-b"
format: "flag"
- name: "auto_analyze"
type: "bool"
description: |
自动分析二进制文件。相当于执行 "aaa" 命令。
**使用场景:**
- 快速分析二进制文件
- 批量分析
**注意事项:**
- 启用后会自动分析所有函数
- 可能需要较长时间
required: false
flag: "-A"
format: "flag"
default: false
- name: "debug"
type: "bool"
description: |
调试模式。可以附加到进程或调试文件。
**使用场景:**
- 附加到运行中的进程
- 调试二进制文件
**注意事项:**
- 需要适当的权限
- 如果target是进程ID必须启用此选项
required: false
flag: "-d"
format: "flag"
default: false
- name: "quiet"
type: "bool"
description: |
静默模式。不显示启动信息和提示符。
**使用场景:**
- 脚本化使用
- 批量分析
- 自动化工具调用
**注意事项:**
- 适合非交互式使用
- 减少输出噪音
required: false
flag: "-q"
format: "flag"
default: false
- name: "seek"
type: "string"
description: |
设置起始地址。可以是十六进制地址或表达式。
**格式:**
- 十六进制: "0x400000"
- 表达式: "main+0x10"
**示例值:**
- "0x400000"
- "main"
- "0x1000"
**注意事项:**
- 地址可以是十六进制或符号名
- 用于从特定位置开始分析
required: false
flag: "-s"
format: "flag"
- name: "base_address"
type: "string"
description: |
设置基址base address。用于加载地址。
**格式:**
- 十六进制地址: "0x400000"
**示例值:**
- "0x400000"
- "0x1000000"
**注意事项:**
- 用于指定二进制文件的加载地址
- 通常用于分析固件或内存转储
required: false
flag: "-B"
format: "flag"
- name: "eval"
type: "string"
description: |
设置配置变量。格式为 key=value。
**格式:**
- "key=value"
- 多个变量用空格分隔: "asm.arch=x86 asm.bits=32"
**示例值:**
- "asm.arch=x86"
- "asm.bits=32"
- "scr.color=false"
**注意事项:**
- 用于设置radare2的配置变量
- 多个变量用空格分隔
required: false
flag: "-e"
format: "flag"
- name: "project"
type: "string"
description: |
加载或保存项目文件。
**格式:**
- 项目文件路径: "/path/to/project.r2"
**示例值:**
- "./project.r2"
- "/tmp/analysis.r2"
**注意事项:**
- 项目文件保存分析状态和配置
- 可以用于恢复之前的分析
required: false
flag: "-p"
format: "flag"
- name: "additional_args"
type: "string"
description: |
额外的radare2参数。用于传递未在参数列表中定义的radare2选项。
**可用选项:**
- "-C": 强制使用颜色输出
- "-f": 强制打开文件(即使格式不匹配)
- "-L": 列出支持的插件
- "-M": 启用写模式
- "-n": 不加载配置文件
- "-N": 不执行脚本
- "-S": 在调试模式下启动
- "-t": 使用线程模式
- "-u": 使用unicorn引擎
- "-v": 显示版本信息
- "-w": 写模式
- "-z": 扫描字符串
- "-X": 执行r2pipe脚本
- "-P patch": 应用补丁
- "-m maddr": 映射地址
**示例值:**
- "-w" (写模式)
- "-n" (不加载配置文件)
- "-M" (启用写模式)
- "-z" (扫描字符串)
**注意事项:**
- 多个参数用空格分隔
- 确保参数格式正确,避免命令注入
- 此参数会直接追加到命令末尾
required: false
format: "positional"