PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie funktioniert bzw. arbeitet ein Anti-Virenprogramm?


Gast
2007-09-21, 21:14:11
Das würde ich gerne mal im Detail wissen.

Gast
2007-09-21, 21:59:24
Das würde ich gerne mal im Detail wissen.
Was interessiert Dich denn konkret? Es hat eine Datenbank mit Signaturen aller bekannten Viren und die zu untersuchende Datei wird damit abgeglichen.

Dann gibt es noch die Heuristik für unbekannte Viren. Kann sich aber auch mal täuschen. Da wird nach bestimmten "Verhaltensmustern" gesucht.


Und bist Du sicher, dass das das richtige Unterforum ist? Möchtest Du einen solchen Scanner programmieren?

Gast
2007-09-22, 01:20:23
Genau das da:

Es hat eine Datenbank mit Signaturen aller bekannten Viren und die zu untersuchende Datei wird damit abgeglichen.


würde ich gerne genauer wissen.

Was heißt denn "hat ne Signatur" konkret?
Ist das der Virus selbst in Maschinencode, sind es nur Teile davon oder doch besser gleich Prüfsummen.

Und wenn er den Virus in einer *.EXE findet, wie entfernt er den da ohne das eigentliche Programm zu beschädigen.


Der Thread ist schon richtig hier, da nur ein Programmierer das genau beantworten könnte.

BAGZZlash
2007-09-22, 09:51:12
Und wenn er den Virus in einer *.EXE findet, wie entfernt er den da ohne das eigentliche Programm zu beschädigen.


Zumindest das kann ich Dir beantworten. Der Code des Virus wird am Ende der Datei angehängt und der Einstiegspunkt des Programms auf diesen Codeteil verbogen. Dann wird beim Starten des Programms zuerst der Viruscode ausgeführt und am Ende dessen zum normalen, ursprünglichen Einstiegspunkt gesprungen, womit dann der normalen Programmcode ausgeführt wird.
Willst Du also den Virus aus der Exe entfernen, musst Du den Code am Ende wieder abschneiden und den ursprünglichen Einstiegspunkt wieder herstellen.

Gast
2007-09-22, 21:21:32
Zumindest das kann ich Dir beantworten. Der Code des Virus wird am Ende der Datei angehängt und der Einstiegspunkt des Programms auf diesen Codeteil verbogen. Dann wird beim Starten des Programms zuerst der Viruscode ausgeführt und am Ende dessen zum normalen, ursprünglichen Einstiegspunkt gesprungen, womit dann der normalen Programmcode ausgeführt wird.
Willst Du also den Virus aus der Exe entfernen, musst Du den Code am Ende wieder abschneiden und den ursprünglichen Einstiegspunkt wieder herstellen.

Hm, ok, aber warum kommen die Virenschreiber dann nicht auf die Idee den Viruscode zwischen dem Programmcode einzufügen und die Sprungadresse der vorherigen Anweisung dann so anzupassen, so daß der Viruscode übersprungen wird.
Der Virus muß dann nur noch am Anfang einen Einstiegspunkt haben, um sich selbst im Programmcode auszuführen und dann an die Anwendung weitrerzureichen.


Das müßte doch auch möglich sein.

BAGZZlash
2007-09-23, 12:13:01
Hm, ok, aber warum kommen die Virenschreiber dann nicht auf die Idee den Viruscode zwischen dem Programmcode einzufügen und die Sprungadresse der vorherigen Anweisung dann so anzupassen, so daß der Viruscode übersprungen wird.
Der Virus muß dann nur noch am Anfang einen Einstiegspunkt haben, um sich selbst im Programmcode auszuführen und dann an die Anwendung weitrerzureichen.


Das müßte doch auch möglich sein.

Klar. Gut möglich, daß es sowas auch gibt, weiß ich nicht. Trotzdem ist das, wenn man das denn weiß, eben auch wieder herauszunehmen, insofern bringt das ganze nix. Außerdem weiß ich nicht, ob das so einfach geht, denn wenn man den "hinteren" Teil des Programms weiter nach hinten schiebt, um dazwischen etwas einzufügen, dürften sich ja auch alle Sprungadressen des Compilats des Hostprogramms verändern.

del_4901
2007-09-23, 12:52:44
Außerdem weiß ich nicht, ob das so einfach geht, denn wenn man den "hinteren" Teil des Programms weiter nach hinten schiebt, um dazwischen etwas einzufügen, dürften sich ja auch alle Sprungadressen des Compilats des Hostprogramms verändern.
So siehts aus, das muss man dann kompensieren.