逆向工程REA

SKILL运维和基础设施
运维和基础设施 未标注权限 许可证不明确
安装这个技能

逆向工程 REA(Reverse Engineer Anything):用智能体对原生二进制、.NET 托管代码、Electron/JavaScript、Android APK、固件、浏览器与网络流量做逆向分析,从应用行为一路追到机器码,输出带证据链的结论。GitHub 252,172 星标。仓库 https://github.com/morluto/rea

一句话选型结论

按资料字段整理

逆向工程REA是运维和基础设施类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类运维和基础设施 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_7c16de0c/reverse-engineer-anything
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

运维和基础设施
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_7c16de0c仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验2026-11-06上游最后核验时间 · 数据更新 2026-11-06
正文体量22.4 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
查服务与日志

按现象定位服务状态与日志线索。

写部署与巡检脚本

把重复的部署、巡检写成脚本。

故障排查

按步骤排查网络、依赖与配置。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在运维和基础设施场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
逆向工程REA当前 未标注权限 未标注 未标注 未标注 有
Azure 部署 调用外部服务 GitHub 仓库 664.2 万 Codex、Claude、Cursor 有
Azure diagnostics 问题管理 调用外部服务 GitHub 仓库 657.6 万 Codex、Claude、Cursor 有
Azure aigateway 部署 调用外部服务 GitHub 仓库 655.3 万 Codex、Claude、Cursor 有
Azure AI 搜索 调用外部服务 GitHub 仓库 651.4 万 Codex、Claude、Cursor 有
Azure Cloud migrate 部署 调用外部服务 GitHub 仓库 650.7 万 Codex、Claude、Cursor 有

SKILL.md 全文

22.4 KB
模型实际读到的说明书原文,来自技能仓库

REA

Use REA when a claim depends on a shipped binary or package, decompilation,
passive application runtime evidence, or comparison with
behavior not established by available source. For ordinary analysis of a
complete source repository, use normal repository tools and do not run REA
readiness or provider commands.

Connect only when needed

Installing this skill supplies instructions; it does not register the REA MCP
server, install analysis engines, or add tools to an already-running agent.

If REA tools are available and their registration is not known to be stale,
proceed directly to the target. Do not run diagnostics or setup before every
investigation. Use the connected server's actual tool list and input schemas;
a skill installed from repository main may describe capabilities absent from
an older npm release. Keep complete inline Evidence when that server does not
advertise retained references.

If tools are absent, a call is blocked by the client, or a required provider is
unavailable, read connection and recovery.
Diagnose the observed blocker, continue useful supported work, and resume the
original task after repair. Client approval, shell PATH, registration and engine
availability have different remedies; avoid repeating setup for all of them.

  1. Diagnose without changing REA or client configuration. npx may download
    the package and write to npm's cache. For Codex, run
    npx -y rea-agents@latest doctor --client codex --json. Substitute the current
    supported client: claude_code, claude_desktop, codex, cursor,
    gemini_cli, windsurf, devin, opencode, antigravity, copilot_cli,
    commandcode, vscode, grok_build, omp, or grok_bot. grok_bot has no local
    file registration: doctor reports the Grok Bot chat step, and setup does not
    write mcp.json. If the client is unknown, use doctor --json and
    inspect its registration results before choosing a setup scope.
  2. Distinguish the reason. Missing, malformed, or stale registration needs a
    scoped configuration repair. An aligned registration with no tools in the
    active session needs a restart/reconnection; doctor cannot prove that the
    current agent has connected. A missing provider affects only tasks requiring
    that provider: static JavaScript inspection needs neither Hopper nor Ghidra,
    and Android inspection has separate bring-your-own JADX/Java prerequisites.
  3. For a configuration repair, prepare the read-only plan:
    npx -y rea-agents@latest setup --client codex --dry-run --json.
    Use the current client's ID, show its exact proposed paths, backups, and
    changes, and obtain approval before setup writes configuration or installs
    Hopper. Setup normally installs the matching bundled skill too; include that
    replacement in the reviewed plan. After approval, apply the same scope with
    npx -y rea-agents@latest setup --client codex --yes. Add --install-hopper
    only if that separate installation was needed and explicitly approved.
  4. Restart/reconnect the affected agent. Verify that REA tools actually appear
    in the session, then resume the original investigation. If they remain
    absent, inspect the client's MCP launch error rather than repeating setup.

REA setup never installs or upgrades Node.js, npm, Homebrew, Java, Ghidra, IDA,
JADX, Binwalk, or Unblob. Use existing prerequisites; do not install unrelated
software to repair
MCP registration. For an unsupported client, use manual stdio registration
with a version-pinned rea-agents package or continue through the CLI.

A concrete CLI fallback for an operator-supplied JavaScript tree or ASAR is:

npx -y rea-agents@latest analyze-javascript-application /absolute/path/to/app --json

No MCP registration or native engine is required. Read the returned Evidence,
graph, limitations, and unknowns with the same care as an MCP result; the CLI
returns the Evidence record directly. This fallback does not establish that
MCP is configured. Native CLI tasks still require their selected engine.
Prefer an existing rea CLI. When none is installed and REA package acquisition
is within the authorized scope, use npx -y rea-agents@latest in its place.
Configuration repair starts with a read-only setup plan; show paths, backups and
skill replacement before applying authorized changes. Preserve existing approval
and target-execution boundaries. REA setup never installs or upgrades unrelated
software, including Node.js, npm, Homebrew, Java, Ghidra, IDA, JADX, Binwalk or Unblob.

Route the target first

Choose the first tool from the target the user supplied. Use open_binary for
active-target native or archive workflows; target-free tools take their own
explicit path or endpoint and do not need it.

  • ASAR or extracted JavaScript/Electron tree:
    analyze_javascript_application.
  • Archive/package member inventory (ZIP/APK/IPA/MSIX/AppX or DMG):
    open_binary with the supplied local path; use inspect_artifact when its
    graph and findings help answer the question.
  • Android APK code, classes, methods, or incoming references:
    inspect_android_package, then focused Android tools when advertised.
    Archive member inventory still uses the archive route above.
  • Managed PE/CLI assembly: inspect_managed_artifact.
  • Firmware image: inspect_firmware_regions when advertised. Use
    extract_firmware when extraction is requested, with a caller-selected new
    absolute output directory. These tools use caller-supplied Binwalk/Unblob on
    Linux; see the firmware guide.
  • .NET NativeAOT PE/ELF: native Ghidra analysis. Native code can yield pseudocode;
    consult the NativeAOT workflow in references/native-and-artifacts.md for
    optional metadata recovery and its supported host/layout boundary.
  • User-owned browser page already open: list_browser_targets.
  • Browser action the agent must perform (click, type, navigate):
    capture_browser_scenario with declared actions. See
    runtime observation for connect/launch
    and the focused follow-up browser tools.
  • Fiddler Everywhere traffic or a native .saz capture: read the
    Fiddler workflow.
    Inspect saved SAZ with inspect_web_network_capture and format: "saz";
    connect Everywhere's separate MCP server for live traffic.
  • Retained HAR/SAZ/native mitmproxy/aioquic qlog capture: inspect_web_network_capture. Select
    original record ordinals when useful; inspect producer fields and byte/number
    sidecars without fetching recorded URLs or claiming live attribution. See
    historical captures for the exact upstream
    profile and credential exclusions. Qlog support starts with aioquic 1.5.0
    JSON 0.3; stream coverage and endpoint loss declarations do not recover bodies
    or establish network loss. Prefer detail summary, then kind qlog trace/stream
    pages; select one trace, stream ID and direction for contribution/range pages.
    Facts retain all-recorded-events-before-selection scope. Other qlog layouts
    and PCAP correlation are unsupported.
  • User-owned Electron runtime already open: list_electron_targets. Before an electron-main Inspector attempt, check packaged fuses with inspect_electron_fuses; disabled EnableNodeCliInspectArguments means the app ignores --inspect.
  • Packet-field discovery: inspect_packet_fields searches installed protocols
    and field names/types before choosing fields for inspect_packet_capture.
    Query/page the relevant records; registrations do not establish observed traffic.
  • Recorded packet captures: inspect_packet_capture with selected TShark fields,
    display filters and decode-as rules. Requires Linux, util-linux prlimit and REA_TSHARK_COMMAND; see
    capture guide.
    Packet limits count input packets before filtering. Output defaults to 50 matching
    frames; use match_offset / match_limit for later pages, or explicit null
    limit for complete matching output. Preserve the source digest across pages.
    This does not perform live capture.
    For address/DNS/SNI/protocol summaries use inspect_pcap_capture with MCP
    detail summary, then retained kind pcap pages. Requires Wireshark 4.x tshark
    and capinfos, with Linux prlimit or Windows Job Objects; see
    packet summaries.
    Select an exact DNS question for address pages; page exhaustion does not prove
    network completeness. This reads recordings and does not acquire traffic.
  • Decoder discovery: inspect_signal_decoders searches installed decoder IDs
    or selected decoder help, including channels and options. Query and page the
    relevant details before choosing settings; this does not scan hardware.
  • Recorded logic/signal traces: decode_signal_recording with explicit decoder,
    channel and protocol settings. On Linux with util-linux prlimit, supply sigrok-cli 0.7.2 through
    REA_SIGROK_COMMAND; see recording guide.
    Output defaults to 50 literal lines; select annotation classes and page with
    line_offset / line_limit, or explicit null for all remaining output.
    Window counts are display lines, not annotations or samples. Preserve source digests across pages.
    This reads existing files; it does not acquire hardware signals.
  • Explicit local WebAssembly artifact: inspect_wasm_artifact. Supply WABT 1.0.42
    through REA_WABT_BIN_DIRECTORY; retain exact byte/tool identity and decoded WAT.
    Select JavaScript glue and candidate paths explicitly and preserve URL/path
    ambiguity. No implicit fetch or target execution; WAT is not original source.
    See the WASM guide.
  • Explicit local EVM bytecode carrier: inspect_evm_interface with caller-selected
    raw or hex encoding. Preserve carrier/decoded digests and treat selectors,
    argument strings and mutability as inferred candidates; this performs no chain
    lookup or target execution. For the complete inferred interface without hex or
    duplicate stdout, discover support and select detail: "summary"; complete
    Evidence stays retained under its original identity. Use the returned
    parent_evidence_id for exact function or bytecode_hex/stdout/stderr pages.
    Candidate coverage does not establish interface completeness. See the
    EVM bytecode guide.
  • Embedded Go compiler, module or build-setting metadata: inspect_go_binary
    with the explicit local file. This built-in target-free inspection requires no
    Go installation or disassembler. Preserve raw module bytes and source ranges;
    absent metadata does not prove a binary is not Go, and unparsed text records
    remain explicit. See the
    Go binary guide.
  • Embedded cargo-auditable Rust dependency metadata: inspect_rust_binary
    with the explicit local ELF, PE, or thin Mach-O file. This built-in
    target-free inspection requires no Rust installation or disassembler. Preserve
    package order, dependency indices, and the section file range. A missing
    .dep-v0 section is null metadata, not proof the binary has no dependencies.
    A rustc commit hash is an inference from a read-only /rustc/<40-hex>/ path.
    See the
    Rust binary guide.

  • Explicit local SQLite database snapshot: inspect_sqlite_database. Inspect
    with Node.js 24.x >=24.15 or 26+ providing native SQLite limits. Read schema
    first (compact inventory by default), or select an exact ordinary table
    and columns when rows are needed. Defaults are selected-table schema and
    20 rows; request schema_scope: "database" for the complete stored schema. Preserve both database and existing sibling WAL identity; row samples
    report truncation and have unspecified order. Use a quiescent snapshot rather
    than assuming a live database/WAL pair was copied atomically. See the
    SQLite guide.

  • Explicit Linux ELF file for offline layout, symbols, relocations or static
    mitigation evidence: inspect_binary_layout. This target-free operation uses
    caller-supplied pwntools without opening a disassembler database. Preserve its
    raw locations and inference/coverage limits; see the
    offline binary guide.
  • Supplied Linux x86-64 ELF core: inspect_recorded_crash. Read every recorded
    thread, raw note and source-bound register without opening a live target.
    Historical PIDs do not select live processes. Request include_debugger_context
    only when core-only mapping candidates help; see the
    recorded crash guide.
  • PE resource type/name/language trees and static icon group references:
    inspect_pe_resources with an explicit path. This portable operation requires
    no active target or engine; opaque payloads retain file ranges and SHA-256.
  • Native executable, library, or analysis database: open_binary, then
    use focused analysis tools directly; call binary_overview when metadata or
    inventory context is useful and available from the selected provider.

