Nom : CodeVision AVR Version : 1.0.0.6 Protection : Keyfile Disponibilité : http://dhptechn.webjump.com/ Il y a un password sur le 2ème Zip : j9r56agpy26 (thx SaDe!) Tools : Softice 4.0 Editeur Hexa Brain/coca/ganja CodeVision AVR est un compilateur C : genre le truc qui sert à rien quand on code en AsM ...Mais bon comme c'est un pote qui m'a demandé la releaze je veux bien faire un effort . En plus le crack est facile, idéal pour vous les newbies . La protection est un 'keyfile', c'est un petit fichier renfermant un clef, codée de préférence . Si le programme ne trouve poa ce fichier, ou que la clef n'est poa bonne, il ferme l'apply .Radical. Step 1 Bon, quand on lance CodeVision, si le fichier key n'est pao là, il nous affiche un nag avec un numéro de série propre à votre machine, que l'auteur vous demande de communiquer par mail (avec un petit cheque ,huhuhu!) afin de vous renvoyer le keyfile . C'est par ce nag que j'ai attaqué le soft . On lance le proggy et il nous balance le nag à la con . Bon, nous on va mettre un breakpoint sur le bouton et faire une backtrace avec F12 à l'aide de SI(oui, j'adore cette technik !...). On fait surgir (tel zorro dans la nuit koi;.;:) : CTRL D.Maintenant il faut nous retrouver notre proggy en mémoire : TASK sous SI . Chez moi j'obtiens ça: TaskName SS:SP StackTop StackBot StackLow TaskDB hQueue Events Cvavr 0000:0000 0085B000 00860000 3216 31C7 0000-- ici Mswheel 0000:0000 0054E000 00550000 3746 36E7 0000 Point32 0000:0000 0064B000 00650000 38BE 3897 0000 Systray 0000:0000 0063D000 00640000 2ABE 3927 0000 Taskmon 0000:0000 0063E000 00640000 2C26 2AA7 0000 Tapisrv 0000:0000 0064D000 00650000 30DE 2DD7 0000 Rnaapp 0000:0000 0063D000 00640000 2F36 2EE7 0000 Explorer 0000:0000 0059A000 005A0000 2256 2877 0000 Serv-u32 0000:0000 0067C000 00680000 248E 2377 0000 Mstask 0000:0000 0056E000 00570000 24EE 2417 0000 Mprexe 0000:0000 0072E000 00730000 1B0E 28B7 0000 MMTASK 269F:1F80 00B2 201C 201C 26C6 2687 0000 MSGSRV32 1DDF:7CF0 0124 7D8E 7D8E 15CE 2097 0000 On repère facilement notre proggy (Cvavr) . On va voir tous les évènements que le proggy génère : sous SI, HWND Cvavr . Chez moi, j'ai ceci sous le yeux: Window Handle hQueue SZ QOwner Class Name Window Procedure 0374(1) 31C7 32 CVAVR TForm2 13FF:00000D8A 040C(2) 31C7 32 CVAVR TPanel 13FF:000010E4 0408(2) 31C7 32 CVAVR Button 13FF:000010CE--celui là 02E8(1) 31C7 32 CVAVR TForm1 13FF:00000A9E 0404(2) 31C7 32 CVAVR TPanel 13FF:0000108C 03F0(1) 31C7 32 CVAVR TGotoLineFrm 13FF:00000FDC 0350(1) 31C7 32 CVAVR TStatusFrm 13FF:00000CC4 0348(1) 31C7 32 CVAVR tooltips_class32 13FF:0000004E 0340(1) 31C7 32 CVAVR TConfigureToolsFr 13FF:00000C82 0344(2) 31C7 32 CVAVR TTreeView 13FF:00000C98 0330(1) 31C7 32 CVAVR TNewFrm 13FF:00000C2A 0334(2) 31C7 32 CVAVR TRadioGroup 13FF:00000C40 033C(3) 31C7 32 CVAVR Button 13FF:00000C6C 0338(3) 31C7 32 CVAVR Button 13FF:00000C56 032C(1) 31C7 32 CVAVR TDebuggerFrm1 13FF:00000C14 02FC(1) 31C7 32 CVAVR tooltips_class32 13FF:0000004E 02EC(1) 31C7 32 CVAVR TEditProjectFrm 13FF:00000AB4 02F0(2) 31C7 32 CVAVR TPageControl 13FF:00000ACA Bon nous on cherche une 'Class Name' ayant comme nom 'Button' . Ca tombe bien 'y en a plein . On en prend une au pif, sachant que moi j'ai pris la première (voir dump SI) . On place notre Bpx : BMSG 408 0202 . 408 correspond au 'Window Handle' et 0202 au breakpoint WM_LbuttonUp (déclenche Si dès que le bouton gauche de la souris est activée sur un bouton d'un nag (ok,cancel,etc..)). Et on relance le tout avec F5 et on clique sur 'OK' .Boom! SI se déclenche ... Bon , maintenant on fait notre Backtrace en pressant 65 fois (!) sur F12 . Et on a alors ceci sous les yeux : 015F:0046A6FF CALL 00439D68 015F:0046A704 MOV EAX,[004BDD40] 015F:0046A709 MOV EAX,[EAX] 015F:0046A70B CALL 0042CF80 ------- le call qui affiche le nag 015F:0046A710 MOV EAX,[004BDC28] 015F:0046A715 MOV EAX,[EAX] 015F:0046A717 CALL 0042EF84 ------- et le call qui ferme le proggy 015F:0046A71C POP EBP 015F:0046A71D RET Vous demandez surement comment je sais qu'il faut presser 65 fois sur F12,non ? Boa 'y a raisonement logique : tant que le nag ne s'est poa effacé, vous pouvez être sur à 99% que vous êtes toujours dans la routine d'affichage du nag .Nous ce qu'on veut c'est retomber après afin de voir exactement où elle commence . Il faut donc que le nag se soit effacé . Après que le nag se soit effacé, il faut faire confiance à son intuition voir mieux à son expérience . En effet, il est rare que derrière la routine qui tue le nag, on se trouve au début la routine qui affiche la nag : il faut encore faire kelkes coups de F12 pour être au bon endroit .Par exemple dans notre cas, c'est au bout de 63 fois que le nag s'efface . Et en fait la routine commence au bout de 65 fois ... Note l'addresse 46A70B . On prend symbol loader et on ouvre notre proggy . On met notre petit BPX : sous SI, BPX 46A70B . Et on relance avec F5. ReBOom! SI se déclenche et avant l'affichage du nag . Virez le CALL 42CF80 (en 46A70B) et le CALL 42EF84 (qui en fait ferme le proggy) . Bingo!:) Le nag ne s'affiche plus et le proggy ne ferme poa... Pour ce crack , prendre son éditeur hexa et se rendre aux offsets : 69B0B et mettre 90,90,90,90,90 69B17 et mettre 90,90,90,90,90 TaMaMBoLo/CC/SNT/SML