..........................I tipi di virus.........................
Prima di iniziare con la programmazione di un virus, vi voglio ricordare, più o meno, i tipi di virus che esistono.Per prima cosa, bisogna distinguere i virus programmati per infettare files che girano sotto Windows, e quelli creati per MS - DOS.Iniziamo con i virus "fatti per Dos" : Ci sono i boot virus, cioe' virus che infettano e rimangono residenti nel boot sector di un dischetto oppure di un disco fisso.Ci si può infettare solamente facendo partire il PC da un dischetto infettato, anche se esso non è un discho di avvio.Nel Bios si può scegliere l'opzione di cambiare la sequenza del boot da "A: C:" a "C: A:" . Così, anche se c'e' un dischetto nel drive, non verrà letto il boot sector.Dicono che questa sia la causa di infezione maggiore, anche se, onestamente, non ci credo, visto che per infettarsi con un boot sector virus bisogna essere abbastanza coglioni.Comunque, ormai un buon Anti-Virus lo nota subito se c'e' qualcosa nel boot sector che non va.I boot sector virus sono abbastanza facili da rimuovere, nella maggior parte dei casi basta creare un nuovo MBR, cioe' un Master Boot Record nuovo.Ci sono tanti programmi AV che hanno questa opzione, oppure, basta anche un semplice Fdisk/mbr.
Andiamo avanti con i files-virus, i virus che infettano i propri dati sul disco fisso.Anche qua ci sono diversi tipi.I più semplici sono gli overwriting-virus, sono virus che sostituiscono l'inizio di un file con il proprio codice virale.Così il file stesso sarà distrutto, e quando questo file verrà eseguito, si attiva solamente il codice virale, continuando la sua infezione.L'utente se ne accorge subito, visto che il programma non verrà eseguito, quindi il virus sarà scoperto subito.Per questo gli overwriting- virus a volte non sono molto apprezzati nella scena, anche perchè il loro codice non è molto complesso, quindi non è molto difficile programmarne uno.E poi non avrebbe neanche senso spendere del tempo per applicare tecniche soffisticate ad un overwriting-virus, visto che la sua presenza viene individuata molto velocemente.Però vi posso consolare
J ogni grande virus-writer avrà iniziato con questo tipo di virus, proprio perchè non è molto difficile.Quindi anche noi inizieremo con quelli, imparare sono molto utili.Esamineremo per diversi codici virali, e piano piano andremo avanti con il livello di difficoltà.I virus più "decenti" sono gli appending virus, cioè si agganciano al file quando infettano.Viene modificato solamente l'inizio del file, dove ci "sta scritto" che quando eseguito, deve saltare alla fine del file, dove si trova il codice virale.In questo modo, quando un programma infettato viene lanciato, si attiva prima il codice virale, e poi il programma stesso.Il più grande vantaggio di questo virus, è che l'utente non se ne accorge, il programma parte normalmente.Però un file infettato aumenterà di grandezza, visto che il virus si aggancia.Ed è proprio questo che gli Anti-Virus sfruttano, il cambiamento della grandezza del file.La maggior parte di questi virus è residente in memoria, cioè quando eseguito, il virus si carica automaticamente nella memoria e infetterà ogni programma che verrà eseguito.Ma delle tecniche che vengono usate per infettare i files ne parleremo più avanti.Un'altra cosa molto importante è la struttura dei files eseguibile.Programmare un virus che infetta solamente eseguibili con la estensione .com è più facile di farne uno che infetta files .exe.Questo perchè l'intera struttura di un .com file è del tutto diversa da quella di un file .exe.Un "buon" virus quindi contiene le routines per infettare tutti e due tipi.Adesso è ancora troppo presto spiegare la differenza tra un com e un file exe,per ora basta sapere che sono due cose diverse.Un altro tipo di virus sono i companion.Quando viene eseguito un programma, i files .com hanno la precedenza.Poi i files .exe e infine i files .bat. Ora, basta semplicemente che il virus faccia una copia del file .exe, diciamo Programma.exe, cioè lo fa chiamare Programma.com e lo nasconde.Quando l'utente farà partire Programma,(pensando ovviamente che si tratti di Programma.exe) partirà prima Programma.com, così che il virus si attivi, e poi Programma.exe.In questo modo l'utente "inesperto" non noterà nessun cambiamento.Questo più o meno quello che riguarda i virus per Dos.Per quello che riguarda Windows, la facenda si complica un pochino, specialmente se si tratta di un virus destinato a infettare files solamente sotto Dos.Un virus semplice, fatto per Dos non riconosce se un file eseguibile appartiene a Windows o meno.Cercherà,logicamente, files .exe che però non sono progettati per Dos, e li infetterà.Il problema è che i files .exe per Windows hanno un'altra struttura di quelli per Dos, è l'esito di un exe file infettato da un dos-virus sarà spesso il non-funzionamente totale del file, cosa che ovviamente non è voluta nè dal dos-virus, e nè dal file eseguibile per Windows J Queste ora sono tecniche ancora troppo complicate per una che sta iniziando ad imparare, diciamo che un virus decente sa distinguere un exe per dos da quello di Windows, e così quello per Windows semplicemente non lo infetterà.Ci sono diversi virus programmati per Windows, a base di files .exe, però un altro, importante capitolo sotto Windows sono i macro-virus.Sono dei virus che infettano documenti Word, usando dei macro.Molto spesso, aprendo un documento infettato con macro, il file normal.dot viene infettato, e così anche ogni documento che verrà aperto, creato o modificato.Ma anche qua c'e' una vasta gamma di virus.Ma per imparare, il nostro "territorio" con il quale ci occuperemo, saranno i virus DOS.