混淆还原的几种方式实践
💡
原文中文,约5600字,阅读约需14分钟。
📝
内容提要
本文探讨了使用goron进行符号执行和模拟执行的混淆还原方法,包括控制流平坦化、间接跳转分析及混淆处理。通过手动计算跳转地址和替换指令,结合工具实现自动化,强调了手动还原的重要性。
🎯
关键要点
- 探讨使用goron进行符号执行和模拟执行的混淆还原方法。
- 控制流平坦化还原涉及序言块、真实块、ret块和分发器的识别。
- 间接跳转还原通过手动计算跳转地址并替换指令实现。
- 混淆全开时,先处理间接跳转,通过汇编代码特征找到条件指令。
- 符号执行适合处理初始化好的块,模拟执行适合复杂运算的跳转。
- 强调手动还原的重要性,工具仅替代手动部分的批量实现。
➡️