跳到主要内容

REA 快速开始

七天实战

环境就绪后,打开 REA 七天子站 的「学习」与「实验室」页,按 Day1–Day2 节奏练习。

目标​

在 60–90 分钟内完成:

  1. 组装最小工具链(分析机 + 隔离靶标)
  2. 对一个未知 CLI 做黑盒观察并画出模型图
  3. 用十六进制与 Ghidra 打开一个未加壳样本,找到入口与字符串

一、实验室拓扑(推荐)​

硬性要求:

  • 靶标虚拟机可快照;样本目录与互联网默认隔离。
  • 不在生产机直接运行未知二进制。
  • Windows / Linux 至少准备一个;Android 可用模拟器。

二、工具链最小集​

2.1 必装​

类别推荐用途
反编译Ghidra静态分析主战场
十六进制ImHex / wxHexEditor看魔数与结构
调试GDB+pwndbg 或 x64dbg动态验证
抓包Wireshark协议
脚本Python 3.11+重写算法/解析

2.2 按需​

  • Android:apktool、jadx、Frida
  • 网络 MITM:mitmproxy
  • 模拟执行:Unicorn(进阶)

安装示例(Linux 分析机):

# 仅示意:按发行版调整
sudo apt update
sudo apt install -y gdb wireshark python3-pip python3-venv
# Ghidra:从官方发布页下载发行包并校验校验和
python3 -m venv ~/rea-venv && source ~/rea-venv/bin/activate
pip install construct pwntools frida-tools
备注

务必校验下载包的哈希与签名。供应链攻击的第一步,常常是「装错工具」。


三、第一个实验:黑盒 CLI​

3.1 步骤​

  1. 准备一个无文档练习 CLI(子站实验室提供,或自写 stub)。
  2. 运行:无参数、-h、--help、非法参数、边界长度输入。
  3. 记录:stdout/stderr、退出码、是否读环境变量、是否联网。
  4. 画出黑盒模型:输入面 / 处理假设 / 输出面。

3.2 记录模板​

样本:cli-unknown-01
观察:
- 无参退出码 2,stderr: "usage: ..."
- --timeout 数字改变等待时间
假设:
- argv[1] 为子命令;--timeout 为秒级整数
实验:
- --timeout=0 / 负数 / 非数字
验证:
- 非数字 → 退出码 2;0 → 立即返回

四、第二个实验:打开二进制​

4.1 识别格式​

file sample.bin
xxd -g 1 -l 64 sample.bin

常见魔数:

魔数格式
4D 5APE (MZ)
7F 45 4C 46ELF
CF FA ED FE 等Mach-O

4.2 Ghidra 最小流程​

  1. 新建 Project → Import File → 自动分析
  2. Symbol Tree 找 entry / main
  3. Defined Strings 搜索报错文案
  4. 对字符串做 References → 跳到引用函数
  5. 在 Listing / Decompiler 对照阅读

4.3 验收标准​

  • 能指出:格式、位数、是否 strip、入口地址
  • 能列出:至少 5 个有意义字符串及其引用函数
  • 能用一句话描述:程序「看起来在做什么」

五、差分分析入门(协议/参数通用)​

控制单一变量:

轮次输入变化观察
A用户名 alice报文基线
B用户名 bob哪些字节变了
C密码变、用户名不变另一组变化字节

把「变的字节」标成字段候选,再设计长度/类型实验确认。


六、安全操作检查表(每次开干前)​

  • 样本来源合法 / 授权文件已存档
  • 虚拟机快照已创建
  • 网络策略:默认断外网
  • 分析笔记目录与样本哈希已记录
  • 不上传未脱敏样本到公共 LLM

七、与七天课表的衔接​


八、故障排查​

现象可能原因处理
Ghidra 分析极慢大文件/固件镜像只导入相关段,关闭部分 analyzer
调试器附加失败权限/反调试先确认权限;反调试见进阶章
Wireshark 看不到流量抓错网卡/命名空间在靶标同网卡抓;容器注意 veth
Frida 注入失败SELinux/版本不匹配对齐设备架构与 frida-server 版本

深度扩展:快速开始​

原则 1​

在实验室搭建工作流里,先建立样本哈希索引与授权编号,再允许任何动态动作;顺序反了会把风险前置。

落地动作 1(快速开始):针对当前对象写一条笔记,含证据链接,并预约下一个九十分钟块的单变量实验,实验标题必须出现自变量名称。

原则 2​

实验室搭建的观察阶段要同时记录功能行为与副作用,例如落盘路径、环境变量、网络目的地,副作用经常比主输出更接近真模型。

落地动作 2(快速开始):针对当前对象写一条笔记,含证据链接,并预约下一个九十分钟块的单变量实验,实验标题必须出现自变量名称。

原则 3​

为实验室搭建写假设时使用「若…则…否则作废」句式,并把作废条件交给实验设计者(可以是明天的你)。

落地动作 3(快速开始):针对当前对象写一条笔记,含证据链接,并预约下一个九十分钟块的单变量实验,实验标题必须出现自变量名称。

原则 4​

实验室搭建差分实验一次只扰动一个自变量,标题里写明自变量,笔记里写明预期字节级变化区域。

落地动作 4(快速开始):针对当前对象写一条笔记,含证据链接,并预约下一个九十分钟块的单变量实验,实验标题必须出现自变量名称。

原则 5​

验证实验室搭建时优先独立实现关键算法或解析路径,测试向量来自真实捕获并完成脱敏。

落地动作 5(快速开始):针对当前对象写一条笔记,含证据链接,并预约下一个九十分钟块的单变量实验,实验标题必须出现自变量名称。

原则 6​

实验室搭建相关工具选型按不确定性类型:格式、逻辑、运行时、协议四类分别对应不同最小工具,避免堆叠 GUI。

落地动作 6(快速开始):针对当前对象写一条笔记,含证据链接,并预约下一个九十分钟块的单变量实验,实验标题必须出现自变量名称。

原则 7​

在实验室搭建交付物中强制出现未知清单与合规扉页;缺一则状态只能是草稿,不能是可评审。

落地动作 7(快速开始):针对当前对象写一条笔记,含证据链接,并预约下一个九十分钟块的单变量实验,实验标题必须出现自变量名称。

原则 8​

实验室搭建时间管理使用九十分钟块,块结束必须产生新事实或阻塞票,禁止无产物延长。

落地动作 8(快速开始):针对当前对象写一条笔记,含证据链接,并预约下一个九十分钟块的单变量实验,实验标题必须出现自变量名称。

原则 9​

面对实验室搭建卡关,先缩小假设粒度,再切换信息源,再做反证,三板斧用尽才考虑升级重工具。

落地动作 9(快速开始):针对当前对象写一条笔记,含证据链接,并预约下一个九十分钟块的单变量实验,实验标题必须出现自变量名称。

原则 10​

与团队协作实验室搭建时统一 IR 与字段表模板,减少方言;评审会议只讨论风险与决策,不现场表演操作。

落地动作 10(快速开始):针对当前对象写一条笔记,含证据链接,并预约下一个九十分钟块的单变量实验,实验标题必须出现自变量名称。

原则 11​

实验室搭建与 AI 辅助结合时,模型只可接触脱敏材料,关键结论必须人工签字与向量验证。

落地动作 11(快速开始):针对当前对象写一条笔记,含证据链接,并预约下一个九十分钟块的单变量实验,实验标题必须出现自变量名称。

原则 12​

将实验室搭建中可迁移检查表沉淀到个人 Wiki,并给模板打版本号,下个项目直接复用而不是从空白开始。

落地动作 12(快速开始):针对当前对象写一条笔记,含证据链接,并预约下一个九十分钟块的单变量实验,实验标题必须出现自变量名称。

