# Cracker (informatique)

Un cracker, pirate, ou pirate informatique, habituellement un black hat ou grey hat, est une personne spécialisée dans le piratage de systèmes informatiques ou le cassage des protections dites de sécurité (ex. : protection anticopie) des logiciels.
Il conçoit des outils appelés cracks, qui contournent les protections des logiciels tels que les protections anticopie (de logiciels ou de documents audiovisuels) ou les partagiciels (qui nécessitent des clés d'enregistrement).
Le terme désigne parfois un cryptanalyste spécialisé dans le cassage de codes cryptographiques.
Le présent article se concentre sur le concepteur de cracks.

## Usage du terme et synonyme

Le terme cracker fut proposé sur Usenet vers 1985 pour riposter à l'usage jugé impropre de hacker. Vers 1981-1982, une tentative d'imposer WORM dans ce même sens se solda par un échec.
En 1993, le RFC-1392 définissait un cracker comme un individu cherchant à accéder à un ordinateur sans en avoir l'autorisation. Cette formulation est maintenue par Gary Scott Malkin dans le RFC-1983 (1996). Pour ce dernier, hackers et crackers s'opposent, un cracker se limitant à chercher l'intrusion par tous les moyens à sa disposition. Mais rapidement, le cracker fut simplement considéré comme un type particulier de hacker, habituellement un pirate informatique mais pas nécessairement.
À noter qu'un script kiddie est un type de pirate informatique mais il n'est pas reconnu par les hackers comme l'un des leurs ni même comme un cracker même lorsqu'il pirate des sites internet, car il comprend trop peu le fonctionnement interne des outils qu'il utilise pour être capable de les écrire lui-même.
En français, l'usage est de traduire « cracker » par « pirate informatique » ou simplement « pirate », ce qui est beaucoup plus facile à comprendre par les non-spécialistes et largement préférable que de présenter par erreur un pirate informatique comme étant un cracker s'il ne l'est pas.

## Les moyens techniques utilisés par le cracker

Le cracker dispose au moins d'un minimum de connaissances en programmation informatique et a de bonnes — voire d'excellentes — connaissances en assembleur. Ses principaux outils sont généralement un désassembleur, un débogueur, un éditeur hexadécimal et un éditeur de texte permettant au minimum la création de macro-définitions.
Ces outils lui permettent de comprendre le code envoyé au processeur et par conséquent le fonctionnement de la partie du programme observée. Un cracker ayant un bon niveau aura par définition la capacité d'écrire ses propres programmes et de s'en servir comme outils dans son activité. Ces outils peuvent être génériques ou spécifiques au programme à cracker.
À moins d'être débutant, il maîtrise habituellement très bien le Langage C, le C++ et plusieurs autres langages de programmation.
Les créateurs de logiciels utilisent diverses techniques pour empêcher les cracks. Dans la pratique, il n'y a pas de technique infaillible : l'éditeur de logiciel peut seulement rendre plus difficile et long le travail du pirate et parfois ces mesures nuisent plus à leur clients qu'aux pirates. Des logiciels permettant de compresser (UPX par exemple) ou de chiffrer les programmes peuvent décourager les crackers les moins expérimentés ou les moins tenaces, mais ne fera que retarder un spécialiste motivé.
Cependant, le cracking ne se limite pas à l'attaque ni à l'étude de logiciels, mais nécessite parfois des connaissances avancées en cryptographie, domaine dans lequel leurs connaissances mathématiques et informatiques font de certains crackers d'excellents casseurs de code.

## À quoi aboutit-il ?

À un crack, par exemple une clé d'enregistrement, un générateur de clés ou une version modifiée du programme « cracké » dont certaines restrictions d'utilisation sont supprimées ; on parle alors de patch.
Les crackers ont tendance à considérer que le nec plus ultra est le générateur de clés (ou KeyGen) parce qu'il est « propre » (il ne modifie pas le programme original) et qu'il nécessite une compréhension de l'algorithme de génération des numéros de série.
Cependant, l'utilisation de keygens peut poser des problèmes de traçabilité si le programme client valide la clé factice auprès d'un serveur sur internet. Les keygens obligent parfois à interdire l’accès au web au programme en utilisant un pare-feu par exemple.
Aujourd'hui, à l'heure d'Internet où la plupart des machines sont connectées en permanence, le nec plus ultra c'est un programme complètement fonctionnel mais aussi et surtout complètement furtif.
Les modifications de comportement d'un programme les plus prisées sont :
* la suppression d'une vérification de licence. Dans ce cas, la motivation du cracker est la même que lorsqu'il crée une clé d'enregistrement ;
* la tricherie dans les jeux vidéo (ce type de crack est alors appelé un Trainer) :
** permettre dans un jeu de passer une étape difficile par divers moyens. Actuellement, la plupart des jeux vidéo intègrent cette possibilité, les éditeurs considèrent que la prolifération de telles techniques exprime un besoin réel des utilisateurs ;
** donner à un joueur un avantage dans les jeux multi-utilisateurs ; les créateurs de logiciels et beaucoup d'utilisateurs combattent vigoureusement cette utilisation des cracks.
Toutefois, il existe une autre utilisation de ce type de crack : modifier l'objectif du jeu. Le nouvel objectif est de trouver le meilleur patch possible pour gagner. Tous les joueurs sont informés de cet objectif et il ne s'agit donc plus de « triche ».

## Motivations du cracker

Les motivations des crackers sont assez difficiles à cerner et deux discours sont entendus suivant de quel côté de la « barrière » on se place.
Les crackers ont tendance à mettre l'emphase sur la difficulté technique et la compétition qui s'instaure entre eux, ou entre crackers et créateurs de logiciel. Ils considèrent que quelqu'un qui utilise un de ces moyens pour utiliser un logiciel ne l'aurait de toute façon pas acheté, donc qu'il n'y a pas de perte financière pour les éditeurs de logiciels, cela est aussi le point de vue des utilisateurs de crack. Il est également souvent arrivé que des gens crackent leur copie même si elle est légale lorsque les éditeurs utilisent des protections anti-pirate qui nuisent plus à leur client qu'aux utilisation de versions piratées.
Dans cette optique, le crack n'est vu que comme un défi technique n'ayant pas d'impact économique (la perte se calculant sur les ventes « théoriques » du logiciel) et cette « course à l'armement » technique renforce la sécurité des logiciels du marché, qui deviennent d'autant plus difficiles à casser. On ne peut ignorer aussi qu'un certain nombre de personnes se trouvent des « deux côtés de la barrière » : beaucoup de crackers sont également programmeurs professionnels.
Parfois, les crackers font même des crackmes (crackez-moi), programmes destinés seulement à être crackés en trouvant un bon numéro de série ou mieux, en créant un générateur de clés. Ces crackme, diffusés en défi aux autres crackers, sont souvent plus difficiles à briser que de « vrais » programmes. Ils peuvent servir d'entraînement ou d'évaluation du niveau du cracker. Celui qui n'arrive pas à trouver la solution d'un crackme simple est appelé « silvere », celui qui y arrive se voit reconnu par les autres crackers comme l'un des leurs.
Les créateurs et éditeurs de logiciel, eux, considèrent le point de vue économique. Certains estiment que les pirates ne sont pas des clients et que de les combattre trop agressivement n'est pas économiquement rentable, et donc se concentrer sur leurs clients et possiblement offrir à ceux-ci une valeur ajoutée que les pirates n'auront pas. D'autres évaluent ou soutiennent qu'un crack utilisé par 5 000 personnes sur un logiciel valant 100 € leur cause un manque à gagner de 5 000 000 €, ce qui suppose que la plupart de ces personnes auraient autrement acheté le logiciel plutôt que de s'en passer. Cette dernière hypothèse est rarement réaliste, à part pour certains logiciels spécialisés, à supposer que leurs utilisateurs aient les moyens de payer tous les logiciels qu'elles utilisent.
Au début, la motivation des crackers est habituellement le défi, la reconnaissance par une communauté ou simplement de faire fonctionner le logiciel qu'ils utilisent sans restriction (parfois même avec une copie qui serait autrement légale). À part pour les crackers professionnels, le gain économique personnel est rarement une motivation essentielle, et plusieurs ne publient pas publiquement leurs cracks.

## Crackers et phreakers connus

* Kevin Mitnick : Cracker / Phreaker
* Kevin Poulsen : Phreaker
* Gary McKinnon : Cracker / Phreaker
* John Draper, alias Captain Crunch : Phreaker