最新消息:

[iOS Hacker] obfuscator-llvm Xcode集成配置

iOS/MacOSX/移动安全 exchen 3361浏览 0评论

一、简介

obfuscator-llvm 是一个开源的代码混淆编译器,能够使编译出来的文件添加垃圾代码和各种跳转流程,给逆向分析者增加难度。

二、编译

  1. 下载地址

    目前最新版的是4.0的,下载地址是 https://github.com/obfuscator-llvm/obfuscator/tree/llvm-4.0,也可以用 git 下载。

  2. 安装 cmake

    OSX 下没有 cmake,需要安装,不然是不能编译 obfuscator-llvm 的。下载地址是:http://www.cmake.org/download,我下的版本是3.4.3。下载完成之后,进入到解压之后目录下,输入以下命令进行安装

  3. 编译

    编译成功之后 clang 在 build 下的 bin 目录。

三、集成到 Xcode 使用

  1. 修改 xcplugin

    首先复制一个 Obfuscator.xcplugin

    将以下键值修改一下

  2. 修改 xcspec

    执行如下命令

    将以下键值修改一下

  3. 修改 English.lproj

    执行如下命令

    将以下键值修改一下

    最后执行以下命令就大功告成了

  4. 去 Xcode 里看下编译设置

这里写图片描述

然后添加 obfuscation flags

这里写图片描述

四、效果

混淆之后,用静态工具分析效果如下图:

这里写图片描述

转载请注明:exchen's blog » [iOS Hacker] obfuscator-llvm Xcode集成配置

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (8)

  1. 完全按照上面写的, 路径也换成自己的clang路径, 可是编译之后, 看二进制并没有控制流扁平化 -mllvm -fla
    ding4个月前 (12-13)回复
    • 你的意思是编译后没有混淆吗?
      exchen4个月前 (12-15)回复
  2. 请问 Obfuscator.xcplugin这个插件在哪,使用ollvm编译后没看到这个插件啊
    qwerty3个月前 (01-17)回复
    • Obfuscator.xcplugin 这个是从 Xcode 里复制的,你仔细看一下集成的第一步 cd /Applications/Xcode.app/Contents/PlugIns/Xcode3Core.ideplugin/Contents/SharedSupport/Developer/Library/Xcode/Plug-ins/ sudo cp -r Clang\ LLVM\ 1.0.xcplugin/ Obfuscator.xcplugin
      exchen3个月前 (01-20)回复
  3. 您好!按照上面的操作最后编译出现clang-4.0: error: cannot specify -o when generating multiple output files Command /Users/rqunner/Desktop/混淆工具/build/bin/clang failed with exit code 1 您遇到过没有啊?怎么解决的?
    rqunner3个月前 (01-22)回复
    • 你用的是不是 Xcode9?Xcode9 有点问题,你用 Xcode8 试一下应该没问题。
      exchen3个月前 (01-22)回复