OLLVM混淆环境搭建与去平坦化

本文详细介绍了如何在Ubuntu20.04环境下搭建OLLVM(Obfuscator-LLVM)编译套件,涉及Git克隆、CMake配置、GCC版本管理、OLLVM源码修改、编译过程以及混淆技术,包括使用NDK和Angr进行代码混淆的步骤。

环境

vmware虚拟机,ubuntu20.04

ollvm定义

​ LLVM(Low Level Virtual Machine)是一个开源的编译器基础架构,它包含了一组模块化、可重用的编译器和工具,支持多种编程语言和目标架构,包括x86、ARM和MIPS等。LLVM的核心思想是将编译器分为前端和后端两个部分,前端负责将源代码转换为中间表示(IR),后端负责将中间表示转换为目标机器的汇编代码。这种设计使得LLVM可以支持多种编程语言,因为只需要为每种语言编写一个前端,就可以利用后端的通用性支持多种目标架构。

​ OLLVM(Obfuscator-LLVM)是瑞士西北应用科技大学安全实验室于2010年6月份发起的一个项目,这个项目的目标是提供一个LLVM编译套件的开源分支,能够通过代码混淆和防篡改,所使用的编译器是clang。

搭建ollvm环境

ollvm github仓库

https://github.com/obfuscator-llvm/obfuscator

git下载ollvm源码

git clone -b llvm-4.0 --depth=1 https://github.com/obfuscator-llvm/obfuscator.git 

配置编译工具

cmake , gcc , g++
cmake

去官网下载cmake或者直接sudo安装

sudo apt install cmake
安装 gcc-8 g+±8 降低版本

查看gcc和g++版本,若为9则要降低版本

在这里插入图片描述

安装gcc-8和g+±8
sudo apt-get install gcc-8 g++-8 -y

配置软件的优先级,可以根据需要去选择默认的版本

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 8
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-8 8
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 9
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 9
gcc切换版本 默认gcc 8
sudo update-alternatives --config gcc

输入选择版本的数字

在这里插入图片描述

g++切换版
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值