thisdesuのブログ

C言語はじめました

にほんブログ村 IT技術ブログ C/C++へ

コーヒーブレイク(IOCCC)

プログラミングとスパゲッティは密接で、タコ足のコンセントなんか目じゃないほど、絡まりに絡まったソースプログラムは人の手を介す度に解かれず放置されたのか見て見ぬふりと言うか触らぬ神に祟り無しなのか、、、完全にブラックボックスと化したプログラムに出会ったしまったら、、僕もきっと解読する勇気よりクライアントに”作り直しましょう”と言う理由を模索し始めるでしょう。
ただセキュリティーの風潮なのかリバースエンジニアリング防止なのか、そのまま利用できるスクリプト系のプログラムやHTMLなどにおいては、あえて難読化して動きを見せなくする・盗用させなくする様な事も行われています。特にgoogleなんで検索結果のHTMLを見ても人の目では解読不能にしているし、CSSJavascriptも難読化変換されています。ただし、開発時には返還前の物があって実際に開発で利用する分けでもないので、ちょっと意味が違うかな
IOCC(国際難読化Cコードコンテスト)なんてものが存在します。まさにソースの読み難さを競い合うコンテストです。ハッカーの奇祭らしいがエントリーされたコードを見てみると、確かに"何故動くのか"なんて考えてしまうほどの難読なんですが、さすがハッカーです。結果が違いますクオリティの高さが次元違う。ただ苦しませるスパゲッティとは違い、すげーの連発です。是非ごらんあれ
IOCCC
下は難読ではないけど、知らないと一瞬え?って思うソース

int main(int argc, char **argv) {
    int a;
    a = 011 + 001 ;
    printf("011 + 001 = %d \n", a );
}

■結果

$ gcc main.c
$ ./a.out
011 + 001 = 10