Ce n'est pas parce que le terme "hacker" n'a rien de péjoratif que le terme "cracker" en est automatiquement sa version maléfique.

Hacker : personnaliser, détourner par la technique un objet de son usage initial.
Cracker : relever un défi technique, casser une sécurité, un verrou ou un interdit numérique.

Bien sur la plupart des formes de Hacking sont légales, certaines ne le sont pas dans certains pays mais devrait l'être : exemple flasher un iPhone, une PSP, une NintendoDS, etc...
La plupart des formes de cracking sont illégales, mais ne sont pas mauvaises (au niveau des intentions) pour autant, faire sauter les DRM, les protections de zones et anti-copies des DVD (libCSS), exploitation de failles dans des concours pour tester la sécurité, etc...

Il y a aussi les virus, mais c'est un mauvais terme :
Certains virus relèvent du cracking, quand ils exploitent une faille structurelle d'un système d'exploitation, souvent Windows, parmi ceux-là certains sont nocifs et d'autres innofensifs.

D'autre virus, comme certains chevaux de troies, n'exploite aucune faille particulière autre que la crédulité de l'utilisateur souvent pour lui nuire, cela à mon sens ne relève pas du cracking.

Pour résumer :

Les hackers s'amusent tout seuls à bidouiller dans leur coin, (parfois en communautés).
Les crackers se rebellent contre toute forme d'autorité ou de contrôle, font un bras de fer, jouent au chat et à la souris, à celui qui pisse le plus loin avec les éditeurs de logiciels verrouillés et autres.
Les escrocs, spammers, phishers, arnaquent les utilisateurs ignorant et crédules et pénètrent sur leurs ordis.

Bien sur, c'est encore une simplification et tous ces domaines se recoupent, parfois les escrocs savent cracker, parfois les hackers crackent les protections DVD ou firmware WIfi.