In general, a
cracker in the context of
computing is a person who compromises a
computer security system without permission of the person operating the system. This can be a person that removes the
copy protection code from software (see also
software cracking), or a person who uses his or her computing skills to compromise or destroy corporate or private computer files over a
network.
Crackers' techniques can vary from using advanced programming skills and
social engineering to utilizing software developed by others
without understanding how the cracking software works.
The latter is often referred to as a
script kiddie.
The term "cracker" seems to have developed in emulation of
hacker with an additional connotation of forcible as opposed to clever. They are sometimes described as "black-hat hackers".
An alternative term for this meaning is
attacker.
See the Jargon File for a view of the history of hacker and hacking.
See also cracking, software cracking.