[PGC
OFFiCiAL KEYGENME ]
par Amenesia |
|||||
Un breakpoint sur GetWindowTextA...
_text:00401A11
push 11h
; nMaxCount
_text:00401A2C
mov SizeName, eax
Donc le serial est composé de 1 à 34 caracteres et le
nom de 1 à 17...
Puis le programme initialise des big (cf la doc de Miracl) et convertit le serial en big: _text:00401A51
push 0
_text:00401A5D
mov eax, SizeSerial
La chaine [PGCTRiAL/2oo2] est ajoutée à la fin du nom : _text:00401A72
push offset aPgctrial2oo2
Puis la chaine est hashée ( MD5 ) _text:00401A81
push offset Name
D'autres big sont alors initialisés... _text:00401AA0
push 0
_text:00401AAC
push 0
_text:00401AB8
push 0
_text:00401AC4
push 0
_text:00401AD8
push BigNum2
_text:00401AE8
push BigNum5
_text:00401AF8
push BigNum4
La valeur 10001 laisse prenser que le programme va faire appel au cryptage RSA...
Effectivement on reconnait juste en dessous la fonction powmod : _text:00401B08
push BigNum3 ; Resultat du calcul
Et finallement le resultat du calcul precedent et le serial sont comparés... _text:00401B25
push BigNum1
Donc pour realiser un keygen il suffirait de faire afficher le BigNum3, c'est a dire:
Bonne continuation ;)
NB: Quel est l'interet d'avoir utilisé RSA ? A priori aucun... ;) Il aurait pu en avoir si a la place de calculer: puis comparé le resultat du calcul au resultat du hash...
|