Seite 1 von 2
Antivirus + Firewall proggen
Verfasst: 29.04.2007 15:58
von X0r
Wie proggt man ein Antivirus-Programm und ne Firewall? Was scannt ein Antivirus in einer Datei? Und wie funktioniert eine Firewall?
Hat jemand Ahnung?
Verfasst: 29.04.2007 16:08
von MVXA
Wenns so einfach wäre, würden sich wohl kaum ganze Firmen mit
der Programmierung und Wartung von Firewalls und Antiviren
Lösungen beschäftigen

.
Du könntest dir ja mal OpenSource Projekte wie z.b. ClamAV ansehen

.
Verfasst: 29.04.2007 16:09
von RSBasic
@Forge
Eine eigene Firewall bzw. Anti-Virus/Spam-Programm zu programmieren ist schon hochgegriffen. Ist genauso wie Videobearbeitungsprogramm.
Ahnung habe ich nicht, wie man ne eigene Firewall programmiert, möchte ich auch nicht, naja hier paar nützliche Links.
Du musst halt den TCP/IP-Datenverkehr kontrollieren/protokollieren und außerdem brauchst du Definitiondateien.
http://www.faqs.org/rfcs/
http://tangentsoft.net/wskfaq/
Verfasst: 29.04.2007 22:19
von Ground0
Irgend jemand hier im Forum hat mal ein Antivirus mindest etwas in der Art angefangen/zuende geführt, weis ich nicht mehr...
Mal danach suchen...
Gruss G0
Verfasst: 29.04.2007 23:05
von X0r
PureAV meinst du wohl.
Da hilft einem nicht wirklich weiter. Ich muss das System verstehen. Ein ellenlanger code hilft nicht wirklich weiter.
Lassen wir Firewall erstmal im Hintergrund.
Nach was scannt man die Dateien? Nach bestimmten Bytewerten in einer bestimmten Kombination?
Verfasst: 29.04.2007 23:12
von Kiffi
Forge hat geschrieben:Nach was scannt man die Dateien? Nach bestimmten Bytewerten in einer bestimmten Kombination?
wenn man die Heuristik ausser acht lässt (die ja oft genug falschen Alarm
schlägt), dann läuft es meist so, dass Dateien anhand von Bytefolgen
gescannt werden, die sich in einer vom Antivirenhersteller bereitgestellten
Datenbank (AV-Definitionsdatei) befinden. Aus diesem Grund sollte man auch
übrigens immer dafür sorgen, dass sein Scanner (respektive die zugrunde
liegende Datenbank) immer auf dem neuesten Stand ist.
Solltest Du einen AV-Scanner schreiben wollen, musst Du wohl oder übel erst
einmal alle vorhandenen (und die täglich hinzukommenden) Viren
katalogisieren und deren Merkmale in eine Datenbank eintragen.
Grüße ... Kiffi
Verfasst: 29.04.2007 23:14
von X0r
Achso, das wars? Einfach nur Bytewerte scannen?
...
if str(readbyte(0))+str(readbyte(0))="12"
reportvirus()
endif
??
Verfasst: 29.04.2007 23:25
von Kiffi
Forge hat geschrieben:Achso, das wars? Einfach nur Bytewerte scannen?
grob gesagt, ja. Das Geheimnis liegt natürlich in der Datenbank
(die Du nicht hast).
Dann kommt natürlich auch noch die Heuristik hinzu, die auch Viren
erkennen soll, die (noch) nicht in der Datenbank vorhanden sind.
Dass das nicht so einfach ist, kann man daran erkennen, dass
Virenscanner häufig Fehlalarm schlagen.
siehe auch:
http://www.purebasic.fr/german/viewtopic.php?t=12783
und nicht zu vergessen: Du musst Dein Programm auch noch
sabotagesicher machen. Nicht, dass das nächste Virus Deinem Scanner
einfach das Licht ausknipst...
Mein Tipp: Lies noch mal den Beitrag von MVXA durch.
Grüße ... Kiffi
Verfasst: 29.04.2007 23:25
von X0r
Also hier ist ein Teil von PureAV:
Code: Alles auswählen
fHandle = ReadFile(24,Path.s)
If fHandle <> 0
Size = Lof(24)
Start_s = Size/3
End_s = Size/3*2
BufferSizeH = Start_s+End_s
If BufferSizeH > 0
*BufferH = AllocateMemory(BufferSizeH)
FileSeek(24,Start_s)
ReadData(24,*BufferH,BufferSizeH)
MD5H.s = MD5Fingerprint(*BufferH,BufferSizeH)
Char.s = LCase(Left(MD5H,1))
Select Char
Case "a"
ForEach Pattern_A()
If LCase(MD5H) = Pattern_A()\FingerPrint
FreeMemory(*BufferH)
CloseFile(24)
ProcedureReturn Pattern_A()\Name
EndIf
Next
FreeMemory(*BufferH)
CloseFile(24)
ProcedureReturn "Clean
..
Er verschlüsselt also einen Teil der Datei. Aber was soll das für ein Teil sein?? Kapiert das hier einer?
Edit:
>Mein Tipp: Lies noch mal den Beitrag von MVXA durch.
Lass mich doch. Ich wills halt zum Spaß machen.
Verfasst: 30.04.2007 00:14
von MVXA
Ich meinte doch nicht, dass du da mit programmieren sollst sondern
du sollst dir da abschauen wie die nach Viren scannen und vielleicht
auch deren Datenbanken nutzen, ou man
