Android NDK 28 自定义 Clang & OLLVM (New Pass Manager) 混淆编译实战指南
引言
在移动端安全对抗中,对 C++ 核心逻辑(如 Cocos 游戏引擎逻辑、加解密算法)进行混淆是防逆向分析的重要一环。LLVM 混淆器(OLLVM / Hikari / Pluto)是最常用的方案。
随着 Android NDK 28(搭载 LLVM 19)的发布,旧版的 Pass 管理器(Legacy Pass Manager)已被完全移除,取而代之的是 **New Pass Manager (NPM)**。这意味着以往传统的 -Xclang -load 注入方式已失效,我们必须为新版 NDK 构建自定义的 Clang 编译器并适配新版 Pass 插件。
本文将详细介绍如何从源码一步步构建支持 NDK 28 的自定义 Clang 编译器和 Obfuscator.dylib 混淆插件,并规避交叉编译中的各种“大坑”(如编译时间过长、缺失 32 位目标后端等问题)。