Προς το περιεχόμενο

Visual Basic 2010 Real Antivirus creation


Thekillergreece

Προτεινόμενες αναρτήσεις

Δημοσ.

Γεια,

Εχω Visual Basic 2010.Ξερω να φτιαχνω ψευτικα antivirus.Αλλα εχω δει καποια βιντεα στο youtube οτι ΜΠΟΡΕΙΣ να φτιαξεις και αληθινα antivirus.Μηπως καποιος ξερει πως να φτιαχνει αληθινα antivirus?Ευχαριστο για την βοηθεια

 

Αληθινο antivirus οπως αυτο που διωχνει αυτοματα ιους

Δημοσ.

καλησπερα

Φιλε μου το να υλοποιησεις ενα τετοιο project χρειαζεται αρκετη προσπαθεια .

Εχω δει βεβαια κατα καιρους παρομοια project σε ολες σχεδον τις γλωωσσες που υπαρχουν .

Προσπαθησε να αναλυσεις το δικο σου Antivirus σε ποια κομματια χωριζετε .Σημειωσε τα σε ενα Χαρτι

Δοκιμασε να φτιαξεις τα ιδια κομματια στην γλωσσα που γραφεις(γουσταρεις) .Αν κολλησεις υπαρχουν μερη οπως εδω να ρωτησεις .

Καλη επιτυχια

Δημοσ.

Καλησπέρα σου,,

Δυστυχώς η VB.ΝΕΤ δεν μπορεί να διαχειριστεί unmanaged code, άρα δεν υπάρχει περίπτωση να κάνεις χρήση pointers ουτε κατά διάνοια ... άρα σαν εγχείρημα, δεν το κόβω και πολύ εφικτό. Δυστυχώς (και πάλι), το Garbage Collection δεν αφήνει και πολλά περιθώρια περί τουτου ...

 

Τώρα,, αν το κάνεις σε C# μπορεί να καταλήξεις κάπου ... εκεί τα πράγματα διαφοροποιούνται λιγάκι. Τη VB ξέχνα την γι'αυτού του ειδους τα projects ...

 

Καλη επιτυχία ..

Δημοσ.

Καλησπέρα σου,,

Δυστυχώς η VB.ΝΕΤ δεν μπορεί να διαχειριστεί unmanaged code, άρα δεν υπάρχει περίπτωση να κάνεις χρήση pointers ουτε κατά διάνοια ... άρα σαν εγχείρημα, δεν το κόβω και πολύ εφικτό. Δυστυχώς (και πάλι), το Garbage Collection δεν αφήνει και πολλά περιθώρια περί τουτου ...

 

Τώρα,, αν το κάνεις σε C# μπορεί να καταλήξεις κάπου ... εκεί τα πράγματα διαφοροποιούνται λιγάκι. Τη VB ξέχνα την γι'αυτού του ειδους τα projects ...

 

Καλη επιτυχία ..

 

 

Εγω δεν ξερω για το C#...Τι ειναι αυτο και που μπορω να το βρω για να το κατεβασω και τι μπορεις να κανεις εκει?

Δημοσ.

Εγω δεν ξερω για το C#...Τι ειναι αυτο και που μπορω να το βρω για να το κατεβασω και τι μπορεις να κανεις εκει?

 

Μισό!

Το Visual Studio 2010 είναι σουίτσα γλωσσών προγραμματισμού .ΝΕΤ! Αυτό σημαίνει οτι δεν γράφεις ΜΟΝΟ Visual Basic .NET άρα και C#, F#, C++.NET κοκ ... Όπως και διαφορετικά projects είτε WPF, WCF, ASP.NET, κλπ κλπ ...

 

Googlaρε το για να βρεις περισσότερες πληροφορίες ... H C# πάντως, γενικά,, ειναι μια εύκολη C χωρίς pointers (αν δεν θελεις) βασιζόμενη στο .ΝΕΤ Framework ... με μακράν περισσότερες προοπτικές απ'ότι η VB.NET αυτή τη στιγμή ...

Δημοσ.

Καλησπέρα σου,,

Δυστυχώς η VB.ΝΕΤ δεν μπορεί να διαχειριστεί unmanaged code, άρα δεν υπάρχει περίπτωση να κάνεις χρήση pointers ουτε κατά διάνοια ... άρα σαν εγχείρημα, δεν το κόβω και πολύ εφικτό. Δυστυχώς (και πάλι), το Garbage Collection δεν αφήνει και πολλά περιθώρια περί τουτου ...

 

