ghidra-core
运行 Ghidra RPC、导入与项目管理、事务、标注、导出、daemon 起停与执行排障时使用。分析方法见 ghidra-static/re-dynamic;通用任务状态见 analysis-session。
- License 许可
- MIT
- 最近更新
- 2026-11-15
- Stars
- ★ 81
- Forks
- 17
01 前言 Front Matter
- name
- ghidra-core
- description
- 运行 Ghidra RPC、导入与项目管理、事务、标注、导出、daemon 起停与执行排障时使用。分析方法见 ghidra-static/re-dynamic;通用任务状态见 analysis-session。
02 资源文件 107
- 参考文档engine/ghidra-rpc/docs/flows/android-apk.md7.4 KB
- 参考文档engine/ghidra-rpc/docs/flows/binary-audit.md1.1 KB
- 参考文档engine/ghidra-rpc/docs/flows/patch-analysis.md5.1 KB
- 参考文档engine/ghidra-rpc/docs/flows/vulnerability-research.md1.3 KB
- 参考文档engine/ghidra-rpc/docs/install.md2.5 KB
- 参考文档engine/ghidra-rpc/docs/internals.md9.5 KB
- 参考文档engine/ghidra-rpc/docs/quickstart.md3.2 KB
- 参考文档engine/ghidra-rpc/docs/troubleshooting.md7.6 KB
- 脚本engine/ghidra-rpc/ghidra_rpc/__init__.py99 B
- 脚本engine/ghidra-rpc/ghidra_rpc/cli.py92.3 KB
- 脚本engine/ghidra-rpc/ghidra_rpc/client.py5.7 KB
- 脚本engine/ghidra-rpc/ghidra_rpc/daemon.py5.8 KB
- 脚本engine/ghidra-rpc/ghidra_rpc/server/__init__.py33 B
- 脚本engine/ghidra-rpc/ghidra_rpc/server/_gui_launcher.py3.0 KB
- 脚本engine/ghidra-rpc/ghidra_rpc/server/context.py36.2 KB
- 脚本engine/ghidra-rpc/ghidra_rpc/server/launcher.py4.5 KB
- 脚本engine/ghidra-rpc/ghidra_rpc/server/main.py5.6 KB
- 脚本engine/ghidra-rpc/ghidra_rpc/server/tools/__init__.py1.0 KB
- 脚本engine/ghidra-rpc/ghidra_rpc/server/tools/analysis.py13.5 KB
- 脚本engine/ghidra-rpc/ghidra_rpc/server/tools/bookmarks.py8.0 KB
- 脚本engine/ghidra-rpc/ghidra_rpc/server/tools/cfg.py9.5 KB
- 脚本engine/ghidra-rpc/ghidra_rpc/server/tools/cpp.py5.5 KB
- 脚本engine/ghidra-rpc/ghidra_rpc/server/tools/data_types.py48.8 KB
- 脚本engine/ghidra-rpc/ghidra_rpc/server/tools/decompiler.py9.9 KB
- 脚本engine/ghidra-rpc/ghidra_rpc/server/tools/disassembly.py13.5 KB
- 脚本engine/ghidra-rpc/ghidra_rpc/server/tools/dsh_tools.py32.8 KB
- 脚本engine/ghidra-rpc/ghidra_rpc/server/tools/memory.py14.6 KB
- 脚本engine/ghidra-rpc/ghidra_rpc/server/tools/modifications.py66.7 KB
- 脚本engine/ghidra-rpc/ghidra_rpc/server/tools/navigation.py783 B
- 脚本engine/ghidra-rpc/ghidra_rpc/server/tools/processor_context.py7.7 KB
- 脚本engine/ghidra-rpc/ghidra_rpc/server/tools/search.py8.6 KB
- 脚本engine/ghidra-rpc/ghidra_rpc/server/tools/tags.py6.8 KB
- 脚本engine/ghidra-rpc/ghidra_rpc/server/tools/version_tracking.py28.3 KB
- 脚本engine/ghidra-rpc/ghidra_rpc/server/tools/xrefs.py11.9 KB
- 脚本engine/ghidra-rpc/ghidra_rpc/session.py8.7 KB
- 脚本engine/ghidra-rpc/ghidra_rpc/transport.py4.6 KB
- 其他engine/ghidra-rpc/pyproject.toml715 B
- 参考文档engine/ghidra-rpc/README.md5.2 KB
- 参考文档engine/VENDOR.md2.2 KB
- 许可证LICENSE1.1 KB
- 参考文档references/crypto-ident.md125 B
- 参考文档references/evidence-ledger.md1.6 KB
- 参考文档references/headless.md7.9 KB
- 参考文档references/pyghidra-migration.md6.9 KB
- 参考文档references/rpc-commands.md12.8 KB
- 参考文档references/scripting.md9.3 KB
- 参考文档references/unicorn-harness.md125 B
- 参考文档references/windows-powershell.md3.3 KB
- 脚本scripts/add_comment.py5.7 KB
- 脚本scripts/analysis_config.py3.0 KB
- 脚本scripts/analyze_binary.py4.2 KB
- 脚本scripts/apply_c_types.py5.2 KB
- 脚本scripts/apply_data_type.py4.8 KB
- 脚本scripts/call_histogram.py4.4 KB
- 脚本scripts/cone_invert.py658 B
- 脚本scripts/const_audit.py10.5 KB
- 脚本scripts/const_scan.py26.7 KB
- 脚本scripts/crypto_sanity.py11.0 KB
- 脚本scripts/decomp_lint.py13.8 KB
- 脚本scripts/decompile_all.py7.1 KB
- 脚本scripts/decompile_function.py8.6 KB
- 脚本scripts/doctor.py38.2 KB
- 脚本scripts/driver.py21.5 KB
- 脚本scripts/emulate_blob.py11.0 KB
- 脚本scripts/emulate_function.py12.8 KB
- 脚本scripts/emulate_program.py41.4 KB
- 脚本scripts/exec_code.py5.2 KB
- 脚本scripts/export_binary.py4.3 KB
- 脚本scripts/frame_map.py8.7 KB
- 脚本scripts/get_basic_blocks.py7.0 KB
- 脚本scripts/get_call_graph.py8.5 KB
- 脚本scripts/get_data_at_address.py9.3 KB
- 脚本scripts/get_disassembly.py7.6 KB
- 脚本scripts/get_memory_map.py4.8 KB
- 脚本scripts/get_symbols.py8.2 KB
- 脚本scripts/get_xrefs.py7.5 KB
- 脚本scripts/guarded_run.py640 B
- 脚本scripts/jt_resolve.py18.1 KB
- 脚本scripts/launch_gui.py4.2 KB
- 脚本scripts/layer_dump.py650 B
- 脚本scripts/ledger.py644 B
- 脚本scripts/list_classes.py9.1 KB
- 脚本scripts/list_functions.py5.2 KB
- 脚本scripts/model_diff.py12.4 KB
- 脚本scripts/model_structure.py3.9 KB
- 脚本scripts/noreturn_fix.py8.7 KB
- 脚本scripts/oracle_family.py656 B
- 脚本scripts/patch_bytes.py9.9 KB
- 脚本scripts/pe_info.py3.5 KB
- 脚本scripts/peel_inverse.py660 B
- 脚本scripts/read_views.py7.6 KB
- 脚本scripts/rename_symbol.py6.5 KB
- 脚本scripts/rpc_driver.py16.8 KB
- 脚本scripts/search_bytes.py8.1 KB
- 脚本scripts/search_strings.py5.8 KB
- 脚本scripts/set_analysis_options.py2.1 KB
- 脚本scripts/set_function_signature.py6.2 KB
- 脚本scripts/ssa_reconstruct.py5.6 KB
- 脚本scripts/ssa_trace.py11.5 KB
- 脚本scripts/transform_search.py17.0 KB
- 脚本scripts/triage_scan.py16.2 KB
- 脚本scripts/unreferenced_data.py11.5 KB
- 脚本scripts/unreferenced_funcs.py11.2 KB
- 脚本scripts/venv_health.py4.4 KB
- 脚本scripts/xor_scan.py13.1 KB
- 参考文档SOURCE.md361 B
- 参考文档TRUST.auto.yaml2.2 KB
03 SKILL.md 正文
ghidra-core
输入与输出
输入是样本路径、项目、函数/地址及操作;输出为 RPC JSON、导出文件与执行诊断。结果含地址时记录 image base、处理器和分析配置。脚本入口保留兼容路径。
最短可用流程
SK="${DSH_HOME:-$HOME/.dsh}/skills/ghidra-core/scripts"
python3 "$SK/rpc_driver.py" ensure /path/to/sample
python3 "$SK/rpc_driver.py" decompile /path/to/sample main
python3 "$SK/rpc_driver.py" "@/path/to/out.json" triage /path/to/sample
ensure 可启动对应 daemon、导入样本并分析。@out 为首参数。批量查询可选 decompile-all/search-decompiled,写操作使用 Ghidra 事务并自动存盘。项目写锁与 daemon 内 handler 串行锁都需尊重;同一 daemon 多代理排队不会自然提速。共享变更由 analysis-session 的 lease/guard 协调,锁只覆盖经该入口发起的操作。
执行与故障
按需用 doctor.py --quick 查 Ghidra 核心;跨工具环境用 analysis-session 的 discover,使用前只测当前需要的工具。路径/版本由探针获得,本机候选放在 runtime/environment.json。Ghidra 工作区路径仍遵守实际引擎的路径限制;勿改变在用项目的属主或目录。导入复用需同时核对样本哈希、处理器和分析配置。
daemon 故障先查对应实例与日志,必要时停止并重启该实例;不宽泛 pkill。命令用法 rpc_driver.py --help 或 rpc-commands.md,GUI/legacy/移植问题按下面索引读取。非 Ghidra 方法与运行能力已有独立入口,旧 scripts 路径为兼容包装。
会话与交接
按当前问题选方法,可静态先行、动态先行或直接建模。连续实验没有新增证据时盘点前提和可区分解释的实验;时间盒用于复查,可说明价值后继续原路线。
简单单点查询记录最小证据即可;多阶段、恢复或协作任务按需使用 analysis-session,记录关键结论、目标代次、实验干预和未决问题。普通工具事件由运行层记录。候选与外部接受分别说明,可交付限定范围的未完成报告。共享项目写操作协调所有权;未获变更权时先只读。
补充专题入口
- crypto-ident:当前问题涉及文件名对应专题时按需读取。
- evidence-ledger:当前问题涉及文件名对应专题时按需读取。
- headless:当前问题涉及文件名对应专题时按需读取。
- pyghidra-migration:当前问题涉及文件名对应专题时按需读取。
- scripting:当前问题涉及文件名对应专题时按需读取。
- unicorn-harness:当前问题涉及文件名对应专题时按需读取。
- windows-powershell:当前问题涉及文件名对应专题时按需读取。
04 同仓库更多 Skills
recipe-performance
Diagnose a specific MetaMask user flow's real-app performance and Sentry critical-user-flow telemetry with deterministic mm-harness recipes. Use for CUF boundaries, cold/warm/background-resume behavior, latency regressions, lifecycle tags, duplicate or blocking network requests, long tasks, layout/paint cost, screen redraws, React rerenders, or browser trace analysis where tests alone cannot prove the real app.
mexc-spot-websocket
MEXC Spot WebSocket workflows for public streams, protobuf handling, depth maintenance, listen keys, and private streams without exposing API keys.
mexc-spot-rest
MEXC Spot REST workflows for public data, signed account requests, orders, wallet/admin actions, and secure signing without exposing API keys.
mexc-futures-websocket
MEXC Futures WebSocket workflows for public streams, private account/order/position streams, ping/pong, subscriptions, and depth maintenance.
0xklen-version-and-refresh-sanctions-lists
暂无简介
verify-tests-cover-changed-lines
Use when a PR adds code that the existing suite may not exercise. Measures patch coverage — the share of newly changed lines hit by tests — before approving.