/* youmu1.c - Don Yang (uguu.org) 07/04/07 */ #include char *data[] = { "12345678901234567890123456789012345678901234567890" "12345678901234567890123456789012345678901234567890" "12345678901234567890123456789012345678901234567890" "12345678901234567890123456789012345678901234567890" "12345678901234567890123456789012345678901234567890" "12345678901234567890123456789012345678901234567890" "12345678901234567890123456789012345678901234567890" "12345678901234567890123456789012345678901234567890" "12345678901234567890123456789012345678901234567890" "12345678901234567890123456789012345678901234567890", "H^]Pn]Tv]Vz]X~]Y~_]Z~a][~c][~c][~c]~d][~c][~c][~c]Z~a]Y~_]X~]Vz]Tv]Pn]", "M^]Rh]Tl]Vp]Wr]Xt]Yv]Yv]Zx]Zx][z][z][z][z][z]{][z][z]" "[z][z][z]Zx]Zx]Yv]Yv]Xt]Wr]Vp]Tl]Rh]" }, input[0x10000], output[0x10000], *t, *r, *w, count, x, quote; void WriteData(char *text) { for(; *text; text++) if( 32 - *text ) *w++ = x ^ *text; } int main() { w = input; x = quote = 0; WriteData( "#include" "char *data[] = " "{" " "); *w++ = 34; WriteData(*data); *w++ = 34; *w++ = 44; *w++ = 34; WriteData(data[1]); *w++ = 34; *w++ = 44; *w++ = 34; WriteData(data[2]); /* Decoded source */ x = 1; /*XXX*/ t = data[2 //**/ 2 ]; r = input; w = output; for(; *t; t++) if( 32 - *t ) { count = *t; if( count == 93 ) { if( quote ) { r--; *--w = 92; w++; } *w++ = 10; } for(; count < 92; count++) *w++ = 32; for(; count > 93; count--) { if( *r == 34 ) quote ^= 1; *w++ = *r++; } } *w = 0; return puts(output); }