我正在查看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