Hikari代码混淆

作者: 倪大头 | 来源:发表于2019-03-15 15:16 被阅读571次

下载pkg安装文件:
https://github.com/HikariObfuscator/Hikari/releases

安装成功Toolchains会出现Hikari选项


image.png

将项目中所有target(包括pod进来的三方库)Enable Index-While-Building Functionality设为NO


image.png image.png

三方库target忘记设置的话会报如下两个错误:
-index-store-path
cannot specify -o when generating multiple output files

Optimization Level 的值设置为 None[-O0]

在 Build Settings -> Other C Flags 中加入混淆标记
-mllvm -enable-bcfobf 启用伪控制流
-mllvm -enable-cffobf 启用控制流平坦化
-mllvm -enable-splitobf 启用基本块分割
-mllvm -enable-subobf 启用指令替换
-mllvm -enable-acdobf 启用反class-dump
-mllvm -enable-indibran 启用基于寄存器的相对跳转,配合其他加固可以彻底破坏IDA/Hopper的伪代码(俗称F5)
-mllvm -enable-strcry 启用字符串加密
-mllvm -enable-funcwra 启用函数封装
-mllvm -enable-allobf 依次性启用上述所有标记

image.png

编译。
编译完成后混淆就完成了,可以用hopper工具进行对比

ps:我用的xcode10,Hikari.xctoolchain的clang版本太低,会出现如下报错:


image.png

进入/资源库/Developer/Toolchains/,找到Hikari.xctoolchain右键显示包内容,进入usr/lib/clang,里面有两个文件夹,分别是7.0.0和10.0.0,把7.0.0删除,把10.0.0重命名为7.0.0,编译就通过了

相关文章

  • Hikari代码混淆

    下载pkg安装文件:https://github.com/HikariObfuscator/Hikari/rele...

  • iOS混淆方案-Hikari

    本文主要介绍Hikari工具混淆的使用 最近在研究马甲包这块,所以涉及到混淆代码的,试了写脚本插入垃圾代码、生成垃...

  • iOS 代码混淆的新进展

    最近研究了基于LLVM的混淆工具 Hikari 、中文文档 ,从编译器层面完成了代码的安全加固,可以说是非常牛了...

  • 基于llvm的iOS代码混淆工具 -- Hikari

    Android 有各种加密混淆工具,现在iOS逆向也在发展,自然也有对应的混淆工具应运而生。利用混淆工具,可以更好...

  • 2019-04-11 iOS 代码混淆的新进展

    最近研究了基于LLVM的混淆工具Hikari、中文文档,从编译器层面完成了代码的安全加固,可以说是非常牛了。但作者...

  • AppStore上架-签名篇-免费企业签名

    TODO:相信看到这里大家都被拒绝过很多次了,那么之前文章提到的加密,LLVM混淆都是使用 Hikari混淆器文...

  • Android NDK Hikari 混淆方案

    Hikari 是一个基于OLLVM高度优化并包含大量自制混淆功能的二进制加固工具,github地址 最近研究了 H...

  • Android项目的代码混淆

    代码混淆: 代码混淆有两种重要功能。其一,混淆代码。其二,优化代码。有的混淆是根据自己写得代码有关,需要根据异常错...

  • iOS 初探代码混淆(OC)

    iOS 初探代码混淆(OC) iOS 初探代码混淆(OC)

  • ProGuard详解

    Android分享:代码混淆那些事Android代码混淆之混淆规则Android-Dev-Favorites An...

网友评论

    本文标题:Hikari代码混淆

    本文链接:https://www.haomeiwen.com/subject/ayalmqtx.html