Newsgroup: it.comp.lang.visual-basic
Titolo: [?] Antivirus e Vb... analisi di fattibilità...

Il recente thread-flame scatenato da moonshine su questo NG mi ha fatto 
discutere parecchio con i miei amici riguardo alla curiosa seppur non 
impossibile idea proposta all'inizio del thread: un antivirus in vb.
Premetto: NON VOGLIO REALIZZARE un AV in VB....
Però la questione in proposito mi ha fatto sollevare (a me stesso) parecchie 
domande....
Sempre ammesso che
1) Non c'è motivo per fare un altro av
2) Non c'è motivo per farlo in vb
3) anche facendolo non ci sarebbe nessun bacino d'utenza per il software...
Volevo chiedervi alcuni pareri sulla fattibilità....
La condizione FONDAMENTALE è che il progetto sia realizzato INTERAMENTE in 
vb6.
Sicuramente vb6 è sufficentemente complesso per riuscire a realizzare un 
antivirus funzionante.
A mio parere, il problema non sarebbe la fattibilità, quanto eventualmente 
le performances...
E la prima domanda è proprio questa, anche secondo voi il problema sono solo 
le performances o è anche una questione di fattiblità intrinseca?
La seconda, ammettendo di fare un antivirus che effettui una scansione dei 
files alla ricerca di minacce basandosi su un database di firme, secondo voi 
in vb sarebbe meglio utilizzare una tecnologia database di quelle fornite in 
maniera classi con connessione ado o dao ad un database access o sql-server 
o implementare un proprio database, con strutture proprietarie?
Per velocizzare la ricerca attraverso tonnellate di files quale tipo di 
ottimizzazione andreste cercando? Ovvero come sarebbe possibile impostare la 
cosa? Sistemi per aprire i files...
Altra cosa è inoltre come si potrebbe impostare la ricerca delle firme? Che 
tipo di strutture dati? Come imposterste la memorizzazione delle firme? 
Bisognerebbe sapere per ogni firma la possibile posizione, i byte fissi e 
quelli variabili...
Usereste una programmazione fortemente orientata alle classi e alla 
programmazione ad oggetti o impostereste il progetto con uno stile più 
vetusto..?
Ci tengo a precisare che il tutto è pura disquisizione, mi piacerebbe sapere 
pareri, non voglio realizzare AV....
Grazie a tutti per le risposte
Ric 

 3) anche facendolo non ci sarebbe nessun bacino d'utenza per il software...
Ma non esiste già un AV scritto in VB???
Il Norton perchè in che linguaggio è scritto? Non si spiegherebbe 
altrimenti la sua pesantezza!!! ;-)))))))))))
-- 
Daniele Pinna  (leva oops. per rispondere) * ICQ "chiedilo"
* Vota il mio sito nella TOP100 Italiana *
Sito Web 
DAPINNA.COM
: 
http://www.dapinna.com
Il Docfa in Pillole:  
http://www.ildocfainpillole.it

 altrimenti la sua pesantezza!!! ;-)))))))))))
Allora dev'essere scritto in Java.
Ciao 

Premetto: NON VOGLIO REALIZZARE un AV in VB....
Credo sia possibile al limite fare qualcosa in VB che controlli se nella
directory "WINNT\SYSTEM32\" piove qualcosa tipo 'win33.exe' 'update.pif' o cose
simili (a me è capitato recentemente)
Cosa possibile verificando se ci sono cambiamenti e segnalandoli.
Potresti anche verificare se nella task dei processi cambia qualcosa (potresti
partire da questo che funziona):
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=21195&lngWId=1
ma non puoi fare un antivirus, anche perchè oltre a vari problemi ti
servirebbero le impronte di tutti i virus per compararli con i files.
ciao
  Stefano

un problema sarebbe che un antivirus non indecente "interagisce" con
TUTTE le app: appena una app crea un file, l'AV oplà ci butta uno
sguardo.
non è un lavoro da niente...


Quello è un problema di mantenimento... non di fattibilità a livello 
teorico.... Nel senso che ammettendo di poter essere in grado di reperire le 
firme dei virus... si riuscirebbe o meno a realizzare un motore scritto in 
vb che parsi i file e trovi in tempi "ragionevoli" presenza o meno delle 
impronte....

 ha scritto nel messaggio 
 >news:1127402280.4...@g14g2000cwa.googlegroups.com...

Infatti... sicuramente il nostro "virtuale" programmatore che si cimenta 
nella scrittura di AV (il quale spererei non sia da solo ma in compagnia) 
avrà il suo bel daffare.... ma questo non mi risolve la domanda...
L'interazione che proponi tu a tuo parere è fattibile in vb+le ovvie API? 
Hookare il file system... Filtrare i sockets... e via discorrendo in VB?
Ammetto che questo è solo un aggiunta poiché il mio cruccio iniziale era 
vagliare la possibilità di realizzare uno scanner in VB... che ripeto: non 
devo realizzare, chiedevo ESCLUSIVAMENTE per chiedere.... 