Τώρα,, αν το κάνεις σε C# μπορεί να καταλήξεις κάπου ... εκεί τα πράγματα διαφοροποιούνται λιγάκι. Τη VB ξέχνα την γι'αυτού του ειδους τα projects ...

 

Καλη επιτυχία ..

 

Δηλαδή εσύ γνωρίζεις πως φτιάχνονται τα anti virus και κατέληξες πως χρειάζονται pointers και άρα η VB δεν κάνει;

 

 

Φίλε Thekillergreece ένα antivirus, σαν βασική λειτουργία, σαρώνει τα αρχεία του συστήματος για αναγνώριση γνωστών ιών ή πιθανών κακόβουλων προγραμμάτων.

Η μεν ανίχνευση ιών γίνεται με βάση την ψηφιακή υπογραφή του ίδιου του ιού, ενώ οι πιθανές απειλές ανιχνεύονται χρησιμοποιώντας κάποια λογική π.χ. αν κρύβεται από το τάδε call του winapi, ενώ στο τάδε kernel struct εμφανίζεται τότε πιθανώς να είναι κάτι κακό.

Για να φτιάξεις μια ταυτότητα ενός ιού θα πρέπει να τον αναλύσεις, να δεις ποιο κομμάτι του αρχείου του ιού παραμένει σταθερό κατά την εξάπλωση και κατά πόσο αυτό είναι αρκετό ώστε να τον αναγνωρίσεις χωρίς λάθος. Να μην έχεις δηλαδή false positive και θεωρήσεις ιό ένα νόμιμο αρχείο.

Αυτά όλα απαιτούν πάααααρα πολλές ώρες δουλειά για κάθε ιό και αρκετές γνώσεις reverse engineering, ώστε να φτιάξεις μια βάση δεδομένων και φυσικά πάααααααααρα πολλές πατέντες στο σύστημα ανίχνευσης. Η λογική που σου παρουσιάζω δεν λειτουργεί σε καμία περίπτωση αυτούσια. Οι συγγραφείς ιών δεν ακολουθούν κάποιο πρότυπο. Κάνουν ότι μπορούν ώστε να μην ανιχνεύεται ο ιός τους (self modifying code κλπ.).

Τώρα για την ίαση των μολυσμένων αρχείων, αυτό και αν εξαρτάται από τον ιό που αντιμετωπίζεις.

 

Γενικά αυτό είναι ένα πάρα πολύ δύσκολο εγχείρημα που απαιτεί γενικότερη γνώση του τομέα των ιών (τι κόλπα κάνουν κλπ), πάρα πολύ καλή γνώση του λειτουργικού συστήματος και πάρα πολύ δουλειά.

 

Σίγουρα η VB και η κάθε γλώσσα δεν είναι το πρόβλημα, εκτός μόνο αν χρειαστεί να γράψεις και kernel mode κομμάτι, όπου θα χρειαστείς αναγκαστικά C ή C++.

Δημοσ.

Δηλαδή εσύ γνωρίζεις πως φτιάχνονται τα anti virus και κατέληξες πως χρειάζονται pointers και άρα η VB δεν κάνει;

 

 

Φίλε Thekillergreece ένα antivirus, σαν βασική λειτουργία, σαρώνει τα αρχεία του συστήματος για αναγνώριση γνωστών ιών ή πιθανών κακόβουλων προγραμμάτων.

Η μεν ανίχνευση ιών γίνεται με βάση την ψηφιακή υπογραφή του ίδιου του ιού, ενώ οι πιθανές απειλές ανιχνεύονται χρησιμοποιώντας κάποια λογική π.χ. αν κρύβεται από το τάδε call του winapi, ενώ στο τάδε kernel struct εμφανίζεται τότε πιθανώς να είναι κάτι κακό.

Για να φτιάξεις μια ταυτότητα ενός ιού θα πρέπει να τον αναλύσεις, να δεις ποιο κομμάτι του αρχείου του ιού παραμένει σταθερό κατά την εξάπλωση και κατά πόσο αυτό είναι αρκετό ώστε να τον αναγνωρίσεις χωρίς λάθος. Να μην έχεις δηλαδή false positive και θεωρήσεις ιό ένα νόμιμο αρχείο.

Αυτά όλα απαιτούν πάααααρα πολλές ώρες δουλειά για κάθε ιό και αρκετές γνώσεις reverse engineering, ώστε να φτιάξεις μια βάση δεδομένων και φυσικά πάααααααααρα πολλές πατέντες στο σύστημα ανίχνευσης. Η λογική που σου παρουσιάζω δεν λειτουργεί σε καμία περίπτωση αυτούσια. Οι συγγραφείς ιών δεν ακολουθούν κάποιο πρότυπο. Κάνουν ότι μπορούν ώστε να μην ανιχνεύεται ο ιός τους (self modifying code κλπ.).

Τώρα για την ίαση των μολυσμένων αρχείων, αυτό και αν εξαρτάται από τον ιό που αντιμετωπίζεις.

 

Γενικά αυτό είναι ένα πάρα πολύ δύσκολο εγχείρημα που απαιτεί γενικότερη γνώση του τομέα των ιών (τι κόλπα κάνουν κλπ), πάρα πολύ καλή γνώση του λειτουργικού συστήματος και πάρα πολύ δουλειά.

 

Σίγουρα η VB και η κάθε γλώσσα δεν είναι το πρόβλημα, εκτός μόνο αν χρειαστεί να γράψεις και kernel mode κομμάτι, όπου θα χρειαστείς αναγκαστικά C ή C++.

 

Δυστυχώς η ευτυχώς κάποτε κι εγώ προσπάθησα να κάνω αυτό που κάνει και ο φίλος, όταν ήμουν κι εγώ μέσα στη καυ... Οπότε ναι! Αυτό σημαίνει οτι το έχω ψάξει ...

 

Απο την άλλη δοκίμασε να κάνεις memory scan με τη VB και μετά έλα να μου πεις ... ιδιαίτερα σε protected mode ...

 

Αν αναφέρεσαι στο front και στις οθόνες διαχείρισης του προγράμματος, ναι, έχεις δίκιο,, μια χαρά είναι για τα γραφικούλια και τα εφεδάκια ... Το πρόβλημα ξεκινάει, όπως λες κι εσύ, στη διαχείριση των αρχείων, στην ταυτοποίηση του digital signature, στα hashes, το stealthing και στα services που παρακολουθούν το σύστημα. Άρα δεν αναφερόμαστε πλέον σε ένα VB πρόγραμμα, αλλά σε κάτι υβριδικό σκεπασμένο με σεντόνι VB ...

Δημοσ.

Η σάρωση της μνήμης γίνεται μέσω του WinAPI (συγκεκριμένα ReadProcessMemory) προσβάσιμο από οποιαδήποτε γλώσσα προγραμματισμού σε Windows.

... ιδιαίτερα σε protected mode ...

Μου μοιάζει για βροχή από buzzwords.

Τι θα πει protected mode; Τα Windows τρέχουν σε protected mode (όπως κάθε άλλο σύγχρονο λειτουργικό).

Η ταυτοποίηση της ψηφιακής υπογραφής όπως λες γίνεται απλά διαβάζοντας τα bytes του αρχείου ή όταν εκτελείται μέσω του WinAPI.

 

Όπως είπα, συγκεκριμένη γλώσσα (C και πολύ πιο σπάνια C++), χρειάζεται μόνο αν χρειαστεί να γράψεις κάτι σε kernel mode, αν και κάτι έχει πάρει το αυτί μου για managed code σε kernel mode.

Δημοσ.

Αυτό που θες να κάνεις thekillergreece το έχουν δοκιμάσει ολόκληρα labs και η επιτυχία τους ήταν αμφίβολη..

 

Σκέψου να το δοκιμάσεις μόνος σου.

Δημοσ.

... other words to love each other ...!

 

Αν έχεις παίξει με Visual Studio,, και δίη με VB, θα καταλάβαινες τι εννοώ.

 

Managed & UnManaged Code ...

 

H VB δεν ξέρει κάτι τέτοιο,, σε αντίθεση με τη C#. Το μόνο που ξέρει είναι IL, άρα Managed Code.

 

Όπως και να έχει, η προσωπική γνώμη του καθενός εμπίπτει στις προσωπικές εμπειρίες, έρευνες, ξενύχτια και αϋπνίες προκειμένου να καταλήξει σε ορισμένα συμπεράσματα. Θεωρώ τον όρο Buzzwords, αδόκιμο, και άσχετο με την παρούσα περιγραφή.

 

