In the context of computer networking, cracking (also called black-hat hacking, or, incorrectly, hacking) is the act of compromising a security system without permission from a responsible party, usually with the intent of accessing computers connected to the network. (The somewhat similar activity of defeating copy protection devices in software with the intent of using the software illegally is addressed at software cracking.)
The term 'cracker' seems to have developed from 'hacker,' with a connotation of forcibility in addition to cleverness.
Cracking 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 type of cracker is often referred to as a script kiddie. (Unskilled crackers are far more common than highly skilled ones.) Common software weaknesses exploited by crackers include buffer overflows and heap overflows.