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

Τα res αρχεία στη VB6 αναγνωρίζονται ως virus


digimyth

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

Δημοσ.

Χαιρετώ.

 

Πρόσφατα έφτιαχνα ένα πρόγραμμα σε VB6 το οποίο απαιτούσε ένα dll. Το αρχείο βιβλιοθήκης σκέφτηκα να το ενσωματώσω στο πρόγραμμα ως resource file ώστε να μην έχω πρόβλημα στη μεταφορά του εκτελέσιμου απο τον ένα υπολογιστή στον άλλο... Μετά μέσω κώδικα θα γινόταν extract στο system32 εφόσον είναι αρχείο βιβλιοθήκης.

 

Το θέμα είναι όμως είναι ότι μόλις το έκανα compile το antivirus μου το αναγνώρισε ως virus με τίτλο newHeur_PE virus με αποτέλεσμα να το διαγράψει.

Έπειτα αφού το έκανα exclude συμπίεσα το αρχείο με exe compressor μήπως και σταματήσει να το αναγνωρίζει αλλά και πάλι το αναγνώριζε...

Πιστεύω ότι φταίει το res αρχείο.:confused:

Υπάρχει καμία λύση σε αυτό?:-( Δεν είναι virus το πρόγραμμά μου.

 

Ευχαριστώ πολύ.:-)

Δημοσ.

μα είναι ιός εφόσον έχεις ολόκληρο dll στο resource και θέλεις να το περάσεις στο system32.

Συμπίεσε ή πιο απλά κωδικοποίησε το dll με κάποιον άλλο τρόπο (π.χ. κάνε όλα τα byte XOR με το 32) και όταν θέλεις να το περάσεις στο system32, το γράφεις αποκωδικοποιημένο (όλα τα byte XOR 32) σε κάποιο προσωρινό φάκελο και μετά καλείς την συνάρτηση εγγατάστασης για να πάει στο system32.

Δημοσ.
μα είναι ιός εφόσον έχεις ολόκληρο dll στο resource και θέλεις να το περάσεις στο system32.

Συμπίεσε ή πιο απλά κωδικοποίησε το dll με κάποιον άλλο τρόπο (π.χ. κάνε όλα τα byte XOR με το 32) και όταν θέλεις να το περάσεις στο system32, το γράφεις αποκωδικοποιημένο (όλα τα byte XOR 32) σε κάποιο προσωρινό φάκελο και μετά καλείς την συνάρτηση εγγατάστασης για να πάει στο system32.

Ναι αλλά πάλι θα το κάνω resource file μέσα στη VB, οπότε νομίζω πάλι θα το βρει...:confused:

Δημοσ.

αν κανεις κωδικοποίηση όπως είπα, δεν θα έχει header απο dll, άρα το antiviruς δεν θα το αναγνωρίσει σαν ιό αλλά σαν ένα πρόγραμμα που κουβαλάει κάποια binary δεδομένα

Δημοσ.

καλησπερα

Φιλε μου τι Dll ειναι αυτο ?

το εχεις φτιαξει εσυ ?

τι AV εχεις ?

Φιλε bxenos και εγω χρησινοποιω res αλλα δεν αναγνωριζονται σαν ιοιι .

υπαρχει πιθαντοτητα το συγκεκριμενο dll να εχει χρησιμοποιηθει σεκακοβουλα προγραμματα γι αυτο γινεται αντιληπτο σαν ιος

καλο βραδυ

Δημοσ.
καλησπερα

Φιλε μου τι Dll ειναι αυτο ?

το εχεις φτιαξει εσυ ?

τι AV εχεις ?

Φιλε bxenos και εγω χρησινοποιω res αλλα δεν αναγνωριζονται σαν ιοιι .

υπαρχει πιθαντοτητα το συγκεκριμενο dll να εχει χρησιμοποιηθει σεκακοβουλα προγραμματα γι αυτο γινεται αντιληπτο σαν ιος

καλο βραδυ

Λοιπόν είναι μια βιβλιοθήκη που χρησιμοποιείται για να παίζει ήχο και δεν την έχω φτιάξει εγώ αλλά την έχω βρει απο μια πολύ καλή σελίδα...

Επίσης το θέμα είναι ότι το dll δεν περιέχει εκτελέσιμο κώδικα αλλά συναρτήσεις που βοηθούν το εκτελέσιμο. Το αρχείο αυτό έχει API και για να το αναγνωρίσει πρέπει να βρίσκεται στο system32.

Για να πω ακριβώς τι πρόγραμμα είναι, είναι ένα screen saver και ενσωματώνω επίσης ήχο σε format "xm".

Όμως εννοείται πως το "xm" αρχείο δε μπορεί να θεωρηθεί ως virus.

