Update radare2.yaml

This commit is contained in:
公明
2025-11-09 22:22:21 +08:00
committed by GitHub
parent 9bf0e868b6
commit 462adfa3dd

View File

@@ -2,49 +2,312 @@ name: "radare2"
command: "r2"
enabled: true
short_description: "二进制分析和逆向工程框架"
short_description: "二进制分析和逆向工程框架,支持反汇编、调试和脚本分析"
description: |
Radare2是一个完整的二进制分析和逆向工程框架。
Radare2是一个完整的二进制分析和逆向工程框架,支持多种架构和文件格式
**主要功能:**
- 反汇编和反编译
- 调试支持
- 脚本支持
- 多种架构支持
- 反汇编和反编译支持多种架构x86, ARM, MIPS等
- 调试支持:本地和远程调试
- 脚本支持支持r2pipe脚本和r2命令脚本
- 多种文件格式ELF, PE, Mach-O, 固件等
- 交互式分析:命令行界面和可视化模式
- 自动化分析:批量分析和脚本化分析
**使用场景:**
- 二进制分析
- 逆向工程
- 漏洞研究
- 二进制文件分析
- 逆向工程和漏洞研究
- 恶意软件分析
- CTF竞赛中的逆向题目
- 固件分析
- 漏洞利用开发
**注意事项:**
- 可以使用 -c 参数执行命令后退出(非交互模式)
- 可以使用 -i 参数执行脚本文件
- 可以使用 -q 参数静默模式(不显示启动信息)
- 可以使用 -A 参数自动分析二进制文件
- 可以使用 -d 参数附加到进程进行调试
parameters:
- name: "binary"
- name: "target"
type: "string"
description: "要分析的二进制文件路径"
description: |
目标文件、进程ID或特殊值。
**格式:**
- 文件路径: "/path/to/binary"
- 进程ID: "1234" (需要配合 -d 参数)
- 特殊值: "-" (从stdin读取), "--" (交互模式), "=" (从环境变量读取)
**示例值:**
- 二进制文件: "/tmp/vulnerable"
- 进程调试: "1234" (配合 -d)
- 从stdin: "-"
**注意事项:**
- 必需参数,不能为空
- 如果指定进程ID需要配合 -d 参数使用
required: true
position: 0
format: "positional"
- name: "commands"
type: "string"
description: "要执行的Radare2命令分号分隔"
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"
format: "positional"