For an existing IDA MCP configuration, use open_binary with the original
input binary and provider_id: "ida"; do not pass an .idb or .i64 database.
The legacy attached profile binds the already-open GUI input by SHA-256 and
leaves its database open. The modern headless profile creates and closes an
owned private database without saving. Installation and registration reuse
mrexodia/ida-pro-mcp; see the
IDA provider guide.
Proceed directly to analyze_function, pseudocode, or function/string searches
after opening; IDA does not supply binary_overview. Consult session availability
when composing broader workflows. Modern direct callers and unsupported dossier
facets remain unknown; live IDA results are not replayed from snapshots.

If the user says only "my app" without a name, path, or target already selected
for this task, ask which app before searching for artifacts. Paths in unrelated
saved reports and nearby test fixtures do not select the user's target. Resolve
an actual human-readable app name to one clear installed artifact when possible;
ask when matches are ambiguous. Never choose an example app on the user's behalf.

In a target-free session, use open_binary to bind any archive/package or
native target whose analysis tool operates on the active target. Do not call an
unadvertised tool; inspect binary_session with {} and its
result.tool_availability for availability reasons and remediation. Expand each
group's names into entries, inheriting the inventory-level client requirements
unless the group overrides them. In its closed effect and annotation vocabularies,
listed flags are true and omitted known flags are false. The grouped name union
is the complete tool inventory; use tools/list for canonical tool schemas.
Provider candidate facts describe possible providers, while top-level session
capabilities describe the current route and analysis_provider_binding names the
selected provider. Do not treat those scopes as interchangeable.

