Seite 1 von 1

Virenscanner-Meldung

Verfasst: 18.02.2025 15:27
von PIC18F2550
Die Meldung tauchte gerade auf.

https://ibb.co/n81VH5Mm

Habe gestern noch damit gearbeitet ohne probleme. :evil:

Re: Virenscanner-Meldung (war: Wie soll ich das verstehen?)

Verfasst: 18.02.2025 15:37
von NicTheQuick
Das ist ganz normal, dass Virenscanner Kompilate als Virus erkennen. Damit haben nicht nur Entwickler mit Purebasic zu kämpfen.
Das liegt an den dämlichen Heuristiken, die die Virenscanner verwenden. Die vermuten wegen ein paar Bytes in der Executable manchmal Schadecode, nur weil die bei einem echten Virus auch mal vorkamen. Natürlich funktioniert das ganze etwas elaborierter.

Die Lösung des Problems ist einfach: Setze den Ordner deiner Kompilate auf die Whitelist des Virenscanners.

Re: Virenscanner-Meldung (war: Wie soll ich das verstehen?)

Verfasst: 18.02.2025 15:50
von PIC18F2550
Auf einen anderen W10 Rechner kommt bei gleichen Quelltext und Einstellung die Meldung nicht.

Ich mache erst mal einen großen Scann vom rechner.

Re: Virenscanner-Meldung (war: Wie soll ich das verstehen?)

Verfasst: 18.02.2025 16:01
von Kiffi
Bitte in Zukunft einen aussagekräftige Betreff verwenden.

Re: Virenscanner-Meldung (war: Wie soll ich das verstehen?)

Verfasst: 18.02.2025 16:48
von PIC18F2550
OK.
Diese Meldung bekomme ich von PB nach F5 mit der BitDefender Meldung.
https://ibb.co/6J7bTSfd

ich habe mal mein programm auf einen anderen w10 Rechner erstellt und auf diesen gestartet.
keine Meldung seitens BitDefender. Sollte also am erstellten Programm nicht liegen.

Re: Virenscanner-Meldung (war: Wie soll ich das verstehen?)

Verfasst: 18.02.2025 20:03
von mk-soft
Nein,
es liegt an den Viren Scanner. Diese mögen es auch nicht wenn sich die EXE ständig ändert.

Lösung:
Installiere PureBasic nach C:\WinAPP\Purebasic-v620x64 und alles anderen Versionen von Purebasic

Nehme den Ordner C:\WinAPP in die Ausnahmen Liste von den Viren Scanner auf.
Nehme deinen Projekt Ordner in die Ausnahmen Liste von den Viren Scanner auf.

Re: Virenscanner-Meldung (war: Wie soll ich das verstehen?)

Verfasst: 27.02.2025 13:17
von PIC18F2550
Die Ursache ist nicht das Programm sondern die von ihm ausgeführten aktionen.

Siehe viewtopic.php?t=33186

ich will einen USB-Stick vom Sector 0 an beschreiben.

https://ibb.co/v4xs1HZF

Leider wird das schreiben Blockiert. :cry:

Code: Alles auswählen

