Autor Beitrag
91KEY8
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 105


Delphi 3
BeitragVerfasst: So 11.06.06 18:16 
Hallo!

Ich möchte einen Virenscanner selbst programmieren. Kann mir dabei jemand bitte helfen.

mfg 91KEY8
delphiuserno1
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 82


Delphi 7 enterprise, Delphi 2007
BeitragVerfasst: So 11.06.06 18:40 
Was willst du denn genau wissen? Hört sich für mich so an als wenn du überhaupt kein plan hast! Außerdem denke ich das das n haufen arbeit ist! Warum willst du dir selbst einen programmieren? Es gibt doch schon genug! Außerdem musst du selbst immer die aktuellen signaturen erstellen

Ich sag schon mal viel spaß
91KEY8 Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 105


Delphi 3
BeitragVerfasst: So 11.06.06 18:48 
user profile icondelphiuserno1 hat folgendes geschrieben:
Was willst du denn genau wissen? Hört sich für mich so an als wenn du überhaupt kein plan hast! Außerdem denke ich das das n haufen arbeit ist! Warum willst du dir selbst einen programmieren? Es gibt doch schon genug! Außerdem musst du selbst immer die aktuellen signaturen erstellen

Ich sag schon mal viel spaß


Hallo!

Kann mir jemand helfen, wie ich eine Scan Engine erstellen kann. Ich möchte, dass die Engine alle Dateien scannt und dann mit CRC vergleicht. Den CRC Code hab ich schon:

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
UNIT CsCrc;
interface
//
// Initial Value for CRCvalue is $FFFFFFF (by definition)
// The CRC-Value is equal to NOT CRCvalue
//
  Procedure InitCrc32 (Var CRCvalue          :  Cardinal);
  Procedure NextCrc32      (B         : Byte;
           Var CRCvalue          :  Cardinal);
  Procedure DoneCrc32 (Var CRCvalue          :  Cardinal);

  Procedure InitCrc16 (Var CRCvalue          :  Word);
  Procedure NextCrc16      (B         : Byte;
           Var CRCvalue          :  Word);
  Procedure DoneCrc16 (Var CRCvalue          :  Word);

  Function CRC32FromString (Const aString : String) : Cardinal;
  Function CRC16FromString (Const aString : String) : Word;
