Remill 项目使用与启动教程

Remill 项目使用与启动教程

remill Library for lifting machine code to LLVM bitcode remill 项目地址: https://gitcode.com/gh_mirrors/re/remill

1. 项目介绍

Remill 是一个静态二进制翻译器,它将机器代码指令转换为 LLVM 位码。它支持 AArch64(64位 ARMv8)、SPARC32(SPARCv8)、SPARC64(SPARCv9)、x86 和 amd64 机器代码(包括 AVX 和 AVX512)到 LLVM 位码的转换。AArch32(32位 ARMv8 / ARMv7)的支持也在开发中。

Remill 专注于准确提升指令,旨在作为其他工具的库使用,例如 McSema。

2. 项目快速启动

Docker 快速启动

  1. 克隆 Remill 仓库:

    git clone https://github.com/lifting-bits/remill.git
    cd remill
    
  2. 构建 Remill Docker 容器:

    docker build -t remill -f Dockerfile --build-arg UBUNTU_VERSION=22.04 --build-arg LLVM_VERSION=17 .
    
  3. 确保 Remill 正常工作:

    • 解码一些 AMD64 指令到 LLVM:

      docker run --rm -it remill --arch amd64 --ir_out /dev/stdout --bytes c704ba01000000
      
    • 解码一些 AArch64 指令到 LLVM:

      docker run --rm -it remill --arch aarch64 --address 0x400544 --ir_out /dev/stdout --bytes FD7BBFA90000009000601891FD030091B7FFFF97E0031F2AFD7BC1A8C0035FD6
      

Linux 平台快速启动

  1. 更新 aptitude 并安装基础依赖:

    sudo dpkg --add-architecture i386
    sudo apt-get update
    sudo apt-get upgrade
    sudo apt-get install git python3 wget curl build-essential lsb-release ccache libc6-dev:i386 libstdc++-10-dev:i386 g++-multilib rpm
    
  2. 克隆仓库:

    git clone https://github.com/lifting-bits/remill.git
    
  3. 构建 Remill:

    ./remill/scripts/build.sh
    
  4. 安装 Remill:

    cd ./remill-build
    sudo make install
    
  5. 运行测试:

    cd ./remill-build
    make test_dependencies
    make test
    

3. 应用案例和最佳实践

Remill 的一个典型应用案例是与 McSema 配合使用,将二进制代码提升为 LLVM IR,然后进行进一步的分析或转换。

最佳实践包括:

  • 确保理解 Remill 的架构设计,以便更好地集成到自己的工具链中。
  • 在构建 Remill 时,充分利用 Docker 容器以简化依赖管理。
  • 使用 Remill 提供的文档和测试套件来确保正确性和稳定性。

4. 典型生态项目

  • McSema:一个将二进制程序转换为 LLVM IR 的框架,它使用了 Remill 作为其代码提升的底层库。

通过上述介绍和教程,您可以开始使用 Remill 项目,并根据您的需求进行定制。

remill Library for lifting machine code to LLVM bitcode remill 项目地址: https://gitcode.com/gh_mirrors/re/remill

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鲍赛磊Hayley

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值