-------[  RtC Mag, At the end of the universe  ]

--------------[  Adapter un virus DOS  Windows  ]
---------[ in RtC mag 1 ]
----[  by Androgyne <androgyne-rtc@fr.st>  ]



-------[  Introduction

    Cet article est tir en partie du RtC mag 1, j'ai rajout quelques paragraphes pour que a ressemble  un vrai article...


-------[  Mthode

    Le mode DOS sous Windows n'est qu'une mulation de feu DOS. On ne peut ds lors quasiment rien faire en tant que virus (notamment installer un virus rsidant). En fait, le seul moyen d'accder  l'ensemble de la mmoire en mode DOS est de le faire avant le chargement de Windows, c'est  dire au moment o autoexec.bat s'xecute ou alors au boot mais c'est une autre histoire :)

    De l, plusieurs mthodes se dgagent :

 * Rajouter directement une ligne dans l'autoexec.bat... c'est dangereux mais faisable. On ne va pas le faire ici, je le traite dans un autre article (voir Outro).

 * Infecter un programme excut dans l'autoexec.bat... Et l, c'est plus intelligent : rien n'a chang aux yeux du pauvre utilisateur. Il suffit de rajouter dans le virus une routine spcifique qui infecte un de ces programmes comme par exemple keyb.com...

--- INFECT_KEYB ---------------------------------------------------------------

INFECT_KEYB:
	mov dx,offset keyb_path
	call infect_com
	ret

keyb_path db 'c:\windows\command\keyb.com$'

--- INFECT_KEYB ---------------------------------------------------------------

    Attention, il y a une chose  laquelle il faut faire attention : les faux .com ! Et oui, a existe, ce sont des .exe dguis en .com et le plus clbre d'entre eux est command.com ! Comment les reconnat-on alors ? Rien de plus facile,  l'oeil, s'il font plus de 64Ko, ce sont des .exe, les com sont limits  64Ko (taille d'un segment). Ensuite, dans le code, il commence par les lettres magiques ZM ou MZ, comme les .exe donc la routine pour scanner les mchants faux com... En plus, cette routine permet de rechercher en mme temps ZM et MZ et elle est anti-heuristique (Hi Billy!)

--- IS_IT_EXE -----------------------------------------------------------------

IS_IT_EXE:
	mov al,byte ptr [header]
	add al,byte ptr [header+1]
	cmp al,"M"+"Z"
	ret

--- IS_IT_EXE -----------------------------------------------------------------

    Mais il reste un problme de taille. On ne peut pas devenir rsidant (au sens viral du terme, c'est  dire en dtournant l'int 21h)  partir de l'autoexec.bat... Donc,  quoi a sert ? Ben, l, c'est  chacun d'y voir son intrt ; pour les virus, on est trs limit, mais pour d'autres types de programme, il en va autrement... ;)

    Voil, c'est tout !


-------[  Outro

    Concernant les attaques de l'autoexec.bat, allez voir le code de No-Boot dans les bombes.

-------[  EOF