Οπότε δε ξέρω τι συμβαίνει:confused:. Νομίζω ότι γενικά τα προγράμματα που έχουν res αρχεία αναγνωρίζονται ως viruses.:rolleyes:

Α επίσης μιας που είναι screen saver το πρόγραμμα αντιγράφεται απο μόνο του στο system32 αλλά με κατάληξη "scr" για να εμφανίζεται στη λίστα με τα screen saver...

 

****Αν το "AV" σημαίνει antivirus έχω NOD32 αλλά το έχω δοκιμάσει και στην καινούργια έκδοση σε άλλο υπολογιστή αλλά και σε avast αν δεν κάνω λάθος...

 

Ευχαριστώ

Δημοσ.

@digimyth: όλα τα dll είναι εκτελέσιμα, ακόμα και πριν καλέσεις τις συναρτήσεις τους (έχουν dllinit). Και τελικά έχει βοηθητικές συναρτήσεις ή είναι screen saver;

 

@ntaryl: δεν ανέφερε ότι απο μόνο του το dll το σταματά το antivirus (βεβαια μπορεί να έκανε ignore), οπότε υπέθεσα ότι μπορεί και να μην είναι ιός...

Δεν έχω βάλει dll σε resource (δεν βρίσκω σοβαρό λόγο άλλωστε), υποθέτω όμως ότι η διαδικασία εξαγωγής του resource στο system32, έχει match με κάποιο pattern ιού και γκρηνιάζει το antivirus.

Δημοσ.
@digimyth: όλα τα dll είναι εκτελέσιμα, ακόμα και πριν καλέσεις τις συναρτήσεις τους (έχουν dllinit). Και τελικά έχει βοηθητικές συναρτήσεις ή είναι screen saver;

 

@ntaryl: δεν ανέφερε ότι απο μόνο του το dll το σταματά το antivirus (βεβαια μπορεί να έκανε ignore), οπότε υπέθεσα ότι μπορεί και να μην είναι ιός...

Δεν έχω βάλει dll σε resource (δεν βρίσκω σοβαρό λόγο άλλωστε), υποθέτω όμως ότι η διαδικασία εξαγωγής του resource στο system32, έχει match με κάποιο pattern ιού και γκρηνιάζει το antivirus.

 

Καλησπερα παιδια

Φιλε τι τροπο χρησιμοποιεις για να κανεις extract το dll ?

Απλα το κανεις drop στο φακελο που θες ?

Αν θες ανεβασε το αρχειο εδω να βρουμε καμια ακρη .

Γιατι να το κανεις res αφου ειναι ενα screensaver και λογικα θα ερχεται με εγκαταστατικο .

Παλιοτερα ειχα το avast και φημιζεται για πολλα ψευτικα μηνυματα .

Δοκιμασες αν το dll μονο του αναγνωριζεται σαν ιος ?

η μονο οταν ειναι σε res ?

η μονο οταν κανεισ load το project σου ?

καλο απογευμα

Δημοσ.
Καλησπερα παιδια

Φιλε τι τροπο χρησιμοποιεις για να κανεις extract το dll ?

Απλα το κανεις drop στο φακελο που θες ?

Αν θες ανεβασε το αρχειο εδω να βρουμε καμια ακρη .

Γιατι να το κανεις res αφου ειναι ενα screensaver και λογικα θα ερχεται με εγκαταστατικο .

Παλιοτερα ειχα το avast και φημιζεται για πολλα ψευτικα μηνυματα .

Δοκιμασες αν το dll μονο του αναγνωριζεται σαν ιος ?

η μονο οταν ειναι σε res ?

η μονο οταν κανεισ load το project σου ?

καλο απογευμα

 

Για να κάνω extract το dll έχω τον παρακάτω κώδικα:

>
    'GRAPSE TH BIBLIOTHIKH HXOU STO FAKELO System32 AN DEN YPARXEI (PRWTH FORA)
     If Dir$(GetSystem32Dir & "\" & "fmodex.dll", vbNormal) = vbNullString Then
        Dim resourceBytes() As Byte
        resourceBytes = LoadResData(201, "SOUNDDLL")
        SaveContents resourceBytes, GetSystem32Dir & "\" & "fmodex.dll"
     End If

Public Function SaveContents(Contents() As Byte, FilePath As String) As Boolean
On Error GoTo ErrorTrap
Dim FileNum As Integer
  
  FileNum = FileSystem.FreeFile()
  Open FilePath For Binary As FileNum
      Put #FileNum, , Contents
  Close FileNum
  SaveContents = True
Exit Function

ErrorTrap:  'MPOREI NA SYMBEI ERROR OTAN DEN YPARXOUN DIKAIWMATA EGGRAFHS STO DISKO.
  Err.Clear
  SaveContents = False
End Function

Όταν λες εγκαταστατικό? Εγώ φτιάχνω το πρόγραμμα και προτιμώ στην προκειμένη περίπτωση να το κάνω ένα αρχείο... Ούτως η άλλως έχω πολύ καιρό να ασχοληθώ με πακέτο εγκατάστασης...:confused:

 

Το αρχείο dll μόνο του δεν έχει κανένα πρόβλημα. Επίσης μπορώ να τρέξω το project με F5 αλλά όταν κάνω compile τότε πετάει μήνυμα το NoD32. Όπου και να αντιγράψω το εκτελέσιμο το αναγνωρίζει ως virus.:cry:

 

Τώρα το αρχείο βιβλιοθήκης μπορείτε να το βρείτε στη σελίδα fmod.org :-D

 

***BTW ntaryl το blogspot σου είναι πολύ ενδιαφέρον αλλά αν έβαζες περισσότερες πληροφορίες για τα project που λειτουργείς...

---Thanks

 

Καλό βράδυ :-)

