|


Le
cracking par Redscott (webmasters)
Le
cracking? Mais euh! Cest koi ca? Eh ben c'est simple le
cracking est l'art de pirater
des logiciels comme par exemple, ken on a une demo ben on
la crack pour avoir une version complete.
Cool, non? Mais...Comment faire? Pas ci vite leschti lame
d'abort il faut ke jvous disent
kelk base sur kel sont les facon de cracker:
Cracker
avec des logiciels comme soft ice en observant
la programmation du prog et en
la modifiant. (Tecknik assez dur!, Faut si connaitre en
programmation c++,c,vb.ect....
Cracker
en téléchargent des crack. (+ facile)
Télécharger
directement des full versions! Et oui cpossible!
Mais il faut trouver les sites!
Les
cracks
Les
cracks se compose de plusieurs sortes :
Les
cracks patch
Les
cracks serial
Les
cracks echanced (version sp dun prog)
ect,..
Les
crack patch sont des petit prog ki crack le prog
Les
crack serial sont tous simplement des numéraux de
registration
Les
crack echanced sont + c0mplex: Kan vous avez cracker un
prog ben apres
des
fois il vous dise ke vous pouvez downloader un splement(uprage)
mais
des
foi on peut pas la downloader en raison de registr alors
il faut telecharger une version
special.
Document
sur le cracking par (jnesais po)
Ces
pages de cracking on été copié sur
un autre site
Cours
de Crack
(1ere
Partie)
Notre
objectif: tout vous expliquer de A à Z pour que vous
puissiez comprendre comment fonctionne le Cracking. Il va
falloir que vous lisiez bien tout attentivement de façon
à bien comprendre le cours...
Qu'est
ce qu'un crack ?
Un
crack, est un ch'tit programme qui va modifier certains
octets à certains emplacements du fichier cible de
façon à jouer à votre jeux préféré
sans CD par exemple. Mais bon, passons aux choses sérieuses,
pour le crack qui suit, certaines fonctions ne seront pas
expliquées du fait de leurs compléxitées
pour les débutants. (tout les bons cracker l'ont
étés un jour ;)
Pour
faire votre premier crack, on a choisi un programme super
fastoche à cracker pour vous montrer un truc super
classique, le saut conditionnel ;))
Comme
son nom l'indique, un saut conditionnel, est un passage
du programme en assembleur qui fait que, si une condition
est remplie ou non, un " saut "vers la suite du
programme d'effectue ou non.
Par
exemple, une barre de défilement s'active a condition
que vous cliquiez avec le bouton de gauche de la souris...Ainsi,
le bouton droit n'aura aucun effet...
Voici
le prog choisi; Start Clean v1.2
Ce
programme sert à supprimer les raccourcis qui ne
menent nul part dans le menu Démarrer.
Tout
d'abord, il faut un logiciel, qui s'appelle un désassembleur.
Comme son nom l'indique, il sert à désassembler
un fichier de façon à le rendre lisible et
plus tard compréhensible. Pour ma part, j'utilise
WinDasm 8.9 facile à trouver sur le net :)
Il
faut aussi se qu'on appelle un éditeur héxadécimal.
Comme son nom l'indique aussi, il sert à faire apparaitre
un fichier sous forme héxadécimal pour pouvoir
remplacer un octet par un autre, de façon a pouvoir
quand même executer le prog après modification(s)
précise(s). Mon préferé est HexWorks
3.X, mais il y a ausi WinHex 8.3 dont le crack est fourni
sur le site ;)...N'importe quel éditeur hexadecimal
fera l'affaire :)
Enfin,
il vous faudra dans tous les cas (enfin presque) un cerveau
réveillé et en état de marche ;)
Bon,
passons au crack
D'abord,
lancez StartClean. Au démarrage, une fenêtre
s'affiche pour pouvoir s'enregistrer. Mais le blèm
c'est que vouz avez peut être pas que ca à
faire d'envoyer des tunes, d'ou le crack ;)
Donc,
pour pouvoir voir le programme de façon lisible,
il faut l'ouvrir avec un désassembleur :)
Avant
tout, faite une copie de StartClean.exe
Lancez
WinDasm...
Comme
c'est le premier lancement de WinDasm, il faut choisir la
fonte par default que l'on va utiliser...Faites :
Disassembler
=>Font... => Select Font =>...
Et
pour sauvegarder la fonte choisie, faite :
Disassembler
=> Font => Save Default Font.
Allez
cherchez ensuite la copie du fichier executable STARTCLN.EXE
de la façon suivante :
Disassembler
=> Open File to Disassemble...;
double-cliquer
sur la copie de startcln.exe
Ouch!
Ben
ouais, c'est ca l'assembleur ;)
Ce
sont de petites instructions qui s'enchaînent pour
former un tout, un programme.
L'assembleur
est le language de programmation le plus bas. Quand vous
programmez que se soit en Delphi ou en C, tout est traduit
en assembleur pour que votre prog soit compréhensible
par l' ordinateur, car ne l'oublions pas l'assembleur, c'est
le language machine par exellence. Ses avantages résident
dans le fait qu'il est tout de suite compris par la machine,
ainsi, un programme, même écrit en C sera exécuté
moins rapidement que s'il avait été fait en
assembleur ( de quelques dixièmes de secondes, mais
bon... ).
Ok,
vous devez peut-être vous dire " bordèl
c'est quoi ce truc, je quitte ça et je retourne télécharger
des cracks tous faits!" Si c'est ce que vous vous dites,
alors quittez ce tutorial, et vous serez obligé d'attendre
sur le net que les cracks sortent, et surtout, vous ratterez
le plus important, la satisfaction personnelle et le monde
superbe qu'est l'assembleur.
Par
contre si vous vous dites " bordèl c'est quoi
ce truc, c'est chelou mais j'ai quand même envie de
savoir comment on s'y prend pour cracker" ; alors la
suite de ce tutorial est pour vous ;))
Récapitulons.
En démarrant Start Clean, une option nous propose
de vous enregistrer. Allez-y et entrez un truc bidon puis
faite Ok. Si ça marche, c'est que vous avez un méga-bol
du fait qu'il y des possibilitées quasiment infines
! Sinon le prog vous affiche " Incorrect code !".
Un saut conditionnel est donc présent :)) Dans la
boîte de dialogue en question où l'on doit
entrer son code et-tout, il y a deux cellules de saisie.
Celle du nom et celle du code ;) L'une s'appelle "name",
et l'autre "code"
C'est
à ce moment là que l'on va faire un ch'tit
peut d'assembleur...
Revenez
a WinDasm.
Avant
de lancer une recherche sur un mot, on va se placer directement
à l'entrée du prog, car ce qu'il y a avant
on s'en fou un peut ;) Pour ca, faites: Goto => Goto
Code Start...
Lancez
ensuite une recherche automatique sur le mot "name";
( ne rentrez pas les guïllemets ), car il fait partie
de la boîte de dialogue se chargeant de la saisie
du code. On pourrait aussi rechercher " code "...
Pour
faire cette recherche, faites: Search => Find Text..
Et
là, vous allez forcement tomber sur quelque chose.
Cependant, il se peut qu'il y ait plusieurs fois ce mot
dans le programme...donc, par mesure de prudence, faites
"Suivant"
Vous
verrez alors que vous arrivez a d'autre endroit du programme...Alors,
que choisir ??
Revenez
au debut du code ( Goto => Goto Code Start..). Refaite
une recherche et arretez vous a la seconde occurance de
" name " (qui doit etre trouvée a la ligne
375), car elle se trouve à un endroit particulièrement
interressant. Mais alors pourquoi cet endroit est t-il si
interessant ???
Parce
que si l'on observe bien cette petite partie (ce qu'il y
a avant et apres...), on remarque que l'indication "*Reference
To: ADVAPI32. RegCreateKey, Ord: 00C6h "est affichée.
Cette
indication de fonction indique que Start Clean va inscrire
un truc dans la base de registre de Windows, sans doute
votre nom et code...a condition que votre code soit bon
:)
Voyons
voir ce listing...
L'instruction
que l'on recherche est un saut conditionnel. En assembleur,
ca se traduit par :
JNE,
JNZ... qui sont des sauts appelé de "non egalité"...
JE,
JZ.... qui sont des saut qui s'effectue en cas d'"egalité"...
Egalité
signifie ici "deux valeur identique"... Lorsque
que le programme va comparez votre code avec le vrai, il
va indiquez si il sont "egaux" ou non...
Si
le saut est de forme JE, alors on dira que "le saut
se fait si les codes sont égaux".
Si
le saut est de la forme JNE, alors on diras que "le
saut se fait si les codes ne sont pas egaux"...
Il
existe un type de saut appelé inconditionnel, c'est
a dire que le saut s'effectue sans conditions...
Ce
saut s'ecrit JMP en assembleur, mais cela ne nous serviras
pas pour ce tutorial...
Donc,
pour revenir a StartClean, il va falloir qu'on trouve tout
les sauts qu'il y a dans le bout de code ci dessus, puis
qu'on analyse ou est-ce qu'il nous font sauter...
On
est chanceux, ici il n'y a qu'un seul saut qui est a l'adresse
004011EB, et qui est situé juste apres un test (Un
TEST est l'instruction qui determine si une valeur est egale
a zero...).
L'instruction
JNE 00401271 signifie : "Sauter a l'adresse 00401271
si la valeur testée n'est pas egale a zero."
Il
y a fort a parier que la valeur testee soit le numero de
serie que vous avez rentrer au pif.
Il
faut bien comprendre que souvent, un numero de serie est
considere comme valide lorsque la valeur du test est egale
a zero. Autrement, dans le cas ou le test n'est pas egale
a zero, alors ce numero est reconnu comme incorrecte...
C'est un peu comme le courant electrique : 0=ouvert et 1=fermer...Compris
?
Donc,
"Sauter a l'adresse 00401271 si la valeur testée
n'est pas egale a zero." siginfie que si le code est
mauvais, on va "sauter" tout ce qu'il y a entre
l'adresse 004011EB (l'endroit d'où l'on saute) et
l'adresse 00401271 (l'endroit ou le saut nous amene...).
Regardez
sur le listing...concretement, le saut va passer au dessus
de toutes la partie du programme qui inscrit notre nom et
notre code dans la base de registre...
Par
contre, si le code est bon, le saut ne s'effectue pas et
le programme va continuer son listing en passant par "
* Reference To: ADVAPI32.RegCreateKey " et " *
Reference To: ADVAPI32.RegCloseKey " qui represente
la procédure de création de votre code perso
dans la base de registre de Windows 9x. Cette étape
est importante à comprendre et si vous ne l'avez
pas comprise relisez la plus attentivement...
Donc,
il va falloir que l'on modifie le saut jne 00401271
Dans
ce cas de figure, il faut faire ce que l'on appelle "nopper"
une valeur :)
Mais
avant, un p'tit cour sur l'héxadécimal s'impose
:))
L
'héxadécimal
D'abord
oubliez la façon dons vous avez appris à compter.
Parce qu' en héxa, on compte le la façon suivante
:
1
2 3 4 5 6 7 8 9 A B C D E F
Par
exemple 15 en décimal s' ecrit F en héxadécimal.
Mais pouquoi dit'on héxadécimal ? Tout simplement
parce qu' après les neufs premier chiffres il y à
six lettres, 6 d'où héxa, comme un héxagone
a six cotés ;) Sinon pour ce qui est des conversions
étout, nous verons ca dans un autre tutorial ;)
Que
veut dire nopper une valeur ?
Nopper
une valeur, veut dire que l'on va remplacer une valeur par
un 90 en héxadécimal, ce qui correspond à
un no opperation .L'instruction nop en assembleur est un
peu bizarre, puisqu'elle ne sert à rien. Sauf dans
certains cas pour faire perdre du temps CPU en encombrant
ses entrées/sorties.
Voici
une petite liste qui vous indique la valeur Hexadecimale
de quelque instruction Assembleur.
NOP
90
JNE
75
ou 0F85xxx
JE
74
ou 0F84xxx
JMP
EB
ou E9
XOR
33
RET
C3
Il
existe encore beaucoup d'autres instruction, mais qui sont
peu interessantes a notre stade ;)
Regardez
la valeur " 0F8580000000 " se trouvant à
la gauche du "jne" dans le listing.
C'est
en fait sa valeur en assembleur convertie en héxadécimal.
0F85 c'est JNE et 80000000 c'est le bloc memoire ou l'on
saute... Un bloc mémoire, si vous ne savez pas, c'est
un peut comme un petit carré de mémoire éléctronique
qui va contenir une information. Par exemple si vous collez
un post-it avec écrit dessus " achète
du pain pour ce soir "sur un porte, et ben la porte
c'est le bloc mémoire et le post-it l'information
;)
Comment
nopper le saut conditionnel ?
Il
suffit d' ouvrir le fichier STARTCLN.EXE avec votre éditeur
héxadecimal, de lancer une recherche automatique
sur la valeur " 0F 85 80 00 00 00 " (qui represente
le JNE 00401271 en hexadecimal)... Une fois cette valeur
trouvée, vous la remplacer par " 90 90 90 90
90 90 " , puis vous enregistrer les modifications (n'oubliez
pas de faire une sauvegarde du fichier d'origine au préalable,
au cas ou vous vous tromperiez...(on ne sait jamais).
Maintenant,
lancer le programme ainsi modifie...
Quoi
? La boite de dialogue d'enregistrement est toujours présente
? Normal puisque le programme n'a pas encore enregistrer
votre code dans la base de registre de Windows 9x. il faut
donc cliquer sur " REGISTER " et rentrer un nom,
un code bidon, puis cliquer sur Ok.
Et
là ca marche! Car le saut "jne" n'existe
plus, donc le prog continue tranquilement sont listing en
passant par les " * Reference To: ADVAPI32.RegCreateKeyExA
" et " * Reference To: ADVAPI32. RegCloseKey ".
Le prog est donc complet et illimité. Vous pourrez
aussi observer qu'il à inscrit un code personnel
qu'il s'est auto-générer dans la base de registre
de Windows9x ;))
Miracle
? Non, assembleur ;)))
PS:
j'dit pas ca pour vous découragez, mais pour un cracker
conséquant, un tel raisonnement, observations et
crack comprit dans ce type de sécurité ne
prend que deux à trois minutes et encore... Alors
entrainez vous bien et vous verrez, c'est pas si compliquer
que ça en à l'air ;)
Ch'tites
astuces pour bien commencer à cracker :)
-
Lire pleins de tutoriaux fait sur de petit progs et les
comprendres
-
Faut pas se prendre la tête et laisser son ésprit
logique tourner seul, ca donne plus d'endurance
-
Faire une pause de 5 minutes minimum toutes les heures,
quand on commence à cracker, c'est mieux
-
Faire ses devoirs avant ;) , car cracker, surtout pour la
première fois prend du temps
-
S'acheter un p'tit bouquin sur l'assembleur. Pour moi la
réference, c'est " L' assembleur " de Bernard
Fabrot, éditions Marabout, env: 50 balles :)
-
Ne pas s'auto proclamer bon crackeur parce qu'on à
cracker 1 ou 2 progs
-
Avoir un bon écran, car pour le listing, c'est primordial
-
Ne pas rester tout le temps dans le désassembleur
et naviguer de façon équilibré entre
ce dernier et l'editeur héxa (N'ésitez pas
à faire pleins d'éssais)
-
Désassemblez un fichier d'origine et le même
ficher mais cracker pour comparer et comprendre les modif'
qui ont étés faites >>>
DOCUMENT 2
|