정보보안 분야에서 해킹은 프로그램 원 제작자가 걸어 놓은 프로그램 코드 락 알고리즘을 뚫어서 프로그램 소스를 알아내거나 프로그램 소스를 변경해서 자기 입맛에 맞게 바꾸는 모든 행위를 포함한다. 즉, 프로그램 자체를 제작자의 의도와 다르게 바꾸는 것이 해킹이고, 그것을 나쁘게 바꾸는 것이 크래킹이다.해킹 자체가 범죄는 아니지만 불순한 의도로 악용하면 범죄가 된다. 다시 말해, 코드 락을 뚫어서 프로그램 소스를 확인하기만 하는 것은 범죄가 아니다. 여기에 몇몇 열성적인 프로그래머는 자기가 사용하던 프로그램에서 버그가 발생하면 프로그램 소스 락을 풀어 소스를 확인한 다음 어디가 틀렸는지 리포트를 써주기도 한다. 물론 소스 코드를 그대로 베껴서 파는 것은 당연히 불법이다.오픈 소스 프로그램은 소스 코드 수정이 자유롭고, 상용 소프트웨어라도 프로그램 사용 계약 내용을 준수하며 프로그램을 개조한다면 불법이 아니다. 하지만 계약에서 벗어난 행위(모든 사람에게 공개해 버리거나, 락을 해제하는 크랙을 만드는 등), 피해를 줄 목적으로 임의로 조작된 프로그램을 배포하는 등의 행위는 범죄다.범죄 행위를 하는 해커는 크래커라고 정의하지만, 사실 해커와 크래커를 구분하지 않는 것이 현실이다.