REMath/literature_review · 上手攻略
- 仓库:REMath/literature_review
- 链接:https://github.com/REMath/literature_review
- 分类:academic-survey / binary-analysis / literature-aggregation
- 作者:spark
- 更新:2026-08-16
是什么
REMath/literature_review 是一份 机器码程序分析(program analysis on machine code) 领域的文献综述仓库,存在于 master 分支。仓库根目录是一个 GitHub Pages 索引页(README 直接渲染成网页),下挂若干 .org 文件(Emacs Org-mode 格式),按子主题分文件——例如 mechanization_of_exploits.org(exploit 机制化)——每个文件是一份带超链接的论文/工具清单。
它不是软件、没有可执行代码、没有依赖安装。它是作者维护多年的"领域阅读清单 + 工具导航",类似一个常年更新的 research reading list,跨 binary analysis、symbolic execution、decompilation、IR 设计、protocol reverse engineering 等多条主线。
底层维护者与 REduce/Math/靠谱学术圈有关(仓库 owner REMath),围绕 PLDI/SOSP/USENIX Security 圈经典工具。
解决什么问题
- 二进制分析(binary analysis)这个领域跨度极大:覆盖汇编 IR、符号执行、污点分析、decoding、firmware 分析、协议逆向等,工具链零散,新人入门没有公认"canonical reading list"。
- 主流学术综述(SOSP/PLDI 的 tutorial)几年才更新一次,本仓作为 GitHub 仓库可以 PR 修正与追加。
- 把"工具 + 论文 + 博客"三类资源组织在同一份 org 文件里,方便交叉引用(不像传统 BibTeX 只列论文)。
- 在 binary 分析方向做研究/工程选型时,5 分钟内查到一个工具的"上游论文 + 源码 + 后续 fork"。
快速安装
无需安装——直接读 GitHub Pages:
# 浏览器直接访问
https://github.com/REMath/literature_review
# 或者 clone 本地查看 .org 源文件
git clone https://github.com/REMath/literature_review.git
cd literature_review
ls *.org
依赖:仅 git + 浏览器/emacs(可选,用来看 org 格式)。
⚠️ 仓库本身没有 requirements.txt / package.json / Cargo.toml 等任何依赖清单。
核心用法
用法 1:直接当 reading list
打开 GitHub Pages 渲染页,按目录点击链接。每个条目格式典型为:
** Angr: binary analysis platform
- Paper: <<对应论文链接>>
- Code: http://angr.io/
- Note: 集成了 VEX IR + symbolic execution + CFG recovery
用法 2:按主题深入
| 主题 | 对应 .org 文件 | 典型工具/论文 |
|---|---|---|
| 漏洞机制化 | mechanization_of_exploits.org |
Moflow、SAGE whitebox fuzzing |
| 反编译/IR | (主清单) | BAP、Vine、Dagger、REIL、BIL |
| 符号执行 | (主清单) | KLEE、Angr、Triton、Fuzzgrind |
| 固件分析 | (主清单) | Binwalk、Avatar |
| 协议逆向 | (主清单) | Netzob、ReverX |
| 动态插桩 | (主清单) | Pin、DynamoRIO、Valgrind |
用法 3:贡献新条目
git fork
git checkout -b add-new-paper
# 编辑对应的 .org 文件,按现有格式加条目
git commit -m "Add: <paper short name>"
git push origin add-new-paper
# 开 PR
用法 4:导出成 BibTeX
org 文件可以导出 BibTeX;用 emacs 打开 .org 后按 C-c C-e b(需 ox-bibtex 后端)。
典型适用场景
- 研究生刚进 binary analysis / 逆向工程领域,需要一份"先读哪个工具→背后哪篇论文→源码在哪"的导航。
- 安全研究员选工具:Moflow / Angr / Triton / BitBlaze 各自适用什么场景,本仓按工具列了"上游 paper + 项目主页 + 后续 fork"。
- 写 PL/Security 综述论文 survey 某个子方向,需要查"近 10 年代表性文献"。
- 给新人 onboarding:让 ta 顺着这份清单一篇一篇读,比扔几篇 CCS/PLDI 论文更系统。
- 学术工具选型:需要 IR 设计参考(REIL/BIL/Vine),本仓有 6-7 种 IR 对比。
坑与注意
- ⚠️ 死链严重:仓库大量链接指向
code.google.com/p/*(Google Code 2016 年关停后大部分失效),bitbucket.org/simona/mltk(Bitbucket 2020 年关闭 Mercurial 仓库)也是死的。不要把整份清单当成"仍可下载的事实"。 - ⚠️ 10 年前的资料为主:链接里能看到 yurichev.com / 2013 年的博客、2014 年的 PhD thesis、Doar-e 2013 年的 symbolic execution 教程。对 2022 年后的 LLM × 逆向(vt-GPT 类工作)没有覆盖,需要结合单独的 L4 Evil / GPT-to-Rev 仓库。
- ⚠️ 学术圈资源,非生产工具:清单上的工具(Angr/Triton/BAP)里部分已不维护或维护节奏极慢(如 DECAF 已死、BitBlaze 已死)。把它当"历史地图"读,不是"今日推荐部署"。
- ⚠️ license 不明:README/首页未声明 license。不建议直接复制内容到商业产品——除非作者后续加 LICENSE。
- ⚠️ Stars 612 但贡献者极少:仓库 star 数虚高("周增 +7"对应的是 fork/ref 行为而非 PR 维护),把它当作"被收藏"而非"被活跃维护"。
- ⚠️ org-mode 渲染差异:GitHub 已支持
.org渲染,但复杂嵌套 + 表格在 PR diff 里看不清楚——建议 PR 前本地用 emacs/org-mode 预览。
与同类对比
| 资源 | 形态 | 范围 | 时效 | 学术 vs 工具 |
|---|---|---|---|---|
| REMath/literature_review | org-mode 清单 | binary analysis 全谱 | 偏旧(2010-2015 为主) | 学术 + 工具双轨 |
| awesome-binary-analysis | markdown awesome list | 类似 | 较新 | 工具为主 |
| Angr docs | 单一项目文档 | angr 自身 | 持续更新 | 工具 |
| BitBlaze 主页 | 静态网页 | 单一项目 | 已停 | 学术 + 工具 |
| Reverse Engineering 101 知乎/Wiki | 教学 wiki | 教学导向 | 中等 | 教学 |
| "SoK: Binary Analysis" 类论文 | 综述论文 | 一次性 | 取决于发布年份 | 学术 |
定位差异:REMath/literature_review 是 "老一辈研究者维护的领域遗产"——比 Angr 文档广、比 awesome 类更学术;但它的死链与时效需要补(用 awesome-binary-analysis 补 2020 年后部分)。注意:具体内容未做独立复核,死链比例与覆盖年份基于 README 抽样推断。
一句话推荐结论
研究生入门 binary analysis 把它当阅读清单起点很合适,但 2026 年用要带着 30% 死链预期 + 30% 老旧预期;纯工程选型不要直接照单全收,逐条 web_fetch 验证现状。