我正在查看http://home.hccnet.nl/h.g.muller/umax4_8.c,一个C源文件。在主,它有这个:这是干什么的?
N=-1;W(++N<121)
printf("%c",N&8&&(N+=7)?10:".?+nkbrq?*?NKBRQ"[b[N]&15]);
我不明白什么的printf()是干什么的,但不知何故,棋盘输出到终端。
有什么想法?
我正在查看http://home.hccnet.nl/h.g.muller/umax4_8.c,一个C源文件。在主,它有这个:这是干什么的?
N=-1;W(++N<121)
printf("%c",N&8&&(N+=7)?10:".?+nkbrq?*?NKBRQ"[b[N]&15]);
我不明白什么的printf()是干什么的,但不知何故,棋盘输出到终端。
有什么想法?
基本上这样的:
for (n = 0; n < 121; ++n) {
if (n & 8) {
n += 7;
putchar('\n');
} else {
putchar(".?+nkbrq?*?NKBRQ"[b[n] & 15]);
}
}
什么,做的,每8个板项目后,再打印一个换行符;否则,打印b[n]
指示的板子项目。
+1令人惊叹的作品 – SmallChess 2010-12-16 05:01:50
H.G. Muller是C J-Y的另一个名字;) – William 2010-12-16 05:12:51
@威廉:好笑。 :-)其实,我已经做了很多年的逆向工程。这很像RE,只是因为我没有直接处理目标代码而变得更容易。 :-P – 2010-12-16 05:16:56
这是很好的混淆代码,哈哈。 – 2010-12-16 04:57:33
你在这里失踪了很多。 W例如被定义为'while'。你可能想要包含所有相关的代码。 “ – EboMike 2010-12-16 04:58:25
”......尽管你可能会将其描述为混淆的C代码,但由于它的体积小,它可能比更大,更好的风格引擎更容易理解。“ H.G. Muller – 2010-12-16 05:14:21