跳到主要内容

REA 相关 GitHub 项目与实验室资源

七天实战

选题后在 REA 子站 记录进度;优先选带 write-up 的 CTF/实验室题,便于对照方法论。

一、如何挑选练习项目​

评估维度:

  1. 授权清晰:教学/CTF/自有样本
  2. 体量合适:刚开始避开巨型商业软件
  3. 有反馈:标准答案、write-up 或可验证输出
  4. 覆盖技能:静态 / 动态 / 协议至少练两类

二、工具与框架(上游)​

项目用途学习焦点
NationalSecurityAgency/ghidra反编译框架自动分析、脚本 API
frida/frida动态插桩JS Hook、跨平台
pxb1988/dex2jar / jadxAndroid 反编译DEX/Smali 链路
wireshark/wireshark协议分析过滤与解复用
Construct / Kaitai二进制解析 DSL结构描述可维护

安装与使用以各项目 README 为准,并校验发布物完整性。


三、练习题与课程型仓库(示例方向)​

选择时搜索关键词(自行甄别许可协议):

  • crackme 入门题(仅用于学习算法识别)
  • malware-traffic-analysis 类流量题(注意安全隔离)
  • protobuf 逆向练习
  • android ssl pinning bypass lab(仅模拟器自有 App)
注意

不要下载或运行来路不明的「真实恶意软件」样本,除非你有专业隔离环境与明确研究授权。


四、建议的 4 周练习路线​

周主题交付
1Ghidra 还原 2 个 crackme 校验Python 重实现 + 测试向量
2x64dbg/GDB 动态追踪调用链图 + 断点策略说明
3Frida Hook 自有 Demo AppHook 脚本 + 观察日志
4私有协议差分字段表 + 重放脚本

五、开源贡献与笔记公开​

可公开:方法论、自写 stub、脱敏字段表、脚本框架。
勿公开:未授权目标的利用细节、客户样本、可直接滥用的完整 exploit。

推荐笔记结构:

notes/
sample-id/
hashes.txt
model.md
scripts/
evidence/

六、与本站其他课程协同​

  • Hermes Agent:工具调用协议的「正向」侧,可与协议逆向对照
  • MCP:自定义 Tool 传输格式设计
  • AI 安全:提示注入与供应链视角
  • 模型服务:推理服务二进制与依赖审计

七、实验室评分参考(自评)​

等级标准
Pass能复现现象并给出可证伪假设
Good有脚本/字段表,他人可复跑
Excellent有反证实验、边界说明与未知清单

深度扩展:开源项目​

原则 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(开源项目):针对当前对象写一条笔记,含证据链接,并预约下一个九十分钟块的单变量实验,实验标题必须出现自变量名称。

专题:writeup 三色法​

绿黄红标注,只迁移红色技巧。

专题:贡献话术​

最小复现+脱敏+是否愿意 PR。

专题:公开红线​

无客户数据、无未授权目标细节。

情景卡片 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,禁止复制旧答卷。本卡片聚焦「失败资产归档」,不要跑题去写无关工具安装故事。

情景卡片 21(导入表速览)​

你在题库练习语境下处理与「导入表速览」相关的任务,对象已授权。请提交结构化答卷:

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

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

情景卡片 22(资源段排查)​

你在题库练习语境下处理与「资源段排查」相关的任务,对象已授权。请提交结构化答卷:

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

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

情景卡片 23(超时行为归因)​

你在题库练习语境下处理与「超时行为归因」相关的任务,对象已授权。请提交结构化答卷:

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

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

情景卡片 24(配置键探测)​

你在题库练习语境下处理与「配置键探测」相关的任务,对象已授权。请提交结构化答卷:

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

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

情景卡片 25(会话固定字段)​

你在题库练习语境下处理与「会话固定字段」相关的任务,对象已授权。请提交结构化答卷:

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

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

情景卡片 26(截断帧测试)​

你在题库练习语境下处理与「截断帧测试」相关的任务,对象已授权。请提交结构化答卷:

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

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

章末自测:开源项目​

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

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