Le Manuel Du CrAcKeuR ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Part 2 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ I-INTRODUCTION ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Re-bonjour et bienvenue dans la 2‚me partie de mon tutorial :). Cette fois on s'attaque … un peu plus amusant mais pas trŠs dur quand mˆmme... -Softice V3.2 Ce logiciel est un d‚buggeur, c'est … dire un programme qui permet de suivre le programme alors qu'il s'execute et ainsi de rep‚rer par exemple l'endroit ou il compare votre serial au bon serial. Il existe d'autres d‚buggeurs comme Turbo Debuggeur qui est distribu‚ avec les programmes Borland mais il est loin d'ˆtre aussi performant que Softice... -W32Dasm V8.9 Il ne sera pas vraiment n‚c‚ssaire mais permet d'avoir une vue d'ensemble du programme.... ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ II-GO AND FIGHT ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ La derniŠre fois le logiciel … cracker ‚tait poua trŠs connu alors cette fois ‡i je vous propose un peu plus connu(en fait je pense que tout le monde l'a :) , c'est Acdsee V2.0(je sais c pas la derniŠre mais c la meilleure :). Bon cette fois y va falloir bosser :). Alors pour commencer vous installez softice, dans softice(Ctrl+D) vous aurez besoin d'enabler plusieurs options qui vous permettront de voir plus de choses: CODE ON ;Permet de voir les code hexadecimaux des instruction asm DATA ;Permet de modifier ces instructions R ;Affiche l'‚tat des registres voila 3 trucs que vous devrez tapez pour avoir tout ce dont vous avez besoin sous les yeux. Bon revenons … nos moutons :), lancez acdsee et comme d'ab allez dans help->register et la il vous demande un code et un nom...alors la on fait un ptit ctrl-d et on est sous softice, vous tapez alors TASK pour savoir sous quel nom runne acdsee.....normalemment il devrait runner sous le nom "Acdsee32". Pour savoir les diff‚rents sous-objets qui composent cette application vous tapez HWND Acdsee32 et vous obtenez un liste. Dans cette liste il y a 2 edit qui sont en fait les zones ou vous ‚crivez votre nom et votre s‚rial. Vous relevez donc un des Window Handle(le nombre le plus … gauche) de type edit et vous tapez un ligne comme celle ‡i: BMSG 1234 WM_Gettext en rempla‡ant bien ‚videmment le num‚ro 1234 par le window handle du edit... Nous venons l… de poser un breakpoint qui arretera le programme et lan‡era softice quand Acdsee32 enverra le message WM_Gettext … la boite de dialogue(pour r‚cup‚rer le texte quoi....) Donc nous rentrons un nom et un s‚rial bidon et on appuye sur OK. Et pof Softice apparait, on appuye sur ctrl-d car de tout fa‡on le programme n'a pour le moment que r‚cup‚rer le nom...softice break encore et la vous appuyez sur F12 le temps de revenir dans le code du programme acdsee qui devrait se trouver dans les 0137:004XXXXX ou qqchose comme ‡a... Plus exactement vous devriez avoir le code suivant devant les yeux: ****************************************************** lea eax, [esp+38] ;Met l'adresse du pass dans eax lea ecx, [esp+18] ;Met l'adresse du nom dans ecx push eax push ecx ;Met sur la pile call 00402FC0 ;Verifie le pass add esp,08 test eax,eax jle 0040372A ;Si mechant gar‡on Fait le jump ****************************************************** Ici si vous essayez de changer le jump le logiciel vous dira 'merci de vous ˆtre enregistr‚' mais il ne s'enregistrera pas......donc nous allons devoir ‚tudier plus en profondeur le premier call. Pour cela vous mettez un break en double cliquant sur le call dans softice...donc vous recliquez sur Ok et softice break, la vous rentrez … l'interieur du call en appuyant sur F8. Bon dans cette boucle le premier call verifie si le nom fait plus de 5 caract‚res, si oui il met eax … un si non il met eax … 0. Et juste aprŠs ce call il fait un ret si eax==0. Bon moi j'ai rentr‚ SaTaNiK comme nom donc ‡a marche :). Ensuite le programme ne fait plus qu'un call et retourne d'ou il vient....donc ce call la verifie le password...mais si vous rentrez dans ce call l… vous vous rendrez vite compte que la proc‚dure est assez complexe.... Mais regardez juste aprŠs ce call il y a quelques trucs int‚ressants: **************************************************** call 00421750 ;Voici donc le jump qui ;Verifie le serial add esp, 0000000C cmp eax, 00000001 ;Hoooo comme c'est interessant :) ;Il compare deja eax =) sbb eax, eax pop esi inc eax ret ;Pis il retourne du call ***************************************************** Et oui il compare deja eax pour voir si le serial est bon... et cette comparaison … pour cons‚quence de modifier le contenue de eax en dessous :). Donc nous avons cette comparaison … modifier: 83 F8 01 cmp eax, 00000001 en 83 F8 00 cmp eax, 00000000 Et voila le tour est jou‚ :). ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ III-CONCLUSION ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Voila, voila c'est finit pour mon deuxiŠme cours de cracking... SaTaNiK http://www.multimania.com/gripsou/