原则 13​

做实验室搭建时把「第二产物」当作一等公民:字段表、解析器、回归向量、未知清单,四者缺一就难交接。

落地动作 13(快速开始):针对当前对象写一条笔记,含证据链接,并预约下一个九十分钟块的单变量实验,实验标题必须出现自变量名称。

原则 14​

若实验室搭建涉及多版本对象,先建兼容性矩阵,再写解析策略表,避免深层 if-else 泥潭。

落地动作 14(快速开始):针对当前对象写一条笔记,含证据链接,并预约下一个九十分钟块的单变量实验,实验标题必须出现自变量名称。

原则 15​

在实验室搭建演示与汇报中先讲边界与风险,再讲细节,让决策者获得可行动信息。

落地动作 15(快速开始):针对当前对象写一条笔记,含证据链接,并预约下一个九十分钟块的单变量实验,实验标题必须出现自变量名称。

专题:排障即观察​

环境问题同样记录 OBS,坑位进入团队 Wiki。

专题:预期字段​

没有预期的运行是闲逛;预期与实际之差才是信息增益。

专题:差分涂色​

标注稳定区、长度候选、校验候选、噪声区,便于沟通。

情景卡片 1(授权边界确认)​

你在实验室搭建语境下处理与「授权边界确认」相关的任务,对象已授权。请提交结构化答卷:

  1. 事实三条(每条可追溯到 OBS 编号或哈希)。
  2. 假设两条(含作废条件),且彼此尽量互斥以便设计区分实验。
  3. 四小时内唯一实验:自变量、因变量、判据、噪声处理。
  4. 失败升级策略与合规提醒各一句。

通过线:未参与同事仅凭文字能理解并复现实验意图。不通过则更换样本家族后重做卡片 1,禁止复制旧答卷。本卡片聚焦「授权边界确认」,不要跑题去写无关工具安装故事。

情景卡片 2(黑盒输入矩阵)​

你在实验室搭建语境下处理与「黑盒输入矩阵」相关的任务,对象已授权。请提交结构化答卷:

  1. 事实三条(每条可追溯到 OBS 编号或哈希)。
  2. 假设两条(含作废条件),且彼此尽量互斥以便设计区分实验。
  3. 四小时内唯一实验:自变量、因变量、判据、噪声处理。
  4. 失败升级策略与合规提醒各一句。

通过线:未参与同事仅凭文字能理解并复现实验意图。不通过则更换样本家族后重做卡片 2,禁止复制旧答卷。本卡片聚焦「黑盒输入矩阵」,不要跑题去写无关工具安装故事。

情景卡片 3(字符串 xref 导航)​

你在实验室搭建语境下处理与「字符串 xref 导航」相关的任务,对象已授权。请提交结构化答卷:

  1. 事实三条(每条可追溯到 OBS 编号或哈希)。
  2. 假设两条(含作废条件),且彼此尽量互斥以便设计区分实验。
  3. 四小时内唯一实验:自变量、因变量、判据、噪声处理。
  4. 失败升级策略与合规提醒各一句。

通过线:未参与同事仅凭文字能理解并复现实验意图。不通过则更换样本家族后重做卡片 3,禁止复制旧答卷。本卡片聚焦「字符串 xref 导航」,不要跑题去写无关工具安装故事。

情景卡片 4(长度字段差分)​

你在实验室搭建语境下处理与「长度字段差分」相关的任务,对象已授权。请提交结构化答卷:

  1. 事实三条(每条可追溯到 OBS 编号或哈希)。
  2. 假设两条(含作废条件),且彼此尽量互斥以便设计区分实验。
  3. 四小时内唯一实验:自变量、因变量、判据、噪声处理。
  4. 失败升级策略与合规提醒各一句。

