# chiyo2.pl - Don Yang (uguu.org) # # 11/06/02 sub main { $Y = $#ARGV + 2; @Z = ($0, @ARGV); ($c = q/ int U, V, W, T[256], X; if( Y < 2 ) { printf("%s [...]\n", Z[0]); } else { for(U = 0; (X = U) < 256; T[U++] = X) { for(V = 8; V > 0; V--) { X = (0x7fffffff & (X >> 1)) ^ ((X & 1) ? 0xedb88320 : 0); } } for(U = 1; U < Y; U++) { if( open(I, "< Z[U]") ) { for(X = 0xffffffff; read(I, W, 1) && (1 + (W = ord(W))); X = ((X >> 8) & 0xffffff) ^ T[(X ^ W) & 255]) {} close(I); printf("%s: %08x\n", Z[U], X ^ 0xffffffff); } } } /) =~ s/([T-Z])/\$$1/g; eval $c; return 0; } main();