
- 打开微信,搜索「软件教程管家」关注,或长按下方二维码关注
- 回复关键词 wcc
- 公众号自动回复网盘链接,点击即可保存下载
打开微信扫一扫关注或搜索【软件教程管家】
WCC(Witchcraft Compiler Collection)是一套面向 GNU/Linux 与 POSIX 平台的二进制编译工具集,它不编译源代码,而是直接对已经编译好的二进制文件动手:把 ELF 可执行文件转换成共享库,或者从可执行文件、共享库里抽出可重定位目标文件。如果你做逆向工程、二进制分析或者底层链接机制研究,这套工具正好补上常规编译器够不到的那一环。
| 项目 | 说明 |
|---|---|
| 项目名称 | WCC(Witchcraft Compiler Collection) |
| 核心工具 | wld、wcc |
| 适用平台 | GNU/Linux 与其他 POSIX 平台 |
| 处理对象 | ELF、PE 等二进制文件 |
| 主要语言 | C |
| 构建方式 | Make(配合 Git 子模块),文档可用 Doxygen 生成 |
| GitHub Star | 约 2015 |
快速判断:它能干什么,不能干什么
先划一条线:WCC 不是 GCC、Clang 的替代品。它不负责把源代码编译成程序,而是处理已经存在的二进制文件。你的工作如果涉及 ELF 可执行文件转换、二进制分析实验或者底层链接机制研究,WCC 值得作为针对性工具评估;如果只是日常写代码、编译项目,用常规编译器就行,不用绕到这里来。
核心功能
- wld:可执行文件转共享库。把 ELF 可执行文件转换成共享库,并提供忽略构造函数和析构函数的选项,方便在转换时去掉不需要的初始化逻辑。
- wcc:二进制转 ELF。读取 ELF、PE 等二进制输入,生成有效的 ELF 二进制文件。
- 生成可重定位目标文件。wcc 可以从可执行文件或共享库创建可重定位目标文件,供后续链接或分析使用。
- 多架构场景。README 展示了处理 Intel、ARM、SPARC 等不同架构 ELF 文件的场景,实际效果仍需在目标文件和平台上验证。
- 文档可自建。项目支持通过 Make 构建,并可选用 Doxygen 生成文档,用户手册位于项目 Wiki。
安装与构建步骤
项目需要从源码构建,构建前先确认环境是 GNU/Linux 或其他 POSIX 系统,并装好依赖。下面是 README 给出的标准流程:
- 克隆仓库:
git clone https://github.com/endrazine/wcc.git,进入目录后初始化 Git 子模块。 - 安装依赖:按 Ubuntu/Debian 示例装好 capstone、glibc、libbfd、libdl、zlib、libelf、libreadline、libgsl、make 和 cargo 等软件。
- 执行构建:在项目目录运行
make,等待编译完成。 - 安装到系统:构建通过后运行
sudo make install完成安装。 - 可选步骤:需要离线文档时,用 Doxygen 生成项目文档;日常查用法也可以直接看项目 Wiki 上的用户手册。
使用前必须确认的三件事
这三点直接决定 WCC 在你手里能不能跑起来,动手之前先逐项确认:
- 目标文件必须是 ELF。wld 当前只处理 ELF 二进制文件,其他格式不在它的处理范围内,拿错格式只会白跑一趟。
- 生成的是不可重定位共享库。wld 输出的共享库不可重定位,使用前要评估它与目标运行环境的适配性,不要默认它能像普通共享库一样随处加载。
- 依赖链要一次配齐。项目依赖多个底层系统库和构建工具,缺任何一个都可能导致构建失败;建议把依赖安装、子模块初始化和构建步骤写进可重复的环境配置流程,而不是每次手动敲。
适用人群
适合需要研究 ELF 二进制结构、可执行文件转换、链接过程或底层编译工具的开发者、逆向工程学习者和系统软件研究人员。如果你只需要常规源代码编译,或者要的是开箱即用的单一工具,WCC 不是为这个场景准备的。
与常规编译器的区别:明确取舍
常规编译器(GCC、Clang)的工作起点是源代码,终点是可执行文件;WCC 的工作起点就是可执行文件本身,终点是转换后的共享库或目标文件。两者不在同一条流水线上,也不存在谁替代谁。选 WCC 的唯一理由,是你的任务明确落在“处理 ELF 二进制、生成共享库、创建可重定位目标文件”这个范围内,并且团队能维护 C 工具链及多项系统库依赖。如果需求是跨格式二进制转换、标准源代码编译或者易部署的单一工具,应该先比较其他方案,再通过用户手册和源码验证 wcc 的具体覆盖范围。
注意事项
- wld 生成的是不可重定位共享库,使用时需要评估其与目标运行环境的适配性。
- 项目依赖多个底层系统库和构建工具,部署前需要准备完整的开发环境,缺依赖的构建失败先查依赖清单再排查别的。
- README 未完整列出 wcc 的全部命令行选项和行为边界,具体能力需查看用户手册或源码确认,不要凭猜测写进脚本。
- 公开信息有限,升级时重点检查 libbfd、libelf、capstone、glibc 与 cargo 等依赖的兼容性,长期维护状态需查看 README、Wiki 或源码确认。
- 不同 POSIX 平台上的实际兼容性需要自己验证,README 的示例以 Ubuntu/Debian 为主,换平台先在测试环境跑通再上生产流程。
GitHub 国内访问较慢,如打不开可多刷新几次

关注「软件教程管家」
回复软件名即取即下:网盘下载链接 + 提取码,一步直达,不用再跳转。
本站资源仅供个人学习交流,请勿用于商业用途。软件与资料版权归原作者所有;如有侵权,请通过公众号「软件教程管家」联系我们,我们将在 24 小时内下架处理。查看免责声明 ›
文章推荐
标签推荐
这款软件怎么样?
平均 暂无评分(0 人评)
取链次数:0
评分与投票来自真实访客,从 0 开始累计;觉得有用就点一下,帮更多人判断这款软件值不值得下。





