zhutao100/hopper-disassembler-skill
GitHub: zhutao100/hopper-disassembler-skill
Hopper反汇编技能库,用于macOS应用程序的二进制代码分析。
Stars: 0 | Forks: 0
# Hopper 反汇编技能
现代 macOS 上可重复、授权的 Hopper 反汇编工作流程的代理技能库。
## 内容
```
README.md
AGENTS.md
hopper-disassembler-analysis/
├── SKILL.md
├── agents/openai.yaml
├── scripts/
├── references/
└── assets/
```
## 技能
`hopper-disassembler-analysis` 帮助代理使用 Hopper 反汇编、Hopper Python 脚本、Hopper 内置的 MCP 服务器和确定性快照工件来检查本地二进制文件和 macOS 应用程序包。
主要入口点:
```
hopper-disassembler-analysis/SKILL.md
```
## 安装
当前 Codex/Open 代理技能发现的用户范围安装:
```
hopper-disassembler-analysis/scripts/install_codex_skill.sh --replace
```
存储库范围安装:
```
hopper-disassembler-analysis/scripts/install_codex_skill.sh --scope repo --replace
```
旧版本构建的 Codex 安装位置:
```
hopper-disassembler-analysis/scripts/install_codex_skill.sh --scope legacy-codex --replace
```
手动安装:
```
mkdir -p "$HOME/.agents/skills"
cp -R hopper-disassembler-analysis "$HOME/.agents/skills/"
```
可选的 Hopper UI 脚本安装:
```
hopper-disassembler-analysis/scripts/install_hopper_scripts.sh --replace
```
可选的 Codex MCP 与 Hopper 集成:
```
hopper-disassembler-analysis/scripts/install_codex_hopper_mcp.sh --replace
```
## 常用命令
列出可用的 macOS 分析工具:
```
hopper-disassembler-analysis/scripts/macos_toolchain_inventory.py \
--output /tmp/macos-toolchain.md
```
在 Hopper 之前检查目标:
```
hopper-disassembler-analysis/scripts/inspect_macho_targets.py \
--include-deps \
--output /tmp/target.inventory.md \
/path/to/Target.app
```
导出 Hopper 快照和面向 LLM 的摘要:
```
hopper-disassembler-analysis/scripts/run_hopper_export.sh \
--summary-output /tmp/target.hopper-summary.md \
--output /tmp/target.hopper-snapshot.json \
/path/to/Target.app
```
对于大型目标的重复分析,可以保持文档打开以供 MCP 后续处理,或者保存可重复使用的 `.hop` 数据库:
```
hopper-disassembler-analysis/scripts/run_hopper_export.sh \
--wait-for-analysis \
--save-hop /tmp/target.hop \
--output /tmp/target.hopper-snapshot.json \
/path/to/Target.app
hopper-disassembler-analysis/scripts/run_hopper_export.sh \
--database /tmp/target.hop \
--output /tmp/target.reuse.hopper-snapshot.json
```
`--database` 期望一个保存的 Hopper `.hop` 数据库,而不是快照 JSON 文件。
在不重新打开 Hopper 的情况下搜索现有快照:
```
hopper-disassembler-analysis/scripts/hopper_evidence_search.py \
--ignore-case \
--output /tmp/target.evidence.md \
/tmp/target.hopper-snapshot.json \
'FunctionName|UniqueString|0x100003f50'
```
将 Hopper 地址映射到文件偏移量:
```
hopper-disassembler-analysis/scripts/macho_address_map.py \
--arch arm64 \
--queries-only \
--address 0x100003f50 \
/path/to/target
```
反汇编一个焦点范围而不转储大型二进制文件:
```
hopper-disassembler-analysis/scripts/macho_lldb_disassemble.py \
--arch arm64 \
--address 0x100003f50 \
--size 0x180 \
/path/to/target
```
创建一个授权的通用切片工作区:
```
hopper-disassembler-analysis/scripts/macho_universal_workspace.py \
--sign-ad-hoc \
--output-dir /tmp/target.macho-workspace \
/path/to/Target.app
```
对于应用程序包输入,修改 `patched/` 下的可写副本,然后运行 `recombine.sh`,最后安装到可丢弃的应用程序副本中:
```
APP_COPY_PATH=/tmp/Target.app /tmp/target.macho-workspace/install_rebuilt_into_app.sh
```
对于本地临时代码签名,仅使用本地测试权限;不要保留生产团队、应用程序标识符、iCloud 或推送权限。
探测 Hopper MCP:
```
hopper-disassembler-analysis/scripts/hopper_mcp_probe.py --json --call-tool none
hopper-disassembler-analysis/scripts/hopper_mcp_probe.py --json --call-tool search_name --tool-args '{"pattern":"main"}'
```
## 验证
无需 Hopper 的可移植验证。验证器还会在 `references/`、`scripts/` 或 `assets/` 中的捆绑文件无法从技能指令或使用脚本访问时失败:
```
hopper-disassembler-analysis/scripts/validate_skill_repo.py .
python3 -m py_compile hopper-disassembler-analysis/scripts/*.py
bash -n hopper-disassembler-analysis/scripts/*.sh
```
可选的授权 macOS 主机上的 Hopper 安装验证:
```
hopper-disassembler-analysis/scripts/hopper_mcp_probe.py --json --call-tool none
hopper-disassembler-analysis/scripts/run_hopper_export.sh \
--timeout 180 \
--procedure-pattern 'EntryPoint|sub_' \
--max-procedures 5 \
--max-basic-blocks 2 \
--max-strings 10 \
--max-string-xrefs 4 \
--summary-output /tmp/echo.hopper-summary.md \
--output /tmp/echo.hopper-snapshot.json \
/bin/echo
hopper-disassembler-analysis/scripts/hopper_snapshot_summary.py \
--filter 'EntryPoint|sub_' \
/tmp/echo.hopper-snapshot.json \
>/tmp/echo.hopper-summary.check.md
```
除非任务明确要求持久性工件,否则将生成的快照写入 `/tmp`。
标签:威胁狩猎, 逆向工具