• 反编译领域,除了CFG生成之外,其他两大主要方向是(控制)结构还原,和变量恢复(包括类型推导)。
  • 《Ahoy SAILR! There is No Need to DREAM of C: A Compiler-Aware Structuring Algorithm for Binary Decompilation》(usenix sec23winter)中介绍了一种新的控制结构还原方法。
  • 《Augmenting Decompiler Output with Learned Variable Names and Types》(usenix sec22)机器学习恢复变量类型和名称。 https://github.com/CMUSTRUDEL/DIRTY
  • angr支持的两种IR:VEX和AIL,取代汇编。

Because VEX IR cannot represent C-style expressions, we designed a more abstractable intermediate language called the ANGR INTERMEDIATE LANGUAGE (AIL).

![Pasted image 20240308151109](../__images/Pasted image 20240308151109.png) ![Pasted image 20240308145417](../__images/Pasted image 20240308145417.png) ![Pasted image 20240308145247](../__images/Pasted image 20240308145247.png)