如何编写没有任何字母的c代码,但你可以只使用主词

How to write c code without any letters, but you can use only main word?

本文关键字:何编写 任何字 代码      更新时间:2023-10-16

我搜索了混淆代码,但没有找到如何编写没有任何单词的代码的例子。即使没有#define, int等…有一种方法可以做到这一点,但我找不到…

欢迎文盲编程!

有一种方法可以做到这一点:创建一个只有空白的文件,可能有一些没有任何字母的注释。这个文件可以编译成C代码,并会产生一个空的对象文件,恐怕不是很有用…

也可以滥用预处理器,只使用数字和下划线。通过使用精心选择的命令行选项编译代码,在源文件之前包含密钥文件,可以避免所有字母。您需要对所有关键字和类型以及main函数名使用宏。扭曲但可行。您可能想要编写一个程序来自动执行混淆。

例如:

key.h:

#include <stdio.h>
#define _1 int
#define _2 main
#define _3 printf
#define _4 return

source.c:

_1 _2() {
    _3("110145154154157401671571621541444112");
    _4 0;
}

编译并运行:

gcc -include key.h source.c -o program
./program

应该产生:

Hello world!

EDIT:如果不能使用密钥文件,请在命令行中定义宏:

gcc -include stdio.h -D_1=int -D_2=main -D_3=printf -D_4=return source.c -o program
./program
相关文章: