Entwickler-Ecke

Dateizugriff - Falsche Virenmeldung bei Daten-DLLs


Mathematiker - Fr 15.02.19 22:52
Titel: Falsche Virenmeldung bei Daten-DLLs
Hallo,
diese Sch... Antivirenprogramme machen mich noch fertig.
Neuerdings melden skurille Programme, wie z.B. WhiteArmor (wer benutzt denn sowas?), für meine Daten-DLLs Viren und Malware. Bei jeder DLL ist es ein anderes Virenprogramm und immer nur genau eins.
Und prompt gibt es Ärger mit Anwendern, die mir natürlich nicht glauben, trotz der Tatsache, dass mehr als 60 andere Virenprogramme bei virustotal nichts finden, dass es eine Falschmeldung ist.

Zum Beispiel bei der Schriftarten-DLL, die einfach so aufgebaut ist

Delphi-Quelltext
1:
2:
3:
4:
library bfont;
{$R 'xfont.RES'}
begin
end.

Die RES-Datei enthält nur die Fonts, also die rc-Datei mit brcc32.exe übersetzt

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
mathe05g  RCDATA  mathe05g.ttf
mathe05r  RCDATA  mathe05r.ttf
mathe05w  RCDATA  mathe05w.ttf
mathe05x  RCDATA  mathe05x.ttf
mathe06h  RCDATA  mathe06h.ttf
mathe08    RCDATA  mathe08.ttf
mathe08a  RCDATA  mathe08a.ttf
mathe08b  RCDATA  mathe08b.ttf
mathe08c  RCDATA  mathe08c.ttf
mathe08d  RCDATA  mathe08d.ttf
mathe08e  RCDATA  mathe08e.ttf

Ich übersetze die DLL einfach mit F9 und bisher war alles gut.
In der DLL kommt am Anfang ein längerer Abschnitt, der irgendwelchen Code enthält. Braucht man den? Keine Ahnung.
Erst danach kommen die Daten der Schriftarten.

Kennt jemand eine Möglichkeit, wie ich evtl. die DLL um den Code am Anfang reduziere (wenn man ihn nicht wirklich braucht)? Oder gibt es eine Möglichkeit die blödsinnigen Virenmeldungen loszuwerden?

Danke für jede Hilfe
LG Steffen

Nachtrag: Es "zerreißt mir zwar das Herz", aber ich werde auch in der Delphi-Praxis nachfragen. Es ist also ein Doppel-Post. Sorry, aber es eilt, leider. :cry:


Delete - Fr 15.02.19 23:32

- Nachträglich durch die Entwickler-Ecke gelöscht -


Mathematiker - Fr 15.02.19 23:40

user profile iconFrühlingsrolle hat folgendes geschrieben Zum zitierten Posting springen:

Sollte es dir ein Trost sein, so wurden deine Anwendungen von meiner Firewall nie gut geheißen.

Nein, das ist kein Trost.


Delphi-Laie - Sa 16.02.19 02:03

user profile iconMathematiker hat folgendes geschrieben Zum zitierten Posting springen:
In der DLL kommt am Anfang ein längerer Abschnitt, der irgendwelchen Code enthält. Braucht man den? Keine Ahnung.
Erst danach kommen die Daten der Schriftarten.

Kennt jemand eine Möglichkeit, wie ich evtl. die DLL um den Code am Anfang reduziere (wenn man ihn nicht wirklich braucht)? Oder gibt es eine Möglichkeit die blödsinnigen Virenmeldungen loszuwerden?


Verstehe ich nicht. Ist es nicht Deine DLL-Datei, daß Du unschlüssig bist, ob der Code nötig ist?

Generell bin ich bis heute kein großer Freund dieses damals aus der Speichernot entstandenen Speichersparkonzeptes. Etwas umständlich aufzurufen, schwieriger als normaler Quellcode zu debuggen. Heute ist der Hauptspeicher paradiesisch groß. Nur einmal benutzte ich deshalb das DLL-Konzept, weil es wegen globaler Hooks unumgänglich war.


Narses - Sa 16.02.19 14:39

Moin Steffen!

user profile iconMathematiker hat folgendes geschrieben Zum zitierten Posting springen:
diese Sch... Antivirenprogramme machen mich noch fertig.
Neuerdings melden skurille Programme, wie z.B. WhiteArmor (wer benutzt denn sowas?),
Jup, wenn ich mir das hier [https://blog.virustotal.com/2016/11/virustotal-whitearmor.html] ankucke und dann dem Link [http://www.wangav.com/] folge, dann dreht sich mir schon der Magen um... :puke:

user profile iconMathematiker hat folgendes geschrieben Zum zitierten Posting springen:
Und prompt gibt es Ärger mit Anwendern, die mir natürlich nicht glauben, trotz der Tatsache, dass mehr als 60 andere Virenprogramme bei virustotal nichts finden, dass es eine Falschmeldung ist.
Steffen, mach dich nicht verrückt, das ist dann eben so. Wenn jemand geistig nicht in der Lage ist, einen vernünftigen AV-Scanner zu benutzen, zu verstehen, was eine Heuristik ist und wie sie funktioniert, dann hat derjenige es einfach nicht verdient, deine Software zu benutzen. Sorry, so ist das einfach. :nixweiss:

user profile iconMathematiker hat folgendes geschrieben Zum zitierten Posting springen:
Kennt jemand eine Möglichkeit, wie ich evtl. die DLL um den Code am Anfang reduziere (wenn man ihn nicht wirklich braucht)?
Da würde ich von abraten, das ist Standard, warum dran rumfummeln. Das muss der Hersteller der IDE unter Kontrolle haben. :|

user profile iconMathematiker hat folgendes geschrieben Zum zitierten Posting springen:
Oder gibt es eine Möglichkeit die blödsinnigen Virenmeldungen loszuwerden?
[...]
Sorry, aber es eilt, leider.
Tja, es gibt:
Jemand, der das Haar in der Suppe finden will, wird es auch finden. Wenn dir einer nicht vertraut (dafür aber grottiger China-AV-Software), dann schreib es ab, den kriegst du nicht überzeugt. :nixweiss:

cu
Narses


Mathematiker - Sa 16.02.19 16:01

Hallo Narses,
Danke für die Anmerkungen.

Ich werde wohl einfach auf Vertrauen setzen. Wer das "Risiko" nicht eingehen will, kann eben meine Programme nicht nutzen. Du hast recht.

Nebenbei: Ich habe die (unveränderte!) DLL heute noch einmal getestet und heute ist es ok:
https://www.virustotal.com/#/file/bd421ed57a2b1bb2bbfbabeb5a91c3f8fe93394f29cf0345be3a2ce2cf1ee1e4
Dafür trifft es jetzt die setup.exe, die gestern "virenfrei" war:
https://www.virustotal.com/#/file/95652845fd8ebc1013d3410ce6d7587caebe1c6e5cc2f1f55ff14f66c285b755

Ich komme mir verarscht vor und werde es ignorieren, wenn es mir auch sehr schwer fällt.

LG Steffen


Delphi-Laie - Sa 16.02.19 17:01

Ich verstehe immer noch nicht, wieso Code über den Fonts evtl. überflüssig ist, das aber nicht klar ist, ob oder ob nicht. Man entferne ihn einfach (bzw. kommentiere ihn aus), und man schaue, was dann - nach dem Compilieren und, falls das erfolgreich war, Starten - passiert.

user profile iconNarses hat folgendes geschrieben Zum zitierten Posting springen:
Steffen, mach dich nicht verrückt, das ist dann eben so. Wenn jemand geistig nicht in der Lage ist, einen vernünftigen AV-Scanner zu benutzen, zu verstehen, was eine Heuristik ist und wie sie funktioniert, dann hat derjenige es einfach nicht verdient, deine Software zu benutzen. Sorry, so ist das einfach.


Na, na, so schroff?

Ob ein AV-Scanner "vernünftig" ist, woran soll das denn der "einfache, kleine Anwender" erkennen?

Ansonsten sehe ich es aber auch so. Von Virenscannern lasse ich mich ja nun überhaupt nicht verrückt machen, ich benutze sie nicht einmal. Großartig Programm-Anwendungs-Software beziehe ich aus dem Internet ohnehin nicht mehr, am ehesten noch aus Delphiforen, und Delphiprogrammierer sind ausnahmslos äußerst redliche Menschen. Und wenn ich mir doch einmal unsicher bin, dann lade ich eine Datei notfalls online hoch zur Prüfung.

Ich rege an, den Schadsoftwarehinweis gleich auf https://mathematikalpha.de/download noch deutlicher zu gestalten und nicht nur einen Verweis auf https://mathematikalpha.de/fehlerhafte-virenwarnung zu bieten. Das lesen viele vermutlich gar nicht erst und schlagen stattdessen gleich bei Steffen Alarm.


jaenicke - So 17.02.19 12:31

Wir haben auch immer wieder False Positives. Bei manchen Herstellern bringt es etwas diese zu melden, anderen scheint das egal zu sein. Wir haben aber mittlerweile aufgehört diese zu melden, weil es schlicht zu viel Aufwand ist. Und bei den guten Antivirenprogrammen gibt es kaum False Positives. Selbst bei der False Positive Schleuder schlechthin (vor einigen Jahren), Avira, sieht es mittlerweile recht gut aus.


Sinspin - So 17.02.19 13:47

user profile iconDelphi-Laie hat folgendes geschrieben Zum zitierten Posting springen:
Ich verstehe immer noch nicht, wieso Code über den Fonts evtl. überflüssig ist, das aber nicht klar ist, ob oder ob nicht. Man entferne ihn einfach (bzw. kommentiere ihn aus), und man schaue, was dann - nach dem Compilieren und, falls das erfolgreich war, Starten - passiert.

Egal wie, solange da hinten .Dll oder .Ocx dran ist handelt es sich um ein ausführbares Programm. Zumindest der gute alte Exe Loader und ein Dll Main sind immer da. Ob Delphi da sonst noch was reinpackt lässt sicht sicher irgendwo nachlesen.

Mathematikalpha besteht ja bisher aus einzelnen Programmen die vom Hauptprogramm aufgerufen werden. Solange das der Fall ist sind dll's durchaus sinnvoll.
Ich muss allerdings zugeben das ich es generell "schöner" finde eine einzelne, eventuell etwas größere Datei zu haben von der nix mehr verloren gehen kann.

Ich würde auch erstmal einfach Hashes mit anbieten das der Nutzer testen kann ob der Download noch dem entspricht den du bereit gestellt hast.
Du jagst ja vermutlich deine Programme schon durch VirusTotal. Dann schreibe das auch so. Und garantiere das du nur geprüfte, virenfreie Software zum Download anbietest. Mehr geht nicht.
Wenn dann noch jemand nörgelt, nimm es gelassen. Einer nörgelt immer.


Mathematiker - So 17.02.19 22:18

Hallo
und Danke und für die Hinweise.

Ich habe jetzt doch jede einzelne Datei vorgenommen und geprüft und etwas "gebastelt". Es ist etwas besser geworden. Die "exotischen" Virenscanner melden zwar ab und an noch irgendetwas, aber z.B. einen Scanner aus Estland (nichts gegen Estland, ein schönes Land) und ähnliche werde ich ignorieren.

Ich habe überlegt, ob es etwas bringt, wenn ich z.B. den MD5-Wert der setup.exe veröffentliche. Kann man das machen, wenn ja wie und vor allem macht es Sinn? Ich denke eher nicht.

LG Steffen


jaenicke - Mo 18.02.19 08:04

user profile iconMathematiker hat folgendes geschrieben Zum zitierten Posting springen:
Ich habe überlegt, ob es etwas bringt, wenn ich z.B. den MD5-Wert der setup.exe veröffentliche. Kann man das machen, wenn ja wie und vor allem macht es Sinn? Ich denke eher nicht.
Es ist durchaus üblich um feststellen zu können, ob man auch die Originaldatei bekommen hat. Du könntest z.B. den Virustotal-Link veröffentlichen nachdem du den dortigen MD5 Hashwert verglichen hast. Denn die Hashwerte werden dort ja ohnehin angezeigt und mit deinem Link gibst du ja an welche Datei mit welchem Hash angezeigt werden soll.


Mathematiker - Mo 18.02.19 21:14

Der tägliche "Virenspaß".
Ich habe den Inno Setup Compiler auf Version 5.6.1 geändert und siehe Exe, die gestern noch zwei False Positive-Meldungen hatte, ist durch Zauberhand "virenfrei".

LG Steffen