> For the complete documentation index, see [llms.txt](https://firmianay.gitbook.io/ctf-all-in-one/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://firmianay.gitbook.io/ctf-all-in-one/ba-xue-shu-pian/8.45_ramblr.md).

# 8.45 Ramblr: Making Reassembly Great Again

[paper](https://www.cs.ucsb.edu/~vigna/publications/2017_NDSS_Ramblr.pdf) [slides](http://wp.internetsociety.org/ndss/wp-content/uploads/sites/25/2017/09/ndss2017_10-5-wang_slides.pdf) [video](https://www.youtube.com/watch?v=_BIamPJE8EQ)

## 简介

静态二进制重写在逆向工程中有许多重要的应用，例如补丁、代码重用和插桩。Reassembly 就是静态二进制重写的一种有效方法（Reassembly is the process of assembling a set of instructions obtained through *disassembly* and which were certainly patched or modified）。

本文提出了一种新的 binary reassembling 的方法，并实现了工具 Ramblr。该方法首先将原始的二进制文件反汇编，正确识别符号和预期的跳转目标，插入必要的补丁，然后将程序集重新组装到修补后的二进制文件中。