通过线:未参与同事仅凭文字能理解并复现实验意图。不通过则更换样本家族后重做卡片 4,禁止复制旧答卷。本卡片聚焦「长度字段差分」,不要跑题去写无关工具安装故事。

情景卡片 5(endian 判定)​

你在实验室搭建语境下处理与「endian 判定」相关的任务,对象已授权。请提交结构化答卷:

  1. 事实三条(每条可追溯到 OBS 编号或哈希)。
  2. 假设两条(含作废条件),且彼此尽量互斥以便设计区分实验。
  3. 四小时内唯一实验:自变量、因变量、判据、噪声处理。
  4. 失败升级策略与合规提醒各一句。

通过线:未参与同事仅凭文字能理解并复现实验意图。不通过则更换样本家族后重做卡片 5,禁止复制旧答卷。本卡片聚焦「endian 判定」,不要跑题去写无关工具安装故事。

情景卡片 6(校验范围识别)​

你在实验室搭建语境下处理与「校验范围识别」相关的任务,对象已授权。请提交结构化答卷:

  1. 事实三条(每条可追溯到 OBS 编号或哈希)。
  2. 假设两条(含作废条件),且彼此尽量互斥以便设计区分实验。
  3. 四小时内唯一实验:自变量、因变量、判据、噪声处理。
  4. 失败升级策略与合规提醒各一句。

通过线:未参与同事仅凭文字能理解并复现实验意图。不通过则更换样本家族后重做卡片 6,禁止复制旧答卷。本卡片聚焦「校验范围识别」,不要跑题去写无关工具安装故事。

情景卡片 7(错误码字典)​

你在实验室搭建语境下处理与「错误码字典」相关的任务,对象已授权。请提交结构化答卷:

  1. 事实三条(每条可追溯到 OBS 编号或哈希)。
  2. 假设两条(含作废条件),且彼此尽量互斥以便设计区分实验。
  3. 四小时内唯一实验:自变量、因变量、判据、噪声处理。
  4. 失败升级策略与合规提醒各一句。

通过线:未参与同事仅凭文字能理解并复现实验意图。不通过则更换样本家族后重做卡片 7,禁止复制旧答卷。本卡片聚焦「错误码字典」,不要跑题去写无关工具安装故事。

情景卡片 8(状态机快乐路径)​

你在实验室搭建语境下处理与「状态机快乐路径」相关的任务,对象已授权。请提交结构化答卷:

  1. 事实三条(每条可追溯到 OBS 编号或哈希)。
  2. 假设两条(含作废条件),且彼此尽量互斥以便设计区分实验。
  3. 四小时内唯一实验:自变量、因变量、判据、噪声处理。
  4. 失败升级策略与合规提醒各一句。

通过线:未参与同事仅凭文字能理解并复现实验意图。不通过则更换样本家族后重做卡片 8,禁止复制旧答卷。本卡片聚焦「状态机快乐路径」,不要跑题去写无关工具安装故事。

情景卡片 9(状态机错误边)​

你在实验室搭建语境下处理与「状态机错误边」相关的任务,对象已授权。请提交结构化答卷:

  1. 事实三条(每条可追溯到 OBS 编号或哈希)。
  2. 假设两条(含作废条件),且彼此尽量互斥以便设计区分实验。
  3. 四小时内唯一实验:自变量、因变量、判据、噪声处理。
  4. 失败升级策略与合规提醒各一句。

通过线:未参与同事仅凭文字能理解并复现实验意图。不通过则更换样本家族后重做卡片 9,禁止复制旧答卷。本卡片聚焦「状态机错误边」,不要跑题去写无关工具安装故事。

情景卡片 10(Hook 日志对齐)​

你在实验室搭建语境下处理与「Hook 日志对齐」相关的任务,对象已授权。请提交结构化答卷:

  1. 事实三条(每条可追溯到 OBS 编号或哈希)。
  2. 假设两条(含作废条件),且彼此尽量互斥以便设计区分实验。
  3. 四小时内唯一实验:自变量、因变量、判据、噪声处理。
  4. 失败升级策略与合规提醒各一句。