Implementation
Const
  Table32:  Array[Byte] Of Cardinal =
   ($00000000, $77073096, $EE0E612C, $990951BA,
    $076DC419, $706AF48F, $E963A535, $9E6495A3,
    $0EDB8832, $79DCB8A4, $E0D5E91E, $97D2D988,
    $09B64C2B, $7EB17CBD, $E7B82D07, $90BF1D91,
    $1DB71064, $6AB020F2, $F3B97148, $84BE41DE,
    $1ADAD47D, $6DDDE4EB, $F4D4B551, $83D385C7,
    $136C9856, $646BA8C0, $FD62F97A, $8A65C9EC,
    $14015C4F, $63066CD9, $FA0F3D63, $8D080DF5,
    $3B6E20C8, $4C69105E, $D56041E4, $A2677172,
    $3C03E4D1, $4B04D447, $D20D85FD, $A50AB56B,
    $35B5A8FA, $42B2986C, $DBBBC9D6, $ACBCF940,
    $32D86CE3, $45DF5C75, $DCD60DCF, $ABD13D59,
    $26D930AC, $51DE003A, $C8D75180, $BFD06116,
    $21B4F4B5, $56B3C423, $CFBA9599, $B8BDA50F,
    $2802B89E, $5F058808, $C60CD9B2, $B10BE924,
    $2F6F7C87, $58684C11, $C1611DAB, $B6662D3D,

    $76DC4190, $01DB7106, $98D220BC, $EFD5102A,
    $71B18589, $06B6B51F, $9FBFE4A5, $E8B8D433,
    $7807C9A2, $0F00F934, $9609A88E, $E10E9818,
    $7F6A0DBB, $086D3D2D, $91646C97, $E6635C01,
    $6B6B51F4, $1C6C6162, $856530D8, $F262004E,
    $6C0695ED, $1B01A57B, $8208F4C1, $F50FC457,
    $65B0D9C6, $12B7E950, $8BBEB8EA, $FCB9887C,
    $62DD1DDF, $15DA2D49, $8CD37CF3, $FBD44C65,
    $4DB26158, $3AB551CE, $A3BC0074, $D4BB30E2,
    $4ADFA541, $3DD895D7, $A4D1C46D, $D3D6F4FB,
    $4369E96A, $346ED9FC, $AD678846, $DA60B8D0,
    $44042D73, $33031DE5, $AA0A4C5F, $DD0D7CC9,
    $5005713C, $270241AA, $BE0B1010, $C90C2086,
    $5768B525, $206F85B3, $B966D409, $CE61E49F,
    $5EDEF90E, $29D9C998, $B0D09822, $C7D7A8B4,
    $59B33D17, $2EB40D81, $B7BD5C3B, $C0BA6CAD,

    $EDB88320, $9ABFB3B6, $03B6E20C, $74B1D29A,
    $EAD54739, $9DD277AF, $04DB2615, $73DC1683,
    $E3630B12, $94643B84, $0D6D6A3E, $7A6A5AA8,
    $E40ECF0B, $9309FF9D, $0A00AE27, $7D079EB1,
    $F00F9344, $8708A3D2, $1E01F268, $6906C2FE,
    $F762575D, $806567CB, $196C3671, $6E6B06E7,
    $FED41B76, $89D32BE0, $10DA7A5A, $67DD4ACC,
    $F9B9DF6F, $8EBEEFF9, $17B7BE43, $60B08ED5,
    $D6D6A3E8, $A1D1937E, $38D8C2C4, $4FDFF252,
    $D1BB67F1, $A6BC5767, $3FB506DD, $48B2364B,
    $D80D2BDA, $AF0A1B4C, $36034AF6, $41047A60,
    $DF60EFC3, $A867DF55, $316E8EEF, $4669BE79,
    $CB61B38C, $BC66831A, $256FD2A0, $5268E236,
    $CC0C7795, $BB0B4703, $220216B9, $5505262F,
    $C5BA3BBE, $B2BD0B28, $2BB45A92, $5CB36A04,
    $C2D7FFA7, $B5D0CF31, $2CD99E8B, $5BDEAE1D,

    $9B64C2B0, $EC63F226, $756AA39C, $026D930A,
    $9C0906A9, $EB0E363F, $72076785, $05005713,
    $95BF4A82, $E2B87A14, $7BB12BAE, $0CB61B38,
    $92D28E9B, $E5D5BE0D, $7CDCEFB7, $0BDBDF21,
    $86D3D2D4, $F1D4E242, $68DDB3F8, $1FDA836E,
    $81BE16CD, $F6B9265B, $6FB077E1, $18B74777,
    $88085AE6, $FF0F6A70, $66063BCA, $11010B5C,
    $8F659EFF, $F862AE69, $616BFFD3, $166CCF45,
    $A00AE278, $D70DD2EE, $4E048354, $3903B3C2,
    $A7672661, $D06016F7, $4969474D, $3E6E77DB,
    $AED16A4A, $D9D65ADC, $40DF0B66, $37D83BF0,
    $A9BCAE53, $DEBB9EC5, $47B2CF7F, $30B5FFE9,
    $BDBDF21C, $CABAC28A, $53B39330, $24B4A3A6,
    $BAD03605, $CDD70693, $54DE5729, $23D967BF,
    $B3667A2E, $C4614AB8, $5D681B02, $2A6F2B94,
    $B40BBE37, $C30C8EA1, $5A05DF1B, $2D02EF8D);



  Table16 : Array [Byte] Of Word = (
    $0000,$C0C1,$C181,$0140,$C301,$03C0,$0280,$C241,
    $C601,$06C0,$0780,$C741,$0500,$C5C1,$C481,$0440,
    $CC01,$0CC0,$0D80,$CD41,$0F00,$CFC1,$CE81,$0E40,
    $0A00,$CAC1,$CB81,$0B40,$C901,$09C0,$0880,$C841,
    $D801,$18C0,$1980,$D941,$1B00,$DBC1,$DA81,$1A40,
    $1E00,$DEC1,$DF81,$1F40,$DD01,$1DC0,$1C80,$DC41,
    $1400,$D4C1,$D581,$1540,$D701,$17C0,$1680,$D641,
    $D201,$12C0,$1380,$D341,$1100,$D1C1,$D081,$1040,
    $F001,$30C0,$3180,$F141,$3300,$F3C1,$F281,$3240,
    $3600,$F6C1,$F781,$3740,$F501,$35C0,$3480,$F441,
    $3C00,$FCC1,$FD81,$3D40,$FF01,$3FC0,$3E80,$FE41,
    $FA01,$3AC0,$3B80,$FB41,$3900,$F9C1,$F881,$3840,
    $2800,$E8C1,$E981,$2940,$EB01,$2BC0,$2A80,$EA41,
    $EE01,$2EC0,$2F80,$EF41,$2D00,$EDC1,$EC81,$2C40,
    $E401,$24C0,$2580,$E541,$2700,$E7C1,$E681,$2640,
    $2200,$E2C1,$E381,$2340,$E101,$21C0,$2080,$E041,
    $A001,$60C0,$6180,$A141,$6300,$A3C1,$A281,$6240,
    $6600,$A6C1,$A781,$6740,$A501,$65C0,$6480,$A441,
    $6C00,$ACC1,$AD81,$6D40,$AF01,$6FC0,$6E80,$AE41,
    $AA01,$6AC0,$6B80,$AB41,$6900,$A9C1,$A881,$6840,
    $7800,$B8C1,$B981,$7940,$BB01,$7BC0,$7A80,$BA41,
    $BE01,$7EC0,$7F80,$BF41,$7D00,$BDC1,$BC81,$7C40,
    $B401,$74C0,$7580,$B541,$7700,$B7C1,$B681,$7640,
    $7200,$B2C1,$B381,$7340,$B101,$71C0,$7080,$B041,
    $5000,$90C1,$9181,$5140,$9301,$53C0,$5280,$9241,
    $9601,$56C0,$5780,$9741,$5500,$95C1,$9481,$5440,
    $9C01,$5CC0,$5D80,$9D41,$5F00,$9FC1,$9E81,$5E40,
    $5A00,$9AC1,$9B81,$5B40,$9901,$59C0,$5880,$9841,
    $8801,$48C0,$4980,$8941,$4B00,$8BC1,$8A81,$4A40,
    $4E00,$8EC1,$8F81,$4F40,$8D01,$4DC0,$4C80,$8C41,
    $4400,$84C1,$8581,$4540,$8701,$47C0,$4680,$8641,
    $8201,$42C0,$4380,$8341,$4100,$81C1,$8081,$4040);