Work summary-first

Start with the default result and use its inline Evidence and graph context.
For a JavaScript application or ELF layout whose size is unknown or large,
call analyze_javascript_application or inspect_binary_layout with
"detail": "summary", then inspect the retained parent_evidence_id with
inspect_analysis_view.
Page module identities and select the returned node_id before requesting an
item; a single file path can represent several graph roles. Do not repeat an
identical analysis or rejected call without a changed input or resolved blocker.
Recheck session state when a lifecycle change makes that status useful.
Make a focused follow-up only when the
returned result leaves a specific question unanswered.

If MCP reports resource_constraint with details.resource: "transport", call
inspect_analysis_view with its reported same-session Evidence reference for a
summary, one section/module, or a stable page. Use trace_application_feature
once a seed is known, or call export_evidence_bundle to write the complete
session to a selected path. The analysis remains complete in the ledger; avoid
repeating it merely to request the same oversized response. Complete CLI JSON
output also streams without a single MCP frame.

When the retained parent ID is unknown, use get_evidence_bundle with
detail: "summary" and exact filters for operation, target SHA-256,
analysis-profile digest or canonical procedure address. Select its returned
Evidence ID for the next view instead of requesting the complete bundle.
retention: "complete-record" means the whole record is stored; native
value-flow truncation and unknown metadata remain separate. For an exported
portable bundle, use rea inspect-evidence-bundle with JSON containing path,
detail: "summary" and the same filters. Reading that file still requires
validating its full contents within the local memory budget.