Για να αναφέρομαι σε Protected Mode, σημαίνει οτι έχω περάσει και από το Real και το Virtual mode άρα έχω δουλέψει με αυτά και ξέρω τις διαφορές τους. Μπορεί όλα τα σύγχρονα λειτουργικά να εμπίπτουν στο protected mode, όπως ακριβώς λες, αυτό δεν σημαίνει όμως οτι οι επεκτάσεις και τα εργαλεία όλων των γλωσσών όσο υψηλού επιπέδου κι αν είναι, μπορούν να κάνουν τη δουλειά που θες πάντα με το καλύτερο δυνατό τρόπο. Δυστυχώς ή ευτυχώς η VB έχει μια τρελή αγάπη με το Garbage Collection, και δεν μπορεί να ζήσει χωρίς αυτό. Μάνι μάνι, και μόνο από αυτό, χάνει το παιχνίδι στο εγχείρημα που περιγράφεται εδώ.

Δημοσ.

Εξαρτάται τι θέλει να κάνει ο φίλος μας. Ένας απλό Signature scanner μπορεί να γραφθεί σε οποιαδήποτε γλώσσα προσφέρει I/O αρχείων αλλά εδώ και 2 δεκαετίες δεν φτάνει μόνο αυτό καθώς υπάρχουν ιοί SMC/PMC όπου εκεί χρειάζεται πολύ μεγαλύτερη μελέτη και προσπάθεια από τον έλεγχο μιας "υπογραφής" (η πρώτη γενιά SMC το επέτρεπε μετά ήρθε το PMC και έμπλεξε ακόμα περισσότερο το πράμα |βλ. heuristic scanning κλπ) . Όσον αφορά το σκανάρισμα της μνήμης, από User Mode μπορείς να διαβάσεις την μνήμη αρκετών εκτελούμενων PE Images (μέσο κλήσεων στο WinAPI φυσικά -εδώ η VB.Net & C# θέλουν P\Invoke) για κάτι πιο βαθύ (έλεγχος για root-kits κλπ) χρειάζεσαι έλεγχο σε επίπεδο KERNEL ή ακόμα καλύτερα σε native NT mode δίχως καν WinAPI (είναι εκείνο το επίπεδο που βλέπετε όταν κατά το BOOT τα Windows πχ. κάνουν CHKDSK) ή BOOT και Scan του δίσκου από άλλο σίγουρα "καθαρό" PC.

 

Γενικά η συγγραφή anti-virus σήμερα, με χιλιάδες ιούς (root kits, trojans, spywares κλπ) είναι πολύ δύσκολο να γραφθεί από ένα άτομο. Πριν 20 χρόνια ναι ήταν σχεδόν εφικτό (λέμε..) σήμερα σε "καμία περίπτωση" εκτός και αν πρόκειται για anti-virus με συγκεκριμένο στόχο.

 

Παρόλα αυτά αν ο φίλος μας το θέλει πολύ, ας το προσπαθήσει, ξεκινώντας από τα πολύ απλά (εύρεση μιας συγκεκριμένης αλληλουχίας bytes σε ένα άρχειο).

 

Όπως και να έχει, καλή τύχη!

 

Υ.Γ.

SMC = Self modifying code

PMC = PolyMorphic code

Δημοσ.

 

Μπορεί όλα τα σύγχρονα λειτουργικά να εμπίπτουν στο protected mode, όπως ακριβώς λες, αυτό δεν σημαίνει όμως οτι οι επεκτάσεις και τα εργαλεία όλων των γλωσσών όσο υψηλού επιπέδου κι αν είναι, μπορούν να κάνουν τη δουλειά που θες πάντα με το καλύτερο δυνατό τρόπο. Δυστυχώς ή ευτυχώς η VB έχει μια τρελή αγάπη με το Garbage Collection, και δεν μπορεί να ζήσει χωρίς αυτό. Μάνι μάνι, και μόνο από αυτό, χάνει το παιχνίδι στο εγχείρημα που περιγράφεται εδώ.

 

Αυτο θελει να σου πει ο ανθρωπος. Δεν εχουν σχεση οι επεκτασεις και τα εργαλεια, το μονο που θελεις ειναι μια γλωσσα που κανει link σε C ABI που ειναι το WinApi.

 

 

BTW @karnage σου εχει τυχει ποτε; happy.gif

Δημοσ.

Δηλαδη χρειαζεται C# ε?Εχω google για αυτα που λετε και εχω βρει κατι που λεγεται Assebly,Python,Java και C# χρειαζονται και αυτα????επισης στα σχολια του youtube μου λενε ΑΚΡΙΒΟΣ αυτα που εγραψα (Assebly,Python,Java και C#)χρειαζονται για να φτιαξεις αληθινο antivirus.Αληθεια ειναι αυτο?Επισης αν ξερεται κατι C# οπου μπορει να φτιαχει αληθινα antivirus τοτε στειλε μου μηνυμα...Επισης και να ξερω το ονομα του C#...

 

Δηλαδή εσύ γνωρίζεις πως φτιάχνονται τα anti virus και κατέληξες πως χρειάζονται pointers και άρα η VB δεν κάνει;

 

 

Φίλε Thekillergreece ένα antivirus, σαν βασική λειτουργία, σαρώνει τα αρχεία του συστήματος για αναγνώριση γνωστών ιών ή πιθανών κακόβουλων προγραμμάτων.

Η μεν ανίχνευση ιών γίνεται με βάση την ψηφιακή υπογραφή του ίδιου του ιού, ενώ οι πιθανές απειλές ανιχνεύονται χρησιμοποιώντας κάποια λογική π.χ. αν κρύβεται από το τάδε call του winapi, ενώ στο τάδε kernel struct εμφανίζεται τότε πιθανώς να είναι κάτι κακό.

Για να φτιάξεις μια ταυτότητα ενός ιού θα πρέπει να τον αναλύσεις, να δεις ποιο κομμάτι του αρχείου του ιού παραμένει σταθερό κατά την εξάπλωση και κατά πόσο αυτό είναι αρκετό ώστε να τον αναγνωρίσεις χωρίς λάθος. Να μην έχεις δηλαδή false positive και θεωρήσεις ιό ένα νόμιμο αρχείο.

Αυτά όλα απαιτούν πάααααρα πολλές ώρες δουλειά για κάθε ιό και αρκετές γνώσεις reverse engineering, ώστε να φτιάξεις μια βάση δεδομένων και φυσικά πάααααααααρα πολλές πατέντες στο σύστημα ανίχνευσης. Η λογική που σου παρουσιάζω δεν λειτουργεί σε καμία περίπτωση αυτούσια. Οι συγγραφείς ιών δεν ακολουθούν κάποιο πρότυπο. Κάνουν ότι μπορούν ώστε να μην ανιχνεύεται ο ιός τους (self modifying code κλπ.).

Τώρα για την ίαση των μολυσμένων αρχείων, αυτό και αν εξαρτάται από τον ιό που αντιμετωπίζεις.

 

Γενικά αυτό είναι ένα πάρα πολύ δύσκολο εγχείρημα που απαιτεί γενικότερη γνώση του τομέα των ιών (τι κόλπα κάνουν κλπ), πάρα πολύ καλή γνώση του λειτουργικού συστήματος και πάρα πολύ δουλειά.

 

Σίγουρα η VB και η κάθε γλώσσα δεν είναι το πρόβλημα, εκτός μόνο αν χρειαστεί να γράψεις και kernel mode κομμάτι, όπου θα χρειαστείς αναγκαστικά C ή C++.

 

Το ξερω φιλε...Γι αυτο ζηταω βοηθεια...Να φτιαξω ΔΙΚΟ ΜΟΥ αληθινο antivirus.το οποιο διωχνει ιους,σαρωνει τον υπολογιστη και αλλα...

Δημοσ.

Από τις εκφράσεις που χρησιμοποιείς ("και εχω βρει κατι που λεγεται Assebly,Python,Java και C# χρειαζονται και αυτα????") καταλαβαίνω ότι εισαι αρχάριος στο coding, όποτε ασχολήσουν με κάτι πιο απλό αρχικά παρά να πέσεις με την μια στα πολύ βαθιά.

Δημοσ.

Από τις εκφράσεις που χρησιμοποιείς ("και εχω βρει κατι που λεγεται Assebly,Python,Java και C# χρειαζονται και αυτα????") καταλαβαίνω ότι εισαι αρχάριος στο coding, όποτε ασχολήσουν με κάτι πιο απλό αρχικά παρά να πέσεις με την μια στα πολύ βαθιά.

 

 

χμμ...Μηπως θα πρεπε να πρωσπαθησω να δοκιμασω το C#?Αν ναι τοτε στειλε μου ενα link για να το κατεβασω ΑΜΑ ξερεις κανενα...

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...