Nom : Konvertor Version : 1.90 (marche avec toutes les versions) Disponiblité : http://konvertor.free.fr Protection : trial,name+serial Tools : Softice : Tasm 5 konvertor est une petite application qui permet de convertir des fichiers images (bpm,jpeg etc...) en d'autres formats dont certains très peu connu . La protection du soft est basic : une periode d'essai et un name+serial pour debrider le soft...On va se faire un petit keygen histoire de poa perdre la main :))) Step 1 : On comence par une petite peche au serial . On va l'option qui permet de rentrer un name et un serial . On tape notre nom et prenom ainsi qu'un serial bidon mais on ne valide poa. On fait surgir SI en pressant CTRL D . Et on entre le breakpoint qui va bien pour catcher un serial : BPX Hmemcpy et on relance avec F5 . Now, on valide .BoOM ! SI se met en route mais se bloque au debut de l'api Hmemcpy . Fo qu'on en ressorte pour voir ce qui se passe dans le code principal du proggy . On presse 9 fois sur F12 pour faire une backtrace et on a alors ceci sous les yeux : 0167:0041EB65 CALL ESI 0167:0041EB67 TEST EAX,EAX---- 9 fois F12 et on arrive ici 0167:0041EB69 JNZ 0041EBA3 0167:0041EB6B PUSH 10 0167:0041EB6D PUSH 0043FCDC 0167:0041EB72 PUSH 0043FCC4 0167:0041EB77 PUSH EBP 0167:0041EB78 CALL [USER32!MessageBoxA] bon, y'a rien d'interressant ici : le prog verifie que kelke chose a bien ete tapé dans tous les champs de saisies (nom,company,serial). on continue donc la trace mais avec la touche F10 . Et très rapidement on arrive a ceci : 0167:0041ECB2 MOV CL,[ESP+00000294] --- la chaine contenant nom,company et le mot konvertor 0167:0041ECB9 TEST CL,CL 0167:0041ECBB JZ 0041ECDC 0167:0041ECBD CMP BYTE PTR [EAX],5F 0167:0041ECC0 JNZ 0041ECC5 0167:0041ECC2 MOV BYTE PTR [EAX],20 0167:0041ECC5 MOVSX ECX,BYTE PTR [EAX]--- on prend chak caractère de la chaine 0167:0041ECC8 XOR ECX,[ESP+10]--- et hop, 0167:0041ECCC XOR ECX,13579ACE--- 2 petits xors :) 0167:0041ECD2 INC EAX 0167:0041ECD3 MOV [ESP+10],ECX 0167:0041ECD7 CMP BYTE PTR [EAX],00 0167:0041ECDA JNZ 0041ECBD---- on boucle tant ke toute la chaine n'est poa traitée 0167:0041ECDC LEA EDX,[ESP+000000BC] 0167:0041ECE3 PUSH EDX 0167:0041ECE4 CALL 0042A8B4 0167:0041ECE9 MOV ECX,[ESP+14] 0167:0041ECED ADD ESP,04 0167:0041ECF0 XOR ECX,2468BDF0--- xor final 0167:0041ECF6 CMP EAX,ECX--- compare le bon code & le fake code 0167:0041ECF8 JZ 0041ED28 C enfantin a comprendre . Le prog a en fait recopié votre prénom,le mot konvertor,votre nom . Quand vous etes a l'addresse 41ecb2, faites D ESP+0294, moi j'obtiens ca : 53 4F 4C 69 44 4B 6F 6E-76 65 72 74 6F 72 54 61 SOLiDKonvertorTa 4D 61 4D 42 6F 4C 6F 00-10 87 02 00 00 00 00 00 MaMBoLo......... Donc le proggy a maintenant cette chaine la : SOLiDKonvertorTaMaMBoLo A l'addresse 41ecc2 le prog prends chak caractère de la chaine et fait 1 xor sur la valeur hexa de chak caractères . On remarke au passage test sur le caractère 5fh (correspondant au _ ) . Et le prog finit par faire un dernier xor sur l'encodage total des caractères (41ecf0) . Pour voir le bon code et le mauvais code : a l'eddresse 41ecf6,faites D eax et D edx Bon bah recoder ca ,c vraiment enfantin ..copier/coller lol :) Key proc, Nom :dWord ; on crée la procédure Key xor eax,eax mov eax,Nom bcl: CMP BYTE PTR [EAX],5Fh JNZ nospace MOV BYTE PTR [EAX],20h nospace: MOVSX ECX,BYTE PTR [EAX] XOR ECX,[stocking] ;[ESP+10h] XOR ECX,13579ACEh INC EAX MOV [stocking],ECX CMP BYTE PTR [EAX],00 JNZ bcl XOR ECX,2468BDF0h -- le xor final ret ; ------------ terminé , @+ Key EndP je ne reviens pas sur la facon de recopier une chaine ascii a la suite d'une autre ...On a deja vu ca dans des DNs .... TaMaMBoLo