A client can also truncate a successful tool result without a REA transport
error. Treat that preview as incomplete; use the retained parent ID for smaller
views or export when the full record is needed. Do not parse the preview as
canonical JSON or repeat the producer. For JavaScript, read the
module-view and trace recipes before
drilling into a large graph; a broad bidirectional trace can expand unrelated
containment relationships even after summary analysis.

Every conclusion must distinguish observations, inferences, and unknowns. Cite
Evidence IDs, preserve limitations and incomplete coverage, and never imply
that static analysis observed execution. Runtime requests execute the declared
target and lifecycle; do not broaden the target or action beyond those fields.

Within the user's requested investigation, call available analysis tools
directly. REA does not require permission grants or per-call approval flags.
The agent client can independently require approval. Follow the declared request
scope and the host's actual access requirements; use the recovery guide for an
observed client-policy rejection.

Plan broader investigations

For requests that span multiple features or subsystems, use a staged workflow:

  1. Turn the request into a checklist of questions and the evidence each answer
    needs. Resolve target identity and constraints from the conversation and
    workspace before asking for information again.
  2. Inspect the current REA session, artifact identity, saved analysis database,
    bookmarks, and prior evidence. Reuse matching state; do not open duplicate
    sessions or repeat identical analysis.
  3. Start with the smallest useful overview or inventory. Follow each question
    from its entry point through relevant data and state changes to its result.
    Batch related operations around a specific hypothesis, then expand only when
    the returned evidence leaves a concrete gap.
  4. Inspect relevant packaged resources and configuration alongside code when
    they affect the question. Use format-aware inventory and parsers; do not
    infer behavior from filenames, strings, or layout alone.
  5. Corroborate a conclusion with the evidence type it requires. Use runtime
    observation only when static evidence cannot answer the question and the
    required host runtime and OS access are available. For JavaScript behavior,
    run probes against the actual app through the available browser, Electron,
    or process capture workflow.
  6. Decompose work into independent questions. When parallel workers are
    available and the questions do not depend on one another, assign distinct
    scopes, point workers to existing evidence, and ask them to return sources,
    conclusions, and unresolved gaps. Otherwise, work sequentially.
  7. Keep a concise finding ledger linking each conclusion to Evidence IDs,
    confidence/evidence type, search boundary, and remaining unknowns. Update
    the shared index or investigation report so later passes can reuse results.

Before finishing, revisit the original checklist. Mark each question as
answered, partially answered, or unresolved based on its evidence; keep
bounded negative searches bounded, and do not describe a broad investigation
as complete while required questions remain open.

Read only the relevant guide

  • Native binaries, managed assemblies, archives, and extraction:
    references/native-and-artifacts.md
  • ASARs, extracted JavaScript, feature tracing, and version comparison:
    references/javascript-applications.md
  • Android APK declarations, classes, methods, and static references:
    references/android-applications.md
  • Browser/Electron observation (passive and scenario) and static/runtime
    reconciliation:
    references/runtime-observation.md
  • Evidence paging, comparisons, residual unknowns, and verification:
    references/evidence-workflows.md

Finish the task

Explain findings in plain language and tie them to returned evidence. When the
user asks to build something, use normal coding tools and separate observed
behavior from design choices. Close an opened native session with
close_binary when the investigation is complete.

常见问题

5 问
答案由本站依据条目字段整理
逆向工程REA怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_7c16de0c/reverse-engineer-anything。安装方式为未标注。装完刷新技能列表或重开客户端。

逆向工程REA支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

逆向工程REA权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

逆向工程REA收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

逆向工程REA用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 2026-11-06。