Procedure InitCrc32;
Begin
  CRCValue := $FFFFFFFF;
End;

Procedure NextCrc32;
Begin
  CRCvalue := (CRCvalue SHR 8)  XOR Table32[b XOR (CRCvalue AND $000000FF)];
End;

Procedure DoneCrc32;
Begin
  CRCvalue := NOT CRCvalue;
End;

Procedure InitCrc16;
Begin
  CRCValue := $FFFF;
End;

Procedure NextCrc16;
Begin
  CRCvalue := (CRCvalue SHR 8)  XOR Table16[b XOR (CRCvalue AND $00FF)];
End;

Procedure DoneCrc16;
Begin
//  CRCvalue := NOT CRCvalue;
End;

Function CRC32FromString (Const aString : String) : Cardinal;
Var
  i : Integer;

Begin
  InitCrc32(Result);
  For i:=1 to Length (aString) do
    NextCrc32 (Ord (aString[i]), Result);
  DoneCrc32(Result)
End;

Function CRC16FromString (Const aString : String) : Word;
Var
  i : Integer;

Begin
  InitCrc16(Result);
  For i:=1 to Length (aString) do
    NextCrc16 (Ord (aString[i]), Result);
  DoneCrc16(Result)
End;


End.
Fighter#1
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 787

Win XP, Ubuntu 8.04
Turbo Delphi 2006, Delphi 2005 Pe, Delphi 5 Pe, Netbeans 6.1, Eclipse, Microsoft VisualC#, Dev C++, PHP, HTML, CSS
BeitragVerfasst: So 11.06.06 19:07 
Du könntest mir den FolderListBox und FileListBoxen arbeiten

