zhaoxuya520/reverse-skill

protocol-reverse

Use for authorized reverse engineering of custom binary protocols, Protobuf/gRPC, WebSocket frames, and PCAP-driven protocol recovery.

View source

How to use

  1. Copy the installation command and review the source package before installing it in your own agent environment.
  2. Check the source document for required tools, credentials and supported hosts.
  3. Describe your input and desired deliverable; review the output against the source material.
npx skills add https://github.com/zhaoxuya520/reverse-skill --skill protocol-reverse

Before you start

  • Installation does not include a model subscription, API allowance or permission to access your files.
  • Repository stars and installation counts describe activity, not an independent quality or security test.
Original skill document

Rendered from the source repository. Headings, examples, code, tables, links, and referenced images are preserved.

Protocol Reverse Engineering

ACTION REQUIRED(读完后立刻执行)

  1. NOW: 读取 ../field-journal/precedent-reverse.md — 确认授权与常规操作边界
  2. NOW: 确认任务是否为协议/流量/序列化格式逆向(非纯 Web 参数签名 → 转 js-reverse/)
  3. NOW: 若有目标网络交互 → ../scripts/case-init.ps1 完成 scope;auth 未 granted 禁止对目标 ACT
  4. NEXT: 读取 ../tool-index.md;缺工具 bootstrap(tshark/wireshark 等可能需手动)
  5. ACT: 进入工作流 Phase 1,产出帧布局或消息字典草稿

适用场景

  • 自定义 TCP/UDP 二进制协议
  • Protobuf / gRPC / FlatBuffers / MessagePack
  • WebSocket / MQTT / 私有 RPC
  • PCAP / PCAPNG 还原字段与状态机
  • 客户端-服务端校验、序列号、加密帧头

不走本 skill

情况去哪
仅 HTTP 参数签名 / JS 加密js-reverse/
仅 TLS 证书问题pentest-tools/ 或浏览器代理
固件内协议栈深挖 + 仿真firmware-pentest/ 后再回本 skill

工作流

Phase 1 — 采集与分诊

text
□ 拿到样本:PCAP / 代理导出 / 客户端日志 / 二进制
□ 标记方向:C→S / S→C;是否有握手、心跳、重连
□ 固定头?魔数?长度字段?TLV?定长?
□ 是否压缩(zlib/gzip/lz4)或加密(AES/ChaCha 帧内)
□ tshark -r cap.pcap -T fields -e frame.number -e ip.src -e tcp.payload

Phase 2 — 帧布局还原

text
□ 对齐多个同类消息,找不变字节 / 自增序列号
□ 长度字段:大端/小端、含头/不含头
□ 校验:CRC16/32、checksum、HMAC 位置
□ 画出状态机:Connect → Auth → Ready → Request/Response → Close
□ 工具:Wireshark 自定义 dissector 草稿 / ImHex / 010 Editor 模板 / Kaitai Struct

Phase 3 — 序列化与加密

text
□ Protobuf:.proto 恢复(blackboxprotobuf / pbtk / protoc --decode_raw)
□ gRPC:HTTP/2 headers + protobuf body
□ 加密:找密钥派生(客户端 so/dll/JS)→ 联合 ida-reverse / js-reverse / apk-reverse
□ 重放:仅在授权 scope 内;先无害字段再敏感操作

Phase 4 — 产物

text
MUST 产出:
- 消息类型表(name / opcode / fields)
- 至少 1 条可复现的解码命令或脚本
- Evidence:原始 hex 摘录 + 解码结果(脱敏)

工具链

工具必需用途自举
tshark / Wireshark强烈建议PCAP 解析手动 / winget
Python3是解码脚本系统
blackboxprotobuf可选未知 protobufpip
ImHex / 010可选结构模板手动
IDA / r2 / Ghidra按需客户端序列化函数见对应 skill

参考

  • references/protocol-workflow.md — 帧布局与 Protobuf 速查
  • 相关:../ida-reverse/ ../js-reverse/ ../firmware-pentest/ ../pentest-tools/

路由上下文

上游: MASTER-ROUTING R21 · routing.md 下游: 需客户端算法 → ida-reverse/js-reverse;需利用重放 → pentest-tools/api-security 同级: malware-analysis(C2 协议)、digital-forensics(流量取证)

任务完成自检

  • [ ] 是否还原了消息布局或状态机(而非只贴 hex)?
  • [ ] 是否有可复现解码命令?
  • [ ] 是否遵守 scope / 脱敏?
  • [ ] 是否回写 field-journal / 报告 Checklist?

Related by task

from this repository

More skills

All skills
zhaoxuya520
Community

api-security

Use for authorized security assessment of REST, GraphQL, WebSocket, or SOAP APIs, including discovery, authentication, authorization, rate-limit, and CI/CD testing.

installs
1
GitHub stars
43K
Updated
Sep 22
zhaoxuya520
Community

attack-chain

Use for authorized multi-stage attack-path planning and orchestration when a task spans reconnaissance, initial access, privilege escalation, lateral movement, or impact assessment. Route single-stage tasks directly to their specialist skill.

installs
1
GitHub stars
43K
Updated
Sep 22
zhaoxuya520
Community

binary-diff

跨版本符号迁移与二进制差分。当你有旧版本的符号/逆向结果,需要快速迁移到新版本时使用。 适用场景:内核缺 PDB 用旧版符号推导、程序更新后批量迁移函数名、应用更新后快速定位新偏移。 核心方法:用 LLM 做结构化差异比对,程序化输入输出,成本极低(200 函数 ~1 元)。 触发关键词:符号迁移、bindiff、跨版本、PDB 缺失、函数偏移迁移、symbol migration、binary diff、版本对比。

installs
1
GitHub stars
43K
Updated
Sep 22
zhaoxuya520
Community

binary-ninja-reverse

Use for authorized binary analysis in Binary Ninja, including HLIL/MLIL/LLIL inspection, strings/imports/exports, cross-references, types, patch review, Python API automation, and optional Binary Ninja MCP or localhost HTTP integration.

installs
1
GitHub stars
43K
Updated
Sep 22