REA 相关 GitHub 项目与实验室资源
选题后在 REA 子站 记录进度;优先选带 write-up 的 CTF/实验室题,便于对照方法论。
一、如何挑选练习项目
评估维度:
- 授权清晰:教学/CTF/自有样本
- 体量合适:刚开始避开巨型商业软件
- 有反馈:标准答案、write-up 或可验证输出
- 覆盖技能:静态 / 动态 / 协议至少练两类
二、工具与框架(上游)
| 项目 | 用途 | 学习焦点 |
|---|---|---|
| NationalSecurityAgency/ghidra | 反编译框架 | 自动分析、脚本 API |
| frida/frida | 动态插桩 | JS Hook、跨平台 |
| pxb1988/dex2jar / jadx | Android 反编译 | DEX/Smali 链路 |
| wireshark/wireshark | 协议分析 | 过滤与解复用 |
| Construct / Kaitai | 二进制解析 DSL | 结构描述可维护 |
安装与使用以各项目 README 为准,并校验发布物完整性。
三、练习题与课程型仓库(示例方向)
选择时搜索关键词(自行甄别许可协议):
crackme入门题(仅用于学习算法识别)malware-traffic-analysis类流量题(注意安全隔离)protobuf逆向练习android ssl pinning bypass lab(仅模拟器自有 App)
不要下载或运行来路不明的「真实恶意软件」样本,除非你有专业隔离环境与明确研究授权。
四、建议的 4 周练习路线
| 周 | 主题 | 交付 |
|---|---|---|
| 1 | Ghidra 还原 2 个 crackme 校验 | Python 重实现 + 测试向量 |
| 2 | x64dbg/GDB 动态追踪 | 调用链图 + 断点策略说明 |
| 3 | Frida Hook 自有 Demo App | Hook 脚本 + 观察日志 |
| 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(授权边界确认)
你在题库练习语境下处理与「授权边界确认」相关的任务,对象已授权。请提交结构化答卷:
- 事实三条(每条可追溯到 OBS 编号或哈希)。
- 假设两条(含作废条件),且彼此尽量互斥以便设计区分实验。
- 四小时内唯一实验:自变量、因变量、判据、噪声处理。
- 失败升级策略与合规提醒各一句。
通过线:未参与同事仅凭文字能理解并复现实验意图。不通过则更换样本家族后重做卡片 1,禁止复制旧答卷。本卡片聚焦「授权边界确认」,不要跑题去写无关工具安装故事。
情景卡片 2(黑盒输入矩阵)
你在题库练习语境下处理与「黑盒输入矩阵」相关的任务,对象已授权。请提交结构化答卷:
- 事实三条(每条可追溯到 OBS 编号或哈希)。
- 假设两条(含作废条件),且彼此尽量互斥以便设计区分实验。
- 四小时内唯一实验:自变量、因变量、判据、噪声处理。
- 失败升级策略与合规提醒各一句。
通过线:未参与同事仅凭文字能理解并复现实验意图。不通过则更换样本家族后重做卡片 2,禁止复制旧答卷。本卡片聚焦「黑盒输入矩阵」,不要跑题去写无关工具安装故事。
情景卡片 3(字符串 xref 导航)
你在题库练习语境下处理与「字符串 xref 导航」相关的任务,对象已授权。请提交结构化答卷:
- 事实三条(每条可追溯到 OBS 编号或哈希)。
- 假设两条(含作废条件),且彼此尽量互斥以便设计区 分实验。
- 四小时内唯一实验:自变量、因变量、判据、噪声处理。
- 失败升级策略与合规提醒各一句。
通过线:未参与同事仅凭文字能理解并复现实验意图。不通过则更换样本家族后重做卡片 3,禁止复制旧答卷。本卡片聚焦「字符串 xref 导航」,不要跑题去写无关工具安装故事。
情景卡片 4(长度字段差分)
你在题库练习语境下处理与「长度字段差分」相关的任务,对象已授权。请提交结构化答卷:
- 事实三条(每条可追溯到 OBS 编号或哈希)。
- 假设两条(含作废条件),且彼此尽量互斥以便设计区分实验。
- 四小时内唯一实验:自变量、因变量、判据、噪声处理。
- 失败升级策略与合规提醒各一句。
通过线:未参与同事仅凭文字能理解并复现实验意图。不通过则更换样本家族后重做卡片 4,禁止复制旧答卷。本卡片聚焦「长度字段差分」,不要跑题去写无关工具安装故事。
情景卡片 5(endian 判定)
你在题库练习语境下处理与「endian 判定」相关的任务,对象已授权。请提交结构化答卷:
- 事实三条(每条可追溯到 OBS 编号或哈希)。
- 假设两条(含作废条件),且彼此尽量互斥以便设计区分实验。
- 四小时内唯一实验:自变量、因变量、判据、噪声处理。
- 失败升级策略与合规提醒各一句。
通过线:未参与同事仅凭文字能理解并复现实验意图。不通过则更换样本家族后重做卡片 5,禁止复制旧答卷。本卡片聚焦「endian 判定」,不要跑题去写无关工具安装故事。
情景卡片 6(校验范围识别)
你在题库练习语境下处理与「校验范围识别」相关的任务,对象已授权。请提交结构化答卷:
- 事实三条(每条可追溯到 OBS 编号或哈希)。
- 假设两条(含作废条件),且彼此尽量互斥以便设计区分实验。
- 四小时内唯一实验:自变量、因变量、判据、噪声处理。
- 失败升级策略与合规提醒各一句。
通过线:未参与同事仅凭文字能理解并复现实验意图。不通过则更换样本家族后重做卡片 6,禁止复制旧答卷。本卡片聚焦「校验范围识别」,不要跑题去写无关工具安装故事。
情景卡片 7(错误码字典)
你在题库练习语境下处理与「错误码字典」相关的任务,对象已授权。请提交结构化答卷:
- 事实三条(每条可追溯 到 OBS 编号或哈希)。
- 假设两条(含作废条件),且彼此尽量互斥以便设计区分实验。
- 四小时内唯一实验:自变量、因变量、判据、噪声处理。
- 失败升级策略与合规提醒各一句。
通过线:未参与同事仅凭文字能理解并复现实验意图。不通过则更换样本家族后重做卡片 7,禁止复制旧答卷。本卡片聚焦「错误码字典」,不要跑题去写无关工具安装故事。
情景卡片 8(状态机快乐路径)
你在题库练习语境下处理与「状态机快乐路径」相关的任务,对象已授权。请提交结构化答卷:
- 事实三条(每条可追溯到 OBS 编号或哈希)。
- 假设两条(含作废条件),且彼此尽量互斥以便设计区分实验。
- 四小时内唯一实验:自变量、因变量、判据、噪声处理。
- 失败升级策略与合规提醒各一句。
通过线:未参与同事仅凭文字能理解并复现实验意图。不通过则更换样本家族后重做卡片 8,禁止复制旧答卷。本卡片聚焦「状态机快乐路径」,不要跑题去写无关工具安装故事。
情景卡片 9(状态机错误边)
你在题库练习语境下处理与「状态机错误边」相关的任 务,对象已授权。请提交结构化答卷:
- 事实三条(每条可追溯到 OBS 编号或哈希)。
- 假设两条(含作废条件),且彼此尽量互斥以便设计区分实验。
- 四小时内唯一实验:自变量、因变量、判据、噪声处理。
- 失败升级策略与合规提醒各一句。
通过线:未参与同事仅凭文字能理解并复现实验意图。不通过则更换样本家族后重做卡片 9,禁止复制旧答卷。本卡片聚焦「状态机错误边」,不要跑题去写无关工具安装故事。
情景卡片 10(Hook 日志对齐)
你在题库练习语境下处理与「Hook 日志对齐」相关的任务,对象已授权。请提交结构化答卷:
- 事实三条(每条可追溯到 OBS 编号或哈希)。
- 假设两条(含作废条件),且彼此尽量互斥以便设计区分实验。
- 四小时内唯一实验:自变量、因变量、判据、噪声处理。
- 失败升级策略与合规提醒各一句。
通过线:未参与同事仅凭文字能理解并复现实验意图。不通过则更换样本家族后重做卡片 10,禁止复制旧答卷。本卡片聚焦「Hook 日志对齐」,不要跑题去写无关工具安装故事。
情景卡片 11(抓包噪声掩码)
你在题库练习语境下处理与「抓包噪声掩码」相关的任务,对象已授权。请提交结构化答卷:
- 事实三条(每条可追溯到 OBS 编号或哈希)。
- 假设两条(含作废条件),且彼此尽量互斥以便设计区分实验。
- 四小时内唯一实验:自变量、因变量、判据、噪声处理。
- 失败升级策略与合规提醒各一句。
通过线:未参与同事仅凭文字能理解并复现实验意图。不通过则更换样本家族后重做卡片 11,禁止复制旧答卷。本卡片聚焦「抓包噪声掩码」,不要跑题去写无关工具安装故事。
情景卡片 12(解析器单测)
你在题库练习语境下处理与「解析器单测」相关的任务,对象已授权。请提交结构化答卷:
- 事实三条(每条可追溯到 OBS 编号或哈希)。
- 假设两条(含作废条件),且彼此尽量互斥以便设计区分实验。
- 四小时内唯一实验:自变量、因变量、判据、噪声处理。
- 失败升级策略与合规提醒各一句。
通过线:未参与同事仅凭文字能理解并复现实验意图。不通过则更换样本家族后重做卡片 12,禁止复制旧答卷。本卡片聚焦「解析器单测」,不要跑题去写无关工具安装故事。
情景卡片 13(黄金向量沉淀)
你在题库练习语境下处理与「黄金向量沉淀」相关的任务,对象已授权。请提交结构化答卷:
- 事实三条(每条可追溯到 OBS 编号或哈希)。
- 假设两条(含作废条件),且彼此尽量互斥以便设计区分实验。
- 四小时内唯一实验:自变量、因变量、判据、噪声处理。
- 失败升级策略与合规提醒各一句。
通过线:未参与同事仅凭文字能理解并复现实验意图。不通过则更换样本家族后重做卡片 13,禁止复制旧答卷。本卡片聚焦「黄金向量沉淀」,不要跑题去写无关工具安装故事。
情景卡片 14(未知清单评审)
你在题库练习语境下处理与「未知清单评审」相关的任务,对象已授权。请提交结构化答卷:
- 事实三条(每条可追溯到 OBS 编号或哈希)。
- 假设两条(含作废条件),且彼此尽量互斥以便设计区分实验。
- 四小时内唯一实验:自变量、因变量、判据、噪声处理。
- 失败升级策略与合规提醒各一句。
通过线:未参与同事仅凭文字能理解并复现实验意图。不通过则更换样本家族后重做卡片 14,禁止复制旧答卷。本卡片聚焦「未知清单评审」,不要跑题去写无关工具安装故事。