_________________
Wer andere beherrscht ist stark,
wer sich selbst beherrscht ist mächtig. Lao Tse
91KEY8 Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 105


Delphi 3
BeitragVerfasst: So 11.06.06 19:10 
user profile iconFighter#1 hat folgendes geschrieben:
Du könntest mir den FolderListBox und FileListBoxen arbeiten


Könntet ihr mir bitte sagen, wie ich das realisieren könnte. Mit dem Code, der Suchengine
Marco D.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2750

Windows Vista
Delphi 7, Delphi 2005 PE, PHP 4 + 5 (Notepad++), Java (Eclipse), XML, XML Schema, ABAP, ABAP OO
BeitragVerfasst: So 11.06.06 19:25 
Erstmal musst du sicher alle Dateipfade des Systems in einer Liste abspeichern. Oder zumindest die Verzeichnisstruktur. Versuche das erst einmal ;) Außerdem: Wenn das so einfach wäre, dann würde sich keiner mehr Anti-Viren-Programme kaufen, sondern diese selber machen!

_________________
Pascal keeps your hand tied. C gives you enough rope to hang yourself. C++ gives you enough rope to shoot yourself in the foot
91KEY8 Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 105


Delphi 3
BeitragVerfasst: So 11.06.06 19:26 
user profile iconMarco D. hat folgendes geschrieben:
Erstmal musst du sicher alle Dateipfade des Systems in einer Liste abspeichern. Oder zumindest die Verzeichnisstruktur. Versuche das erst einmal ;) Außerdem: Wenn das so einfach wäre, dann würde sich keiner mehr Anti-Viren-Programme kaufen, sondern diese selber machen!


Wie kann ich alle Dateipfade in eine Liste speichern?
Marco D.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2750

Windows Vista
Delphi 7, Delphi 2005 PE, PHP 4 + 5 (Notepad++), Java (Eclipse), XML, XML Schema, ABAP, ABAP OO
BeitragVerfasst: So 11.06.06 19:31 
:lol: Probiers doch mal mit der Suchfunktion :lol: Schon mal versucht, es alleine hinzubekommen? Wenn du es nicht schaffst, kein Problem, aber immer nur "Wie geht das?", "Macht mal!" finde ich nicht so toll.

_________________
Pascal keeps your hand tied. C gives you enough rope to hang yourself. C++ gives you enough rope to shoot yourself in the foot
91KEY8 Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 105


Delphi 3
BeitragVerfasst: So 11.06.06 19:33 
user profile iconMarco D. hat folgendes geschrieben:
:lol: Probiers doch mal mit der Suchfunktion :lol: Schon mal versucht, es alleine hinzubekommen? Wenn du es nicht schaffst, kein Problem, aber immer nur "Wie geht das?", "Macht mal!" finde ich nicht so toll.


Die Suche bringt leider nur 2 Ergebnisse!
Marco D.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2750

Windows Vista
Delphi 7, Delphi 2005 PE, PHP 4 + 5 (Notepad++), Java (Eclipse), XML, XML Schema, ABAP, ABAP OO
BeitragVerfasst: So 11.06.06 19:38 
Zitat:

Rekursiv nach Dateien suchen
FindFirst, FindNext


--------------------------------------------------------------------------------

Um nach bestimmten Dateien auf der Festplatte zu suchen muss man die Funktionen FindFirst und FindNext benutzen. Wenn man nur nach Dateien in einem Verzeichnis suchen möchte ist dies sehr einfach. Man sucht einfach mit FindFirst nach der ersten Datei und startet dann eine Repeat-Schleife. Am Ende eines jeden Durchlaufs wird die nächste Datei in dem Verzeichnis gesucht (FindNext).

Etwas komplizierter wird die Sache, wenn man auch in Unterverzeichnissen nach Dateien suchen möchte. Dann muss sich die Funktion nämlich selbst aufrufen - immer genau dann, wenn ein Verzeichnis gefunden wurde. Dies nennt man rekursiv.

In der untenstehenden Procedure wurde der gesamte Aufruf gekapselt. Die Procedure erwartet fünf Parameter:

