Virusfund in VBA-Modul

22/02/2010 - 13:03 von Sebastian Brandt | Report spam
Hallo zusammen,

ich bekomme mit Avira Antivir eine Virenmeldung "Enthàlt
Erkennungsmuster des HTML-Scriptvirus HTML/ADODB.Exploit.Gen" in u.a.
Access-Modul.
Ich vermute, dass die Zeile mit CreateObject("ADODB.Stream") die Ursache
ist? Kann/Sollte/Darf man das einfach ignorieren? Gibt es Alternativen
zu diesem Objekt?

Auch wenn dies vermutlich nicht die richtige Group ist, aber:
Wie verhàlt man sich denn am besten im Fall eines Virusfundes in einer
Datenbank? Dem Anwender kann man ja nicht einfach abspeisen mit: "Da
passiert schon nix, könnse mir glauben..." (bin mir ja selbst nicht
sicher, was ich glauben soll ;-)

Danke und viele Grüße an alle fleißigen Helfer...
Sebastian


Attribute VB_Name = "Utf8"
Option Compare Database
Option Explicit

' Konvertiert den übergebenen ANSI-String nach UFT-8
Public Function UTF8_Encode(ByVal sData As String) As String
' wenn String leer, Funktion sofort verlassen
If Len(sData) = 0 Then Exit Function

' ADODB.Stream-Objekt
Dim oStream As Object

On Error Resume Next
Set oStream = CreateObject("ADODB.Stream")
If Err.Number = 0 Then
With oStream
' gewünschten Zeichensatz festlegen
.Charset = "UTF-8"
.Mode = 3 ' adModeReadWrite
.type = 2 ' adTypeText

' Stream öffnen
.Open

If Err.Number = 0 Then
' String UTF-8 codiert in den Stream schreiben
.WriteText sData
.Flush

' geschriebene Daten wieder auslesen
' Konvertierung nach ANSI erfolgt automatisch
.Position = 0
.Charset = "x-ansi"
.Position = 3
sData = .ReadText
End If

' Stream schließen
.Close
End With
Set oStream = Nothing
End If
On Error GoTo 0

UTF8_Encode = sData
End Function

' Konvertiert den UTF-8 String nach ANSI
Public Function UTF8_Decode(ByVal sData As String) As String
' wenn String leer, Funktion sofort verlassen
If LenB(sData) = 0 Then Exit Function

' ADODB.Stream-Objekt
Dim oStream As Object

On Error Resume Next
Set oStream = CreateObject("ADODB.Stream")
If Err.Number = 0 Then
With oStream
' Zeichensatz festlegen
.Charset = "utf-8"
.Mode = 3 ' adModeReadWrite
.type = 1 ' adTypeBinary

' Stream öffnen
.Open

If Err.Number = 0 Then
' UTF-8 String als Byte-Array in den Stream schreiben
Dim data() As Byte
ReDim data(0)
data = StrConv(sData, vbFromUnicode)
.Write data
.Flush

' geschriebene Daten wieder auslesen
' Konvertierung von UTF-8 erfolgt automatisch
.Position = 0
.type = 2 ' adTypeText
sData = .ReadText
End If

' Stream schließen
.Close
End With
Set oStream = Nothing
End If
On Error GoTo 0

UTF8_Decode = sData
End Function

'UTF-8 codierte Datei einlesen
Public Function UTF8_DecodeFromFile(ByVal sFile As String) As String
Dim sData As String

' ADODB.Stream Object
Dim oStream As Object

On Error Resume Next
Set oStream = CreateObject("ADODB.Stream")
If Err.Number = 0 Then
With oStream
' Zeichensatz festlegen
.Charset = "utf-8"
.Mode = 3 ' adModeReadWrite
.type = 2 ' adTypeText

' Stream öffnen und Datei einlesen
.Open
.LoadFromFile sFile

' Inhalt des Stream-Objekts als String
' Konvertierung erfolgt automatisch
.Position = 0
sData = .ReadText

' Stream schließen
.Close
End With
Set oStream = Nothing
End If
On Error GoTo 0

UTF8_DecodeFromFile = sData
End Function

'UTF-8 codierte Datei schreiben
' Speichert den ANSI-String UTF-8 codiert in die angegebene Datei
Public Function UTF8_EncodeToFile(ByVal sData As String, ByVal sFile As
String) As Boolean
' wenn String leer, Funktion sofort verlassen
If Len(sData) = 0 Then Exit Function

' ADODB.Stream-Objekt
Dim oStream As Object

On Error Resume Next
Set oStream = CreateObject("ADODB.Stream")
If Err.Number = 0 Then
With oStream
' gewünschten Zeichensatz festlegen
.Charset = "UTF-8"
.Mode = 3 ' adModeReadWrite
.type = 2 ' adTypeText

' Stream öffnen
.Open

If Err.Number = 0 Then
' String UTF-8 codiert in den Stream schreiben
.WriteText sData
.Flush

' Inhalt des Stream als Datei speichern
.SaveToFile sFile
End If

' Stream schließen
.Close
End With
Set oStream = Nothing
End If
On Error GoTo 0

UTF8_EncodeToFile = (Err.Number = 0)
End Function
 

Lesen sie die antworten

#1 Mark Doerbandt
22/02/2010 - 13:50 | Warnen spam
Hallo, Sebastian,

Sebastian Brandt:

ich bekomme mit Avira Antivir eine Virenmeldung "Enthàlt
Erkennungsmuster des HTML-Scriptvirus HTML/ADODB.Exploit.Gen" in u.a.
Access-Modul.



ich habe mir Deinen Code mal in ein Modul kopiert und die .accdb mit
Avira Professional v8.02.01.172 / vDef 7.10.04.117 gescannt und nix
gefunden. Kann es doch etwas anderes sein?

Gruss - Mark

Informationen fuer Neulinge in den Access-Newsgroups unter
http://www.doerbandt.de/Access/Newbie.htm

Bitte keine eMails auf Newsgroup-Beitràge senden.

Ähnliche fragen