单指令 C 编译器
…M/o/Vfuscator (缩写为'o',发音类似于"mobfuscator") 将程序编译成 "mov" 指令,且仅为"mov" 指令。算术、比较、 跳转、函数调用以及程序所需的其他一切操作都已完成 通过 mov 操作;没有自修改代码,也没有传输触发的代码 计算,不允许任何其他形式的作弊。 该过程的基本效果可以在 概述 中看到。 演示了使用 gcc 编译简单的素数函数 M/o/Vfuscator。 组装:
| GCC | M/o/Vfuscator |
|---|---|
控制流图:
| GCC | M/o/Vfuscator |
|---|---|
在实际应用中:
| movcc prime.c -o prime |
|---|
当然,作为一款完整的 C 编译器,它不仅限于简单的程序:
| movcc nibbles.c -o nibbles -lncurses |
|---|
该编译器目前针对 C 编程语言和 x86 处理器架构,但可以轻松适应其他语言和架构。
M/o/Vfuscator 使用 LCC 作为编译器前端。 附带的构建脚本会自动下载 LCC, 为 mov 后端进行配置, 并构建 M/o/Vfuscator 工具。
像处理任何传统 C 程序一样编译程序
暂无开放 Issues,或尚未同步最近议题。