- Das Verzeichnis (z.B. 'C:\Programme')
- Die Suchmaske (z.B. '*.*' oder '*.doc')
- Die Ausgabeliste (z.B. Listbox1.Items)
- Rekursive Suche (bei True werden die Verzeichnisse rekursiv durchsucht, also mitsamt allen Unterverzeichnissen, bei False wird nur das angegebene Verzeichnis durchsucht).
- Ob die Ausgabeliste vorher gelöscht werden soll, bei True werden nur die neuen Suchergebnisse zurückgegeben, bei False bleiben bisherige Einträge erhalten.

procedure GetFilesInDirectory(Directory: String; const Mask: String;
List: TStrings;
WithSubDirs, ClearList: Boolean);

procedure ScanDir(const Directory: String);
var
SR: TSearchRec;
begin
if FindFirst(Directory + Mask, faAnyFile - faDirectory, SR) = 0 then try
repeat
List.Add(Directory + SR.Name)
until FindNext(SR) <> 0;
finally
FindClose(SR);
end;

if WithSubDirs then begin
if FindFirst(Directory + '*.*', faAnyFile, SR) = 0 then try
repeat
if (SR.Attr = faDirectory) and
(SR.Name <> '.') and (SR.Name <> '..') then
ScanDir(Directory + SR.Name + '\');
until FindNext(SR) <> 0;
finally
FindClose(SR);
end;
end;
end;

begin
List.BeginUpdate;
try
if ClearList then
List.Clear;
if Directory = '' then Exit;
if Directory[Length(Directory)] <> '\' then
Directory := Directory + '\';
ScanDir(Directory);
finally
List.EndUpdate;
end;
end;
Ein Beispielaufruf könnte so aussehen:

procedure TForm1.Button1Click(Sender: TObject);
begin
GetFilesInDirectory('C:\', '*.*', Listbox1.Items, False, True);
end;
In diesem Beispiel werden alle Dateien (*.*) im Verzeichnis 'C:\' in 'Listbox1.Items' gesteckt. Unterverzeichnisse werden nicht durchsucht (False).

FindFirst

Das Kernstück dieser Procedure ist eigentlich der Aufruf von FindFirst. Diese Funktion sucht nach der ersten Datei im angegebenen Verzeichnis.

Sie erwartet drei Pramater.

- Pfad + Suchmaske
- Dateiattribut
- Referenzparameter vom Typ TsearchRec

Pfad und Suchmaske sollten klar sein (z.B. C:\*.*). Der zweite Parameter kann folgende Werte annehmen:

faReadOnly Schreibgeschützte Datei
faHidden Versteckte Datei
faSysFile Systemdatei
faVolumeID Laufwerks-ID-Datei
faDirectory Verzeichnis
faArchive Archivdatei
faAnyFile Beliebige Datei
Der Parameter gibt an, welche Dateien mit welchem Dateiattribut gesucht werden sollen. Auch kann auf diese Weise nach Verzeichnissen gesucht werden können.

Dem dritten Parameter werden letztendlich bei einem Sucherfolg die Dateiinformationen übergeben:

type
TSearchRec = record
Time: Integer;
Size: Integer;
Attr: Integer;
Name: TFileName;
ExcludeAttr: Integer;
FindHandle: THandle;
FindData: TWin32FindData;
end;
Auf diese Weise kommt man auch an den eigentlichen Dateinamen, die Dateigröße oder an das Erstellungsdatum:

procedure TForm1.Button1Click(Sender: Tobject);
var
F: TSearchRec;
begin
if FindFirst(ed_dateiname.text, faAnyFile, F) = 0 then try
Label1.Caption := F.Name
Label2.Caption := IntToStr(F.Size);
finally
FindClose(F);
end;
end;
FindNext setzt einfach nur das Filehandle auf die nächste entsprechende Datei. Wieder muss die Variable vom Typ TSearchRec als Referenzparameter übergeben werden.

Da beim Aufruf von FindFirst usw. Ressourcen belegt werden, müssen sie wieder freigegeben werden. Dies geschieht mit dem Aufruf von FindClose.



--------------------------------------------------------------------------------
Letzte Aktualisierung: 13.02.2005
Online-Version

Quelle: Easy Helper

_________________
Pascal keeps your hand tied. C gives you enough rope to hang yourself. C++ gives you enough rope to shoot yourself in the foot
91KEY8 Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 105


Delphi 3
BeitragVerfasst: Do 15.06.06 13:14 
Hallo!

Ich hab heute die erste Alpha Version meines Scanners fertiggestellt. Die Oberfläche ist schon fertig. Das scanmodul erkennt aber noch keine Viren. Mann kann aber trotzdem einen Blick auf meinen Vir Dragon werfen.

Viel Spass

mfg 91KEY8

Hinweiß:

Diese Version ist erst in der Entwicklung
Einloggen, um Attachments anzusehen!


Zuletzt bearbeitet von 91KEY8 am So 18.06.06 15:15, insgesamt 1-mal bearbeitet
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Do 15.06.06 14:16 
Sieht schon verdammt gut aus, aber ein Virenscanner lebt ja von einer wirklich oft aktualisierten Virendefinitionsdatei - woher bekommst du die, bzw. planst, sie zu bekommen?
Ansonsten, Design find ich super ^^ Ich weis nich, ob die sachen unter Tools & More Sinn in einem Scanner machen, aber darauf kommts wohl eher nich an .. Bin gespannt wies weiter geht ^^

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
91KEY8 Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 105


Delphi 3
BeitragVerfasst: Do 15.06.06 14:23 
user profile iconJayEff hat folgendes geschrieben:
Sieht schon verdammt gut aus, aber ein Virenscanner lebt ja von einer wirklich oft aktualisierten Virendefinitionsdatei - woher bekommst du die, bzw. planst, sie zu bekommen?
Ansonsten, Design find ich super ^^ Ich weis nich, ob die sachen unter Tools & More Sinn in einem Scanner machen, aber darauf kommts wohl eher nich an .. Bin gespannt wies weiter geht ^^


Hallo!

Die Virendefinitionsdatei werde ich aus dem Open Source Bereich :D (Clam Win, ect.) nehmen.
Momentan werde ich eine Scanengine entwickeln, die anhand der CRC Checksumme Viren aufspürt.

mfg 91KEY8
Green
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 283

Windows XP Home
Delphi 6 Enterprise
BeitragVerfasst: Sa 17.06.06 12:57 
hey also des sieht ja mal total geil aus, haste lust vllt. mal den source hochzuladen? son paar von den teilen würden mich ma interessieren wie man die macht, keine angst ich werd nix kopieren, nur an gucken wie du des gemacht hast
Leuchtturm
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1087

Win Vista, Knoppix, Ubuntu
Delphi 7 Pe, Turbo Delphi, C#(VS 2005 Express), (X)HTML + CSS, bald Assembler
BeitragVerfasst: Sa 17.06.06 12:59 
Der würde mich auch interresiern
Zitat:
keine angst ich werd nix kopieren, nur an gucken wie du des gemacht has

gilt auch für mich

_________________
Ich bin dafür verantwortlich was ich sage - nicht dafür was du verstehst.
91KEY8 Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 105


Delphi 3
BeitragVerfasst: So 18.06.06 15:15 
Hallo!

Ich habe heute an der neuen Version meines Vir Dragons gearbeitet. Die neue Version 0.0.1.1 kann installiert werden und erkennt einen integrierten Testvirus, der total unschädlich ist. Des weiteren ist der Source des Viruses integriert. Außerdem wurden ein paar Bugs entfernt.

Viel Spass beim Testen!

mfg 91KEY8
Fighter#1
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 787

Win XP, Ubuntu 8.04
Turbo Delphi 2006, Delphi 2005 Pe, Delphi 5 Pe, Netbeans 6.1, Eclipse, Microsoft VisualC#, Dev C++, PHP, HTML, CSS
BeitragVerfasst: So 18.06.06 15:33 
Falsche Seeriennummer^^
9817-5997-7670-6060
Tut nicht!
was nun?

_________________
Wer andere beherrscht ist stark,
wer sich selbst beherrscht ist mächtig. Lao Tse
91KEY8 Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 105


Delphi 3
BeitragVerfasst: So 18.06.06 15:35 
user profile iconFighter#1 hat folgendes geschrieben:
Falsche Seeriennummer^^
9817-5997-7670-6060
Tut nicht!
was nun?


Hast du bei Name und Firma 'Delphi Forum.de' eingegeben??