通过线:未参与同事仅凭文字能理解并复现实验意图。不通过则更换样本家族后重做卡片 10,禁止复制旧答卷。本卡片聚焦「Hook 日志对齐」,不要跑题去写无关工具安装故事。

情景卡片 11(抓包噪声掩码)​

你在实验室搭建语境下处理与「抓包噪声掩码」相关的任务,对象已授权。请提交结构化答卷:

  1. 事实三条(每条可追溯到 OBS 编号或哈希)。
  2. 假设两条(含作废条件),且彼此尽量互斥以便设计区分实验。
  3. 四小时内唯一实验:自变量、因变量、判据、噪声处理。
  4. 失败升级策略与合规提醒各一句。

通过线:未参与同事仅凭文字能理解并复现实验意图。不通过则更换样本家族后重做卡片 11,禁止复制旧答卷。本卡片聚焦「抓包噪声掩码」,不要跑题去写无关工具安装故事。

情景卡片 12(解析器单测)​

你在实验室搭建语境下处理与「解析器单测」相关的任务,对象已授权。请提交结构化答卷:

  1. 事实三条(每条可追溯到 OBS 编号或哈希)。
  2. 假设两条(含作废条件),且彼此尽量互斥以便设计区分实验。
  3. 四小时内唯一实验:自变量、因变量、判据、噪声处理。
  4. 失败升级策略与合规提醒各一句。

通过线:未参与同事仅凭文字能理解并复现实验意图。不通过则更换样本家族后重做卡片 12,禁止复制旧答卷。本卡片聚焦「解析器单测」,不要跑题去写无关工具安装故事。

情景卡片 13(黄金向量沉淀)​

你在实验室搭建语境下处理与「黄金向量沉淀」相关的任务,对象已授权。请提交结构化答卷:

  1. 事实三条(每条可追溯到 OBS 编号或哈希)。
  2. 假设两条(含作废条件),且彼此尽量互斥以便设计区分实验。
  3. 四小时内唯一实验:自变量、因变量、判据、噪声处理。
  4. 失败升级策略与合规提醒各一句。

通过线:未参与同事仅凭文字能理解并复现实验意图。不通过则更换样本家族后重做卡片 13,禁止复制旧答卷。本卡片聚焦「黄金向量沉淀」,不要跑题去写无关工具安装故事。

情景卡片 14(未知清单评审)​

你在实验室搭建语境下处理与「未知清单评审」相关的任务,对象已授权。请提交结构化答卷:

  1. 事实三条(每条可追溯到 OBS 编号或哈希)。
  2. 假设两条(含作废条件),且彼此尽量互斥以便设计区分实验。
  3. 四小时内唯一实验:自变量、因变量、判据、噪声处理。
  4. 失败升级策略与合规提醒各一句。

通过线:未参与同事仅凭文字能理解并复现实验意图。不通过则更换样本家族后重做卡片 14,禁止复制旧答卷。本卡片聚焦「未知清单评审」,不要跑题去写无关工具安装故事。

情景卡片 15(降级交付切片)​

你在实验室搭建语境下处理与「降级交付切片」相关的任务,对象已授权。请提交结构化答卷:

  1. 事实三条(每条可追溯到 OBS 编号或哈希)。
  2. 假设两条(含作废条件),且彼此尽量互斥以便设计区分实验。
  3. 四小时内唯一实验:自变量、因变量、判据、噪声处理。
  4. 失败升级策略与合规提醒各一句。

通过线:未参与同事仅凭文字能理解并复现实验意图。不通过则更换样本家族后重做卡片 15,禁止复制旧答卷。本卡片聚焦「降级交付切片」,不要跑题去写无关工具安装故事。

情景卡片 16(工具版本钉扎)​

