A hacker is a very general and loosely used term that is used to describe someone who is skilled at modifying or creating computer software or hardware. It may refer to a very skilled person at getting things to work in ways either intended or not intended by the original designer.
The term hacker may also be used to describe a person who either legally or illegally breaks into computer systems. A more accurate and preferred term for someone who breaks into computer systems is "atttacker". Sometimes hackers are called "white hat hackers" and others are called "black hat hackers". The term "white hat hacker refers to a person who breaks into computer systems usually with permission to alert administrators to security problems. A "black hat hacker" is used to refer to a person who breaks into computer systems without permission with the intent of controlling the computer for their own use or for someone's use who is paying them.