win11下编译llvm-9.0.1(Android NDK so文件混淆加密)

使用到的工具(点击即可去下载):

android studio 4.2.2点我进入历史版本下载页面

ndk 21.4.7075529(android studio上下载的)

cmake 3.10.2.4988404(android studio上下载的)

llvm-9.0.1

llvm-mingw-20230130-msvcrt-x86_64.zip

1. 配置环境变量

这是我的路径,替换成你的

C:\Users\admin\Downloads\llvm-mingw-20230130-msvcrt-x86_64\llvm-mingw-20230130-msvcrt-x86_64\bin

G:\jre\Android\Sdk\cmake\3.10.2.4988404\bin

2. 解压llvm-9.0.1,打开文件夹,在根目录下创建一个bulid文件夹

3. 在build文件夹里创建一个CMakeLists.txt文件,里面啥也不用写(不创建这个文件第5步会报错说CMakeLists.txt不存在)

4. 使用cmd cd到这个build文件夹

5. 执行配置命令

cmake -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release ../

6. 执行编译命令(注意:这里的-jxx说的是运行的线程数,根据你的电脑配置来自定义,设置越大则编译越快,我电脑不太行,所以设置的8)

mingw32-make.exe -j8

7. 等待它编译即可

编译完成的截图:

8. 复制头文件

\obfuscator-llvm-9.0.1\build\lib\clang\9.0.1\include

把上面这个目录下的头文件(__stddef_max_align_t.h、stddef.h、stdarg.h、float),复制到下面这个目录下

\Android\Sdk\ndk\21.4.7075529\sysroot\usr\include

复制头文件截图:

9. 把编译出的文件,替换ndk中的clang.exe、clang++.exe、clang-format.exe

编译后的文件在:

\obfuscator-llvm-9.0.1\build\bin

10. 打开android studio,在工程中的CMakeLists.txt添加这个配置(下面的参考文章说的有是什么意思)

set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -mllvm -sub -mllvm -sobf -mllvm -fla ")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -mllvm -sub -mllvm -sobf -mllvm -fla")

set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -mllvm -sub -mllvm -sobf -mllvm -fla" )
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -mllvm -sub -mllvm -sobf -mllvm -fla" )

参考文章: 

Windows上编译ollvm9.0等高版本并使用 - 怎么可以吃突突 - 博客园 (cnblogs.com)

win10 OLLVM编译环境搭建 并且实现Android jni 字符串加密 - 别人眼中的过客 - 博客园 (cnblogs.com)

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值