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 验证现状。