Procedure.l OpenPhysicalDisk(PhysicalDiskId.l, WritePermission.l)
  ;Get an handle to work with a physical disk
  Protected zDisk.s{20}
  zDisk = ReplaceString(zDisk, " ", Chr(0))
  zDisk = "\\.\PhysicalDrive" + Str(PhysicalDiskId) ;Physical disk aka "\\.\PhysicalDrive0"
  If WritePermission ;Read & Write
    ProcedureReturn(CreateFile_(zDisk, #GENERIC_READ | #GENERIC_WRITE, #FILE_SHARE_READ | #FILE_SHARE_WRITE, 0, #OPEN_EXISTING, 0, 0))
  Else ;Read only
    ProcedureReturn(CreateFile_(zDisk, #GENERIC_READ,                  #FILE_SHARE_READ | #FILE_SHARE_WRITE, 0, #OPEN_EXISTING, 0, 0))
  EndIf
EndProcedure

Code: Alles auswählen

Procedure.q DiskRead(hDisk.i, BlockIndex.q, psBuffer.i, BufferLen.l)
;Disk read procedure
  Protected FilePointer.q
  Protected NewFilePointer.q
  Protected BytesReturned.l
  FilePointer = BlockIndex * #BlockSize
  SetFilePointerEx_(hDisk, FilePointer, NewFilePointer, #FILE_BEGIN)
  If ReadFile_(hDisk, psBuffer, BufferLen, @BytesReturned, 0)
    ProcedureReturn(BytesReturned)
  EndIf
EndProcedure

Procedure.q DiskWrite(hDisk.i, BlockIndex.q, psBuffer.i, BufferLen.l)
;Disk write procedure
;Achten Sie darauf, dass Ihre Festplatte nicht beschädigt wird, wenn Sie dieses Verfahren anwenden.
  Protected FilePointer.q
  Protected NewFilePointer.q
  Protected BytesWritten.l
  FilePointer = BlockIndex * #BlockSize
  SetFilePointerEx_(hDisk, FilePointer, NewFilePointer, #FILE_BEGIN)
  If WriteFile_(hDisk, psBuffer, BufferLen, @BytesWritten, 0)
    ProcedureReturn(BytesWritten)
  EndIf
EndProcedure

Code: Alles auswählen

hDisk = OpenPhysicalDisk(2, #True) ;#FALSE for open in read only mode
      sBuffer = "PIC18F2550"+Space(#BlockSize-Len("PIC18F2550"))
      BlockIndex = 0
      PrintN("==========================================================================")
      PrintN("| WRITE LBA Sector : " + FormatNumber(BlockIndex, 0, ",", ".")+"                                                   |")
      PrintN("| Sende Buffer = "+Str(Len(sBuffer))+"                                                     |")
      ReadCount = DiskWrite(hDisk, BlockIndex, @sBuffer, #BlockSize)
      Print (DataToHexView(@sBuffer, #BlockSize-ReadCount))       
      PrintN("| restBytes "+Str(ReadCount)+"                                                            |")
      PrintN("| sBuffer   "+Str(Len(sBuffer)))
      PrintN("|________________________________________________________________________|")
    CloseDisk(@hDisk) 
    
    hDisk = OpenPhysicalDisk(2, #False) ;#FALSE for open in read only mode
      sBuffer = Space(#BlockSize)
      PrintN("==========================================================================")
      PrintN("| READ LBA Sector : " + FormatNumber(BlockIndex,                        0, ",", ".")+"                                                    |")
      PrintN("| Empfangs Buffer = "+Str(Len(sBuffer))+"                                                  |")
      ReadCount = DiskRead(hDisk, BlockIndex, @sBuffer, #BlockSize)
      Print (DataToHexView(@sBuffer, ReadCount))        
      PrintN("| restBytes "+Str(ReadCount)+"                                                            |")
      PrintN("| sBuffer   "+Str(Len(sBuffer)))
      PrintN("|________________________________________________________________________|")
    CloseDisk(@hDisk) 

Was mich am meisten Irritiert das es manchmal geht aber meistens nicht.
Und macht mann es noch mal wenn es geht scheint es wieder nicht zu gehen.

Re: Virenscanner-Meldung (war: Wie soll ich das verstehen?)

Verfasst: 27.02.2025 15:25
von PIC18F2550
Hier schlägt Bitdefender zu.

https://ibb.co/zVZxX54N

Auf Gerät zulassen ist Aktiviert.

https://ibb.co/wtC3wFL

Gibt es noch einen Tipp.

Re: Virenscanner-Meldung

Verfasst: 27.02.2025 21:01
von Bisonte
Achja... Das Ding was du benutzt ist der Windows Defender. BitDefender ist wieder was anderes...
Du muss dem Windows defender am besten einen Ordner ausschliessen lassen. Einzelne exe dateien bringt meist nicht viel....
einmal geändert und zack ist sie wieder dran...
Also nicht die einzelne exe auf "zulassen" stellen (weil das funktioniert nicht wirklich, weil sie wurde ja schon geblockt und verschoben...)

Re: Virenscanner-Meldung

Verfasst: 28.02.2025 15:23
von PIC18F2550
Ich bekomme jetzt zwar keine Meldung vom Bitdefender aber schreiben auf den Stick tut er immer noch nicht. :cry: