工具
需要安装工具:git,cmake,make,gcc,g++。注意:cmake需要到官网上下载安装
下载&编译
git clone -b llvm-4.0 https://github.com/obfuscator-llvm/obfuscator.git
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ../obfuscator/
# 如有异常可以,不启用测试。
# cmake -DCMAKE_BUILD_TYPE=Release -DLLVM_INCLUDE_TESTS=OFF ../obfuscator/
# 数字7表示编译使用的线程,如果太卡,使用低一点的数字,太慢,用高一点的。
make -j7
下载NDK
1. linux
https://dl.google.com/android/repository/android-ndk-r10e-linux-x86_64.zip?hl=zh_cn
2. mac
https://dl.google.com/android/repository/android-ndk-r10e-darwin-x86_64.zip?hl=zh_cn
需要下载r10e 版本,其他版本可能不支持。
$NDK_PATH配置环境变量到 PATH
放置toolchains
下载toolchain 放置到$NDK_PATH/toolchains 下
1. linux
https://raw.githubusercontent.com/Fuzion24/AndroidObfuscation-NDK/master/prebuilt/android-ndk64-r10-linux-x86_64-obfuscator.tar.bz2
2. mac
https://raw.githubusercontent.com/Fuzion24/AndroidObfuscation-NDK/master/prebuilt/android-ndk32-r10-darwin-x86_64-obfuscator.tar.bz2
修改参数
修改文件 $NDK_PATH/toolchains/arm-linux-androideabi-clang3.4-obfuscator/setup.mk
在 TARGET_CC 前增加一行,路径设置为obfuscator-llvm 的build 路径。
LLVM_TOOLCHAIN_PATH := <PATH_TO_OBFUSCATOR_REPO>/build/bin/
TARGET_CC := $(LLVM_TOOLCHAIN_PATH)clang$(HOST_EXEEXT)
TARGET_CXX := $(LLVM_TOOLCHAIN_PATH)clang++$(HOST_EXEEXT)
修改Application.mk
APP_CFLAGS := -mllvm -bcf -mllvm -sub -mllvm -fla
NDK_TOOLCHAIN_VERSION := clang3.4-obfuscator
APP_STL := c++_shared
配置完成,使用ndk-build编译
Extra 上交大版本
https://github.com/GoSSIP-SJTU/Armariris