file(1) Standard unix utility. It use /etc/magic db.
PEiD detects most common packers, cryptors and compilers for PE files. It can currently detect more than 600 different signatures in PE files.
Freewere, close source: