Crack (informatique)

Un article de Wikipédia, l'encyclopédie libre.

Pour les articles homonymes, voir Crack.

Un crack 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 (crackeur ou casseur) en avait payé la licence.

Lorsque des 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 à étudier la protection de ce programme.

Il existe trois « grandes catégories » de cracks :

  • Le patch, ou rustine : modifie directement le logiciel (lui faisant croire qu'il a le bon code d'enregistrement par exemple). 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.
  • Le serial ou numéro de série : avec un débogueur / désassembleur, permet de trouver un code d'enregistrement valide.
  • Le keygen ou keymaker : analyse l'algorithme générant le bon code d'enregistrement pour un nom donné et le reproduit...

Les cracks sont faits par des crackers. C'est une activité illégale (sauf si elle est pratiquée en accord avec la licence du programme).

Le crack est généralement précédé d'une petite séquence présentant le crackeur et son groupe appelée cracktro (mot-valise de crack et intro).

Sommaire

[modifier] 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.
  • Un éditeur hexadécimal permet de modifier le programme après l'avoir analysé avec le désassembleur.
  • Des espions divers qui tracent les accès à la base de registre, aux appels systèmes, etc.

[modifier] Méthodes du cracker

[modifier] 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 à ses fins, 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. ou l'obfuscation qui rend le déboguage très pénible.

[modifier] Intérêt d'un crack

L'intérêt d'un crack est simple :

  • Utiliser frauduleusement un logiciel
  • Éviter les problèmes d'intéropérabilité avec les composants matériels et applicatifs de l'ordinateur.(ex: le logiciel monopolise votre lecteur de cd ou refuse de s'installer car vous possédez légitimement un graveur et un logiciel de gravure)
  • Relever un défi

[modifier] Voir aussi

[modifier] Liens externes