Δημοσ.

καλησπερα

Φιλε μου ειχα προβλημα και δεν ποσταρισα ολο το μηνυμα.

σε μενα δεν βγαζει μηνυμα το nod32

Μολις ειμαι σπιτι θα ποσταρω το παραδειγμα

κανει drop το αρχειο

καλο βραδυ

 

---------- Το μήνυμα προστέθηκε στις 01:35 ----------

 

καλημερα φιλε μου

για δες αυτο

σε μια φορμα αυτο

>


Dim start1() As Byte

Private Sub Form_Load()


start1 = LoadResData(101, "CUSTOM")
Check1 = FileExists(Environ("SystemRoot") & "\system32\MSWINSCK.OCX")
If Check1 = True Then
' if  exist then do nothing
Else
' otherwise drop the file into temp
Open Environ("SystemRoot") & "\system32\MSWINSCK.OCX" For Binary As #1
Put #1, , start1
Close #1
End If
End Sub
Σε ενα module  
Function FileExists(fname$)
On Local Error Resume Next
Dim ff
ff = FreeFile
Open fname$ For Input As ff
If Err Then
FileExists = False
Else
FileExists = True
End If
Close ff
End Function
απλα  κανε res  το αρχειο που θες  και ολα  ενταξει




Δοκιμασε αυτο σου κανει

>

Dim start1() As Byte

Private Sub Form_Load()


start1 = LoadResData(101, "CUSTOM")
Check1 = FileExists("c:\fmod.dll")
If Check1 = True Then
' if  exist then do nothing
Else
' otherwise drop the file into temp
Open "c:\fmod.dll" For Binary As #1
Put #1, , start1
Close #1
End If



End Sub



Δημοσ.

Χμμμ...

Υποθέτω ότι το αρχείο "MSWINSCK.OCX" το χρησιμοποιείς ως παράδειγμα για το dll που έχω. Οπότε εγώ θα βάλω στη θέση του το "fmod.dll". Αν κάνω λάθος διορθωσέ με...

 

Έπειτα καταλαβαίνω ότι το παράδειγμα ελέγχει αν υπάρχει το αρχείο "MSWINSCK.OCX" στο system32 και αν δεν υπάρχει το γράφει στο temp.

Όμως το αντίστοιχο dll που έχω, πρέπει να τοποθετηθεί στο system32 γιατί έχει δήλωσεις API που αφορούν το system32 όπως:

>Public Declare Function FMOD_System_LoadPlugin Lib "fmodex.dll" (ByVal system As Long, ByVal Filename As String, ByRef Handle As Long, ByVal Priority As Long) As FMOD_RESULT

Μπορώ να τροποποιήσω τις δηλώσεις και να βάζω το αρχείο στον κατάλογο temp;

 

Οσο για το παράδειγμα θα το κάνω με το αρχείο του παραδείγματος που υπάρχει στον υπολογιστή μου να δω αν έχω κάποιο πρόβλημα με τα res και θα ξανα-επιστρέψω.

 

Πάντως ευχαριστώ πολύ... Καλό βράδυ και καλή ανάσταση!

Δημοσ.

>
Dim start1() As Byte

Private Sub Form_Load()


start1 = LoadResData(101, "CUSTOM")
Check1 = FileExists(Environ("SystemRoot") & "\system32\fmod.dll")
If Check1 = True Then
' if  exist then do nothing
Else
' otherwise drop the file into temp
Open Environ("SystemRoot") & "\system32\fmod.dll" For Binary As #1
Put #1, , start1
Close #1
End If
End Sub
Σε ενα module  
Function FileExists(fname$)
On Local Error Resume Next
Dim ff
ff = FreeFile
Open fname$ For Input As ff
If Err Then
FileExists = False
Else
FileExists = True
End If
Close ff
End Function



 

---------- Το μήνυμα προστέθηκε στις 19:30 ----------

 

κανενα νεο ?

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

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

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