O-llvm是基于llvm进行编写的一个开源项目(https://github.com/obfuscator-llvm/obfuscator),它的作用是对前端语言生成的中间代码进行混淆,目前在市场上,一些加固厂商(比如360加固宝、梆梆加固)会使用改进的O-llvm对它们so文件中的一些关键函数采用O-llvm混淆,增加逆向的难度。因此,掌握O-llvm的实现过程,是很有必要...
对于这个插件,网上的安装文章相对来说还是挺多的,例如官方的文档https://github.com/obfuscator-llvm/obfuscator/wiki/Installation,再例如 http://www.exchen.net/ios-hacker-obfuscator-llvm-xcode%E9%9B%86%E6%88%90%E9%85%8D%E7%BD%AE.html。已经写的都非常详细了,按照上面的文章基本都可以配置好了,唯一...
但是,我们的目标是找到所有的真实代码块,为了达到这个目标,我们需要利用LLVM Obfuscator的另一个关键弱点:所有逻辑基本块中,每个块至少包含一次state_var的定义动作(注意是定义不是引用),就跟起始块有点类似。 乍一看,可能我们要基于深度优先来进行一次def-use类型的搜索,不过在Ninja上,这个工作被简化了不少,前面一个...
Obfuscator-LLVM4.0编译和Android NDK配置(Linux 环境) /obfuscator-llvm/obfuscator.git 2.因为4.0版本没有开放字符串混淆功能,所以需要借助我们优秀的上海交大的孤挺花项目。 项目地址为 https://github.com/GoSSIP-SJTU/Armariris 字符串混淆的部分主要由字符串加密的Pass完成,所以我们把字符串混淆的功能加入ollvm中。
obfuscator-llvm 是一个开源的代码混淆编译器,能够使编译出来的文件添加垃圾代码和各种跳转流程,给逆向分析者增加难度。 二、编译 (1) 下载 目前最新版的是4.0的,下载地址是: https://github.com/obfuscator-llvm/obfuscator/tree/llvm-4.0,也可以用 git 下载。 (2) 安装 cmake OSX 下没有 cmake,需要安装,不...
git地址:https://github.com/obfuscator-llvm/obfuscator/tree/llvm-3.6.1 注意事项: 不要在/mnt/hgfs/目录下编译,不但慢,还会出很多问题 S tep. 1 安装依赖 http://blog.csdn.net/linking530/article/details/43852789(Centos 6.x 下编译Skynet 需要安装的依赖) ...
本次源码分析的版本为Obfuscator-llvm-3.6.1,目前O-llvm包含有三个pass,分别是BogusControlFlow、Flattening 和 Instruction Substitution。它们是O-llvm实现混淆功能的核心,具体实现位于llvm-3.6.1/lib/Transforms/Obfuscation/目录下。下面就对这三个pass进行详细的分析。 2. Pass1:BogusControlFlow BogusControlFlow的...
$ sudo vimObfuscator.xcspec 修改ExecPath的地址为当前build/bin的地址(!重点) Identifier="com.apple.compilers.llvm.clang.1_0";->Identifier="com.apple.compilers.llvm.obfuscator.4_0";Name="Apple LLVM 8.0";->Name="Obfuscator 4.0";Description="Apple LLVM 8.0 compiler";->Description="Obfuscator 4.0...
本次源码分析的版本为Obfuscator-llvm-3.6.1,目前O-llvm包含有三个pass,分别是BogusControlFlow、Flattening 和 Instruction Substitution。它们是O-llvm实现混淆功能的核心,具体实现位于llvm-3.6.1/lib/Transforms/Obfuscation/目录下。下面就对这三个pass进行详细的分析。 2. Pass1:BogusControlFlow BogusControlFlow的...
目前最新版的是4.0的,下载地址是 https://github.com/obfuscator-llvm/obfuscator/tree/llvm-4.0,也可以用 git 下载。 安装cmake OSX 下没有 cmake,需要安装,不然是不能编译 obfuscator-llvm 的。下载地址是:http://www.cmake.org/download,我下的版本是3.4.3。下载完成之后,进入到解压之后目录下,输入以下命...