tecnicamente, potendo usare le api di basso livello, puoi fare
qualsiasi cosa :-D

Zanna ha scritto:

Ma no... altrimenti funzionerebbe anche su Linux ;-))))


 Ric
Grazie
Prego
Si Figuri
Non c'è di che...
(sembrerò matto a rispondermi da solo.... dai su ci verranno a prendere 
prima che diventiamo matti tutti e due)
Ric 

 news:43329c1f$0$8495$5fc...@news.tiscali.it...
cut
mi son tenuto volutamente estraneo alla discussione....
ma ora visto che hai proposto una soluzione.....
Vb che ci posso fare?
...interfaccia verso i più svariati db...applicazioni grafiche di non alto
livello...piccoli CAD
e poi tutta la parte dei gestionali!
Il vero punto di forza è li....dal chiosco del noleggio videocassette...alla
gestione dell'avanzamento produzione in una industria tessile...
alla gestione di un laboratorio di analisi (compresa gestione
strumentazione)
Cosa non ci fai con VB:
Sistemi operativi
Antivirus
Driver per dispositivi HW
Cloni di  Photoshop
Cloni di autocad (però qualcosa di grafica vettoriale con vb ci fai eh!...ti
si siede sulla rielaborazione di un disegno complesso...ma oggi ci son p4 a
quasi 4 ghz!!!)
DSP...(al limite ci fai l'interfaccia che presenta i dati)
Firewall
WebServer
MailServer etc etc
...poi...
siccome il mondo windows è modulare...basta sostituire il controllo winsock
"nativo" di VB6 con un altro controllo e ti si apre la possibilità di farti
un Webserver decente in VB...
oppure di farti il clone di emule...oppure sfruttando i RawSocket di
implementare un mini firewall!
Ci son controllini o librerie che ti consentono perfino di spoofare un ip!
oppure
ti interfacci ad un quintale di API...ed ottieni il tuo FW con vb6?
Ma è ancora programmare in VB6?
Se devi usare vb6 come wrapper ad un quintale di api...è ancora programmare
in vb6? IMHO no!
Quindi...
lascia stare la programmazione di antivirus in vb...e se proprio devi sputar
sangue....
cerca di sviluppare un gestionale che faccia "contento" chi lo usa!
Spesso programmiamo interfacce che sono una tortura per chi le usa!...o
procedimenti troppo "arzigogolati" per chi deve usarli!

 eventualmente le performances...
Si, soprattutto per il fatto che VB non permette di scrivere applicazioni 
multithread.
Non solo: molti antivirus (tutti?) installano dei device driver 
particolari alcuni dei quali lavorano in kernel mode per ottenere il 
massimo delle performances e dell'integrazione nel sistema. Assolutamente 
possibile pensare di realizzare una cosa del genere con VB.
Non dimentichiamo poi che un antivirus è, nel maggior dei casi, un 
servizio... e i servizi, in VB6 (sempre per il discorso del modello di 
threading di VB), non sono realizzabili se non con dei barbatrucchi (ocx, 
srvany, ecc. ecc.) che ne minano fondamentalmente la stabilità...
Ciao
(ed ora, vado a vendemmiare...)
-- 
Gianluca Cannalire
Microsoft MVP/MCP - Visual Basic
http://www.visual-basic.it
http://community.visual-basic.it/gianluca

 sangue....
Non faccio antivirus in vb e non ne farò mai.... vendo altri tipi di 
software... non ti preoccupare :-)
Ripeto, nasceva da una discussione con i miei amici, ma fra loro il 
programmatore più esperto (e anche l'unico che lavora...) sono io. Sono loro 
che chiedono a me.... Per cui per curiosità ho rigirato la domanda al NG.... 
Io sono un forte sostenitore del fatto che se uno si impegna con vb6 in 
esclusiva (calcolando che anche le api ve ne fanno parte in una maniera o 
nell'altra) si possono ottenere molti risultati.... Io stesso ho fatto un 
bel programmino che collegato ad una web-cam rilevava il movimento.... e non 
ci aveva scommesso nessuno all'univ...
E questo volevo... esclusivamente pareri sulla fattibilià... non voglio 
scrivere antivirus.... tantomeno virus.... (odio il C e l'Asm lo uso solo 
per delphi, quindi questo mi taglia fuori come VirusWriter.. :-)))) ) e 
rigrazio te Wodka (che personalmente assieme ad altri 7 od 8 di questo NG 
stimo moltissimo) e gli altri per i pareri.... (e quando si farà il meeting 
probabilmente ci si beccherà se non lo fate troppo lontano...)
Saluti
Ric 

 
http://community.visual-basic.it/gianluca
Ric