使用obfuscator llvm 和andorid NDK进行代码混淆

来源:互联网 发布:服务器上如何安源码 编辑:程序博客网 时间:2024/06/05 03:10

1.下载ollvm

https://github.com/obfuscator-llvm/obfuscator/tree/llvm-3.4


2.解压,并编译

mkdir buildcd buildcmake -DCMAKE_BUILD_TYPE:String=Release ../obfuscator/make -j8

3.创建andorid nkd独立工具链

cd /android-ndk-r10e/toolchains

备份 llvm-3.6文件夹

将llvm-3.6/prebuilt/linux-x86_64/bin下所有文件、文件夹换成2步骤中build/bin

将llvm-3.6/prebuilt/linux-x86_64/lib下所有文件、文件夹换成2步骤中build/lib

cd /android-ndk-r10e/

./build/tools/make-standalone-toolchain.sh --platform=android-21 --toolchain=arm-linux-androideabi-clang3.6 --install-dir=/home/user/android-toolchain-obfuscator-21




4.使用cmake进行编译


使用ollvm进行代码混淆,在CMakeLists.txt文件中添加编译选项

LOCAL_CFLAGS += -mllvm -sub -mllvm -bcf -mllvm -fla


export ANDROID_NDK=/home/usr/android-ndk-r10e

export ANDORID_STANDALONE_TOOLCHAIN=/home/user/android-toolchain-obfuscator-21

export PATH=$ANDORID_STANDALONE_TOOLCHAIN:$PATH


cmake -DCMAKE_TOOLCHAIN_FILE=./android.toolchain.cmake  ../prj

make -j8

make install