混淆还原的几种方式实践

💡 原文中文,约5600字,阅读约需14分钟。
📝

内容提要

本文探讨了使用goron进行符号执行和模拟执行的混淆还原方法,包括控制流平坦化、间接跳转分析及混淆处理。通过手动计算跳转地址和替换指令,结合工具实现自动化,强调了手动还原的重要性。

🎯

关键要点

  • 探讨使用goron进行符号执行和模拟执行的混淆还原方法。
  • 控制流平坦化还原涉及序言块、真实块、ret块和分发器的识别。
  • 间接跳转还原通过手动计算跳转地址并替换指令实现。
  • 混淆全开时,先处理间接跳转,通过汇编代码特征找到条件指令。
  • 符号执行适合处理初始化好的块,模拟执行适合复杂运算的跳转。
  • 强调手动还原的重要性,工具仅替代手动部分的批量实现。
➡️

继续阅读