A black hat is a person who compromises the
security of a computer system without permission from an authorized party, typically with malicious intent. The term
white hat is used for a person who is ethically opposed to the abuse of computer systems, but is frequently no less skilled. The term cracker was coined by
Richard Stallman to provide an alternative to using the existing word
hacker for this meaning. The somewhat similar activity of defeating
copy prevention devices in
software which may or may not be legal in a country's laws is actually
software cracking.
See more at Wikipedia.org...