Lo cierto es que, aunque se utilizan para lo mismo, usan sistemas diferentes: mientras que un keygen es un ejecutable que genera un código o serial para poder desbloquear el programa, un crack simplemente hace una modificación sobre el programa para poder "completarlo".