Files
CyberStrikeAI/tools/angr.yaml
2025-11-21 23:18:21 +08:00

96 lines
3.0 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: "angr"
command: "python3"
args:
- "-c"
- |
import shlex
import sys
if len(sys.argv) < 2:
sys.stderr.write("缺少脚本内容\n")
sys.exit(1)
script_content = sys.argv[1]
binary = sys.argv[2] if len(sys.argv) > 2 else ""
find_address = sys.argv[3] if len(sys.argv) > 3 else ""
avoid_addresses = sys.argv[4] if len(sys.argv) > 4 else ""
analysis_type = sys.argv[5] if len(sys.argv) > 5 else ""
extra = sys.argv[6] if len(sys.argv) > 6 else ""
context = {
"binary_path": binary,
"find_address": find_address,
"avoid_addresses": [addr.strip() for addr in avoid_addresses.split(",") if addr.strip()],
"analysis_type": analysis_type or "symbolic",
}
if extra:
context["additional_args"] = shlex.split(extra)
else:
context["additional_args"] = []
# 执行用户脚本,提供上下文变量
exec(script_content, context)
enabled: true
short_description: "符号执行和二进制分析框架"
description: |
Angr是一个符号执行和二进制分析框架用于自动化漏洞发现和利用。
**使用方式:**
- 通过 `script_content` 参数提供Python脚本可直接导入 `angr` 并访问以下变量:
- `binary_path`: 目标二进制路径
- `find_address`: 待寻找的地址(可为空)
- `avoid_addresses`: 需要避开的地址列表
- `analysis_type`: 自定义分析类型标记默认symbolic
- `additional_args`: 额外参数列表(通过 `additional_args` 传入)
- 在脚本中自行控制分析流程,可调用 `print()` 输出结果。
parameters:
- name: "script_content"
type: "string"
description: "要执行的angr Python脚本内容"
required: true
position: 0
format: "positional"
- name: "binary"
type: "string"
description: "要分析的二进制文件路径,将作为 binary_path 变量传递给脚本"
required: false
default: ""
position: 1
format: "positional"
- name: "find_address"
type: "string"
description: "符号执行中要查找的地址(可选,传入脚本变量 find_address"
required: false
default: ""
position: 2
format: "positional"
- name: "avoid_addresses"
type: "string"
description: "要避免的地址(逗号分隔,脚本变量 avoid_addresses"
required: false
default: ""
position: 3
format: "positional"
- name: "analysis_type"
type: "string"
description: "用于脚本内自定义分支的分析类型标签(例如 symbolic/cfg/static"
required: false
default: "symbolic"
position: 4
format: "positional"
- name: "additional_args"
type: "string"
description: |
额外参数,脚本中可通过 `additional_args` 列表访问。
**示例:**
- "--max-depth 8 --timeout 60"
**注意事项:**
- 参数会按照shell规则拆分
required: false
default: ""
position: 5
format: "positional"