DeClang 编译器项目教程

DeClang 编译器项目教程

DeClang An anti-hacking compiler forked from the ollvm (https://github.com/obfuscator-llvm/obfuscator) DeClang 项目地址: https://gitcode.com/gh_mirrors/de/DeClang

1. 项目介绍

DeClang 是一个基于 LLVM 项目扩展的开源项目,它源自于 ollvm 项目。DeClang 主要是作为一个抗黑客编译器,提供了一些代码混淆特性来增强软件的安全性。与基于打包器的解决方案相比,DeClang 作为基于编译器的解决方案有着很多优势。更多信息可以参考官方文档。

DeClang 支持的架构包括:

  • 主机架构:x64 macOS、x64 Linux、x64 Windows
  • 目标架构:arm / arm64 ELF (Android)、arm / arm64 Mach-O (iPhone)、x86 / x64 ELF (Linux)、x86 / x64 Mach-O (macOS)

2. 项目快速启动

首先,您需要克隆 DeClang 仓库并构建项目:

$ git clone https://github.com/DeNA/DeClang
$ cd DeClang/script
$ bash build.sh
...
$ bash build_tools.sh
...
$ bash release.sh v1.0.0
...

构建完成后,您将在 DeClang 的根目录中看到一个名为 Release-v1.0.0 的文件夹。

如果您在 Windows 上构建 DeClang,需要安装 MYSYS2 并在 MYSYS2 Shell 中运行上述脚本。此外,还需要安装 Visual Studio 2017。

接下来,定义 DECLANG_HOME 环境变量,并将 Release 文件夹复制到该环境变量指定的路径下:

export DECLANG_HOME=/path/to/declang_home/
mv Release-v1.0.0 $DECLANG_HOME/.DeClang

如果您从发布页面下载了预构建的二进制文件,解压缩后将 Release 文件夹复制到 DECLANG_HOME/.DeClang

3. 应用案例和最佳实践

以下是一些使用 DeClang 的案例和最佳实践:

  • 配置混淆选项:编辑 $DECLANG_HOME/.DeClang/config.pre.json 文件,设置混淆种子和强度等参数。
  • 构建 Android 项目:使用 ndk_setup.sh 脚本为 Android NDK 配置 DeClang。
  • 集成 Xcode 项目:使用 xcode_setup.sh 脚本将 DeClang 集成到 Xcode 项目中。
  • Unity WebGL 支持:使用 webgl_setup.sh 脚本为 Unity 的 WebGL 构建配置 DeClang。

每次构建时,应更改种子值以增加混淆效果。

4. 典型生态项目

DeClang 的生态项目包括但不限于以下几种:

  • 工具链扩展:为不同的编译环境和工具链提供的插件和扩展。
  • 混淆库:提供额外的混淆技术和算法的库。
  • 集成示例:展示如何将 DeClang 集成到各种开发环境和框架中的示例项目。

以上就是关于 DeClang 编译器项目的简要教程。希望对您有所帮助!

DeClang An anti-hacking compiler forked from the ollvm (https://github.com/obfuscator-llvm/obfuscator) DeClang 项目地址: https://gitcode.com/gh_mirrors/de/DeClang

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

郁英忆

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

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

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

打赏作者

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

抵扣说明:

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

余额充值