Crack (informatique)
Un crack ou crac est un programme informatique conçu pour modifier le comportement d'un autre logiciel, la plupart du temps pour lever une impossibilité ou restriction d'utilisation.
Souvent, ces modifications sont destinées à utiliser des programmes payants comme si le cracker (craqueur ou casseur) en avait payé la licence.
Lorsque ces personnes redistribuent ces programmes, on parle alors de warez. Lorsqu'une personne a trouvé comment cracker/craquer/casser un programme, elle peut créer un patch (rustine) qui permettra aux autres de casser le programme sans avoir à se procurer une copie complète du programme.
Il existe trois « grandes catégories » de cracs :
- Le patch ou rustine : modifie directement le logiciel (lui faisant croire qu'il a le bon code d'enregistrement ou autre). Cela permet d'enlever des protections initialement déposées pour le protéger. Il peut enlever la limite de temps sur une version de démonstration d'un logiciel par exemple.
- Le serial : avec un débogueur, permet de trouver un code d'enregistrement valide.
- Le keygen : analyse l'algorithme générant le bon code d'enregistrement pour un nom donné et le reproduit...
Les cracs sont faits par des crackers. C'est une activité illégale (sauf si elle est pratiquée en accord avec la licence du programme) qui ne doit pas être confondue avec celle des hackers (amalgame trop souvent entendu dans les divers médias d'information, qui traduisent les deux termes par pirate informatique).
| Sommaire |
Outils du cracker
- Le désassembleur permet d'interpréter le code compilé en code assembleur.
- Le débogueur (debugger) permet de visualiser l'état du programme en cours d'exécution.
- Des espions divers qui tracent les accès à la base de registre, aux appels systèmes, etc.
Protections à contourner
Le cracker de logiciel est face à un objectif qui peut être :
- Trouver un numéro de série pour enregistrer le programme
- Trouver l'algorithme de génération des numéros de série pour enregistrer le programme à partir de n'importe quel nom par exemple.
- Enlever les diverses protections du logiciel telles que :
- limitation du nombre d'utilisations
- limitation du temps d'utilisation
- limitation des fonctionnalités
- affichage de fenêtres inutiles intempestives
- Modifier le programme pour qu'il convienne à son goût. Cela s'appelle du « reverse » (du terme anglais « reverse engineering ») et cela consiste à implémenter de nouvelles fonctionnalités au programme ou modifier son apparence ou son comportement.
Pour arriver à sa fin, le cracker doit déjouer quelques embûches comme par exemple :
- l'anti-déboguage qui rend le débogueur inutilisable.
- l'anti-désassemblage qui empêche le désassemblage.
- le chiffrement ou la compression qui rendent le programme binaire illisible.
- le code polymorphe qui rend le déboguage très pénible.
Intérêt d'un crac
L'intérêt d'un crac est simple :
- Utiliser frauduleusement un logiciel;
- Relèvement d'un défi
L'intérêt du cracker :
- Il aime;
- Il est payé;
- Ce n'est pas un cracker mais plutôt un programmeur qui apprend à protéger ses logiciels.
Lien interne
Voir Cracker
