混淆技术研究-混淆技术-源码分析(2)

简介

OLLVM(Obfuscator-LLVM)是基于LLVM(Low Level Virtual Machine)框架的一种代码混淆器。它主要用于对C/C++和汇编语言程序进行混淆,以增加代码的复杂性,提高代码的安全性和抵抗逆向工程的能力。
混淆技术研究-混淆技术-源码分析(2)_第1张图片
IR(Intermediate Representation)是指中间表示,是编译器在将源代码转化为目标代码的过程中使用的一种中间形式。它作为源代码和目标机器代码之间的一个抽象层,方便进行代码优化、分析和生成。

Module、Function、BasicBlock和Instruction是IR的四个主要部分,它们有不同的作用和层次。

  1. Module(模块)
    Module是IR的最高层次,表示整个程序或库。它可以包含全局变量、函数定义和其他相关信息,并且提供了一个组织单元,用于表示源代码的不同模块或文件。Module可以包含多个Function。
  2. Function(函数)
    Function是IR的第二层,表示程序中的函数。每个Function对应一个具体的源代码函数或方法。Function包含了函数的参数、局部变量、控制流信息以及函数体中的指令。一个Function通常由多个BasicBlock组成。
  3. BasicBlock(基本块)
    BasicBlock是IR中的一个基本块,表示一段连续的中间代码指

你可能感兴趣的:(混淆技术研究,ollvm源码分析,ollvm混淆,代码混淆,IDA,Android逆向)