你在实验室搭建语境下处理与「工具版本钉扎」相关的任务,对象已授权。请提交结构化答卷:

  1. 事实三条(每条可追溯到 OBS 编号或哈希)。
  2. 假设两条(含作废条件),且彼此尽量互斥以便设计区分实验。
  3. 四小时内唯一实验:自变量、因变量、判据、噪声处理。
  4. 失败升级策略与合规提醒各一句。

通过线:未参与同事仅凭文字能理解并复现实验意图。不通过则更换样本家族后重做卡片 16,禁止复制旧答卷。本卡片聚焦「工具版本钉扎」,不要跑题去写无关工具安装故事。

情景卡片 17(双人假设攻击)​

你在实验室搭建语境下处理与「双人假设攻击」相关的任务,对象已授权。请提交结构化答卷:

  1. 事实三条(每条可追溯到 OBS 编号或哈希)。
  2. 假设两条(含作废条件),且彼此尽量互斥以便设计区分实验。
  3. 四小时内唯一实验:自变量、因变量、判据、噪声处理。
  4. 失败升级策略与合规提醒各一句。

通过线:未参与同事仅凭文字能理解并复现实验意图。不通过则更换样本家族后重做卡片 17,禁止复制旧答卷。本卡片聚焦「双人假设攻击」,不要跑题去写无关工具安装故事。

情景卡片 18(LLM 草稿审查)​

你在实验室搭建语境下处理与「LLM 草稿审查」相关的任务,对象已授权。请提交结构化答卷:

  1. 事实三条(每条可追溯到 OBS 编号或哈希)。
  2. 假设两条(含作废条件),且彼此尽量互斥以便设计区分实验。
  3. 四小时内唯一实验:自变量、因变量、判据、噪声处理。
  4. 失败升级策略与合规提醒各一句。

通过线:未参与同事仅凭文字能理解并复现实验意图。不通过则更换样本家族后重做卡片 18,禁止复制旧答卷。本卡片聚焦「LLM 草稿审查」,不要跑题去写无关工具安装故事。

情景卡片 19(演示彩排)​

你在实验室搭建语境下处理与「演示彩排」相关的任务,对象已授权。请提交结构化答卷:

  1. 事实三条(每条可追溯到 OBS 编号或哈希)。
  2. 假设两条(含作废条件),且彼此尽量互斥以便设计区分实验。
  3. 四小时内唯一实验:自变量、因变量、判据、噪声处理。
  4. 失败升级策略与合规提醒各一句。

通过线:未参与同事仅凭文字能理解并复现实验意图。不通过则更换样本家族后重做卡片 19,禁止复制旧答卷。本卡片聚焦「演示彩排」,不要跑题去写无关工具安装故事。

情景卡片 20(失败资产归档)​

你在实验室搭建语境下处理与「失败资产归档」相关的任务,对象已授权。请提交结构化答卷:

  1. 事实三条(每条可追溯到 OBS 编号或哈希)。
  2. 假设两条(含作废条件),且彼此尽量互斥以便设计区分实验。
  3. 四小时内唯一实验:自变量、因变量、判据、噪声处理。
  4. 失败升级策略与合规提醒各一句。

通过线:未参与同事仅凭文字能理解并复现实验意图。不通过则更换样本家族后重做卡片 20,禁止复制旧答卷。本卡片聚焦「失败资产归档」,不要跑题去写无关工具安装故事。

章末自测:快速开始​

  1. 写出本章对你改变最大的一条原则,并给出反例故事。
  2. 列出即将执行的子站实验与成功判据。
  3. 更新个人 Wiki 模板版本号,记录本次新增字段。
  4. 检查授权是否覆盖你计划中的动态修改行为。
  5. 将未知清单按业务风险排序,取前两项安排本周处理。

导航:入门 · 快速开始 · 开发 · GitHub · 实践 · FAQ · 从零到一 · 子站