基础知识LLVM是lowlevel virtual machine的简称,它诞生于2003.10伊利诺伊大学香槟分校,创始人是ChrisLattner,它是一个完整的编译器框架,它兼容大部分主流开发语言例如:C, C++, Objective-C等等,它也兼容大部分主流的平台:x86, x86-64, PowerPC, PowerPC-64,ARM,Thumb等等。(图片来源网络)LLVM会先将源码生成为与目标机器无关的LLVMIR代码,然后把LLVMIR代码先优化,再向目标机器的汇编语言而转换。LLVM编译器主要细分为前端、中层优化和后端的3部分构成。(图片来源网络)OLLVM就是在LLVM的基础上增加了obfuscator(混淆), Obfuscator-LLVM (OLLVM) 是2010 年 6 月由 Yverdon-les-Bains 的瑞士西北应用科技大学安全实验室针对LLVM编译组件开发的代码混淆工具,该工具完全开源,这个OLLVM主要为了增加逆向工程的难度,保证代码的安全性。Obfuscator-LLVM (OLLVM)集成了LLVM编译器,并且兼容LLVM支持的所有语言(C,C++, Objective-C, Ada and Fortran)和平台(x86, x86-64, PowerPC,PowerPC-64,ARM,Thumb,SPARC,Alpha,Cell
...
继续阅读
(109)