美文网首页
OLLVM使用

OLLVM使用

作者: 冷野明 | 来源:发表于2024-03-26 17:24 被阅读0次

    简介

    OLLVM(Obfuscator-LLVM)是瑞士西北应用科技大学安全实验室于2010年6月份发起的一个项目,该项目旨在提供一套开源的针对LLVM的代码混淆工具,以增加对逆向工程的难度。github上地址是https://github.com/obfuscator-llvm/obfuscator,只不过仅更新到llvm的4.0,2017年开始就没在更新。

    下载LLVM

    llvm地址:https://github.com/llvm-mirror
    swift-llvm地址:https://github.com/apple
    大家可以从上面的地址下载最新的自己需要的llvm和clang

    #下载llvm源码
    wget https://codeload.github.com/llvm-mirror/llvm/zip/release_70
    unzip llvm-release_70.zip
    mv llvm-release_70 llvm
    
    
    #下载clang源码
    wget https://codeload.github.com/llvm-mirror/clang/zip/release_70
    unzip clang-release_70.zip
    mv clang-release_70 llvm/tools/clang
    
    

    添加混淆代码

    如果用git的话只需要执行git cherry-pick xxxx把xxxx换成对应的我的版本上的提交哈希填上即可。极度推荐用git搞定。

    如果手动一点点加的话,第一步就是把我改过的OLLVM文件夹里/include/llvm/Transforms/Obfuscation和/lib/Transforms/Obfuscation移动到刚才下载好的llvm源码文件夹相同的位置。

    git clone https://github.com/heroims/obfuscator.git
    cd obfuscator
    git checkout llvm-7.0
    cp include/llvm/Transforms/Obfuscation llvm/include/llvm/Transforms/Obfuscation
    cp lib/Transforms/Obfuscation llvm/lib/Transforms/Obfuscation
    

    然后手动修改8个文件如下:

    图片描述
    图片描述
    图片描述

    编译

    mkdir build
    cd build
    #如果不想跑测试用例加上-DLLVM_INCLUDE_TESTS=OFF 
    cmake -DCMAKE_BUILD_TYPE=Release -DLLVM_CREATE_XCODE_TOOLCHAIN=ON ../obfuscator/
    make -j7
    

    相关文章

      网友评论

          本文标题:OLLVM使用

          本文链接:https://www.haomeiwen.com/subject/mlgstjtx.html