Cracking no es sinónimo de violación de la protección del software, sino que constituye un método para probar la resistencia del programa frente a los posibles ataques y su posterior difusión ilegal. Resulta prácticamente imposible crear una protección inviolable, lo que no significa que todas las protecciones estén condenadas al fracaso y que no puedan cumplir su misión.