使用OLLVM(Hikari-LLVM15)编译xcode toolchains食用教程

本文提供了一份ollvm编译Xcode toolchains的详细教程,包括相关开源项目介绍、编译环境和步骤、如何使用toolchains编译iOS应用以及添加编译选项以启用混淆功能。在Xcode中切换到自编译的toolchain,通过关闭特定构建设置解决了编译错误,并成功实现了混淆编译。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

相关开源分支项目

  • hikari版本 LLVM15
    https://github.com/iMemScan/Hikari-LLVM15.git

编译过程

上面几个项目都是llvm的几个分支,选择哪个项目作为你的混淆器的编译取决于个人,本篇基于ollvm改版项目,最大适配Xcode14-16。编译环境如下:

下载代码

git clone https://github.com/iMemScan/Hikari-LLVM15.git

创建build,生成makefile

cd Hikari-LLVM15
git checkout llvm-15.0.2rel
mkdir build
cd build

重点

cmake -DCMAKE_BUILD_TYPE=Release  -DCMAKE_VERBOSE_MAKEFILE=ON -DLLVM_CREATE_XCODE_TOOLCHAIN=ON -DLLVM_ENABLE_RUNTIMES="compiler-rt" -DLLVM_ENABLE_PROJECTS="clang;libcxx;libcxxabi" ../llvm/

sudo make -j7
sudo make install-xcode-toolchain

具体自己看编译llvm选项
经过漫长的等待,在这个目录会生成xcodetoolchain
/usr/local/Toolchains/Hikari_LLVM15.0.2.xctoolchain
复制到~/Library/Developer/Toolchains下面,没有Toolchains目录的自己创建

使用toolchains编译iOS应用

新建一个demo
测试函数

验证加固能力,用以上的addFunc来验证。

在Xcode --> Toolchains --> 选择我们编译的toolchain来编译。不加任何编译选项编译:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dRLewgmZ-1627785136615)(https://www.picbed.cn/images/2021/06/28/imageec020680b20f6ce9.png)]

好像直接报错了,google了一下,原因是index这个选项没有实现,那我们直接在buildsettings关掉它就好了。

Build Settings --> Enable Index-While-Building Functionality --> NO
把这个选项设置为NO,编译成功!

添加编译选项

自己查看Hikari具体的编译参数添加混淆,这里不做过多描述,作者使用添加函数宏定义的方法来混淆
https://github.com/HikariObfuscator/Hikari

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值