mirror of
https://github.com/Ed1s0nZ/CyberStrikeAI.git
synced 2026-03-31 00:09:29 +02:00
96 lines
3.0 KiB
YAML
96 lines
3.0 KiB
YAML
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"
|