摘要:经过多年的技术发展和攻防对抗, Android平台应用加固技术已较为成熟, 防护粒度逐步从通用的DEX动态修改发展为高度定制化的Native层混淆机制, 通过不断提高逆向分析的难度和工作量, 增强客户端代码防护能力. 针对近期崛起的OLLVM混淆加固技术, 提出一种基于Capstone和流敏感混合执行的自动化反混淆决方案(CiANa). CiANa采用Capstone引擎分析基本块及其指令结构, 识别散落在程序反汇编控制流程图中的真实块, 并基于流敏感的混合执行确定各真实块间的执行顺序, 最后对真实块汇编指令进行指令修复得到反混淆后的可执行二进制文件. 实验对比结果表明, CiANa可有效恢复ARM/ARM64架构下经OLLVM混淆的Android Native文件. CiANa是目前为止首个在ARM/ARM64架构中, 支持对全版本(Debug/Realse版本) OLLVM进行有效反混淆并生成可执行文件的框架, 为逆向分析提供了必要的辅助支撑.