Skip to content
Skillpedia
Misc48k · #3918

protocol-reverse

Allows your agent to analyze custom communication protocols. It deciphers data to understand how systems exchange information.

What it does

This tool helps understand how programs communicate, even when the rules aren't clear. It analyzes network data to uncover the structure and meaning of exchanged messages.

When to use it

  • ✓When you have communication data from a program but don't know how it works.
  • ✓To document how a program sends and receives information.
  • ✓When analyzing network traffic to understand specific interactions.

Example of what to ask your AI

“Analyze this network capture file and tell me how the data is structured.”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/protocol-reverse/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/protocol-reverse/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

The tool examines communication data, looking for patterns and repeating structures. It tries to identify where information begins and ends, and what each part means.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

npx skills add sickn33/agentic-awesome-skills --skill protocol-reverse

Or download just the file:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/protocol-reverse/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

Protocol Reverse Engineering

When to Use

  • Documenting an undocumented wire protocol from captures.
  • Decoding structured traffic during an authorized analysis.

适用场景

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

不走本 skill

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

工作流

Phase 1 — 采集与分诊

□ 拿到样本: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 — 帧布局还原

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

Phase 3 — 序列化与加密

□ 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 — 产物

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

工具链

工具 必需 用途 自举
tshark / Wireshark 强烈建议 PCAP 解析 手动 / winget
Python3 是 解码脚本 系统
blackboxprotobuf 可选 未知 protobuf pip
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?

Limitations

  • Encrypted or session-keyed protocols need key material first.
  • Stateful protocols may require long, varied capture sessions.

Adapted from zhaoxuya520/reverse-skill (MIT).

FAQ

What is 'protocol reverse engineering'?

It's the process of figuring out how a program communicates with others, without having the original manual or instructions.

Do I need to know how to program to use this?

No, this tool is designed to be used even without programming knowledge. It simplifies the analysis for you.

What is 'network data'?

It's the information that travels between computers or programs over the internet or a local network.

Details

Original description by the author

Authorized reverse engineering of custom binary protocols, Protobuf/gRPC schemas, WebSocket frames, and PCAP-driven protocol recovery.

repo: sickn33/agentic-awesome-skills

Popularity

GitHub stars
48k
Ranking position
#3918
License
MIT
Updated
10/15/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills