AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Trojaner problem mit UrlDownloadToFile
Thema durchsuchen
Ansicht
Themen-Optionen

Trojaner problem mit UrlDownloadToFile

Ein Thema von SaBaN · begonnen am 4. Aug 2011 · letzter Beitrag vom 7. Aug 2011
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#1

AW: Trojaner problem mit UrlDownloadToFile

  Alt 4. Aug 2011, 16:05
Du solltest keine Energie dafür investieren, ein harmloses Programm was fälschlicherweise bemängelt wird für die Virenscanner harmlos erscheinen zu lassen. Es ist auch nicht ganz unwahrscheinlich, dass deine ganzen Workarounds mit dem nächsten Update der Antivirensoftware hinfällig werden... sowohl im positiven als auch im negativen Sinne.

Also am sinnvollsten:
Da bleibt nur deine Exe an die Hersteller zu schicken, damit die ihre Definitionen aktualisieren.
  Mit Zitat antworten Zitat
SaBaN

Registriert seit: 15. Sep 2005
20 Beiträge
 
Delphi XE5 Professional
 
#2

AW: Trojaner problem mit UrlDownloadToFile

  Alt 4. Aug 2011, 17:45
Du solltest keine Energie dafür investieren, ein harmloses Programm was fälschlicherweise bemängelt wird für die Virenscanner harmlos erscheinen zu lassen. Es ist auch nicht ganz unwahrscheinlich, dass deine ganzen Workarounds mit dem nächsten Update der Antivirensoftware hinfällig werden... sowohl im positiven als auch im negativen Sinne.

Also am sinnvollsten:
Da bleibt nur deine Exe an die Hersteller zu schicken, damit die ihre Definitionen aktualisieren.
Du hast Recht, aber ich will auch nicht mit den AntiVirus Programmierern meine Energie verbrauchen.
Deswegen habe ich nun mit Indy mein Problem gelöst.
nur VBA32 mekert von 20 antivirus Programmen und das ist mir nicht wichtig.
Hier mein funktionierender Code:
Delphi-Quellcode:
procedure TForm1.FormShow(Sender: TObject);
begin
 Button1Click(Self);
end;

procedure TForm1.Button1Click(Sender: TObject);
var responseStream: TFileStream;
begin
 try
  IdHTTP1.Head(Url+downloadFile);
  if (IdHTTP1.ResponseCode <> 404) then
   responseStream := TFileStream.Create(ExtractFilePath(application.exename)+'Repertuar.exe', fmCreate);
  IdHTTP1.Get(url+downloadFile, responseStream); //downloadFile
  MessageDlg('Das Programm wurde aktualisiert.', mtInformation,[mbOk], 0);
  responseStream.free;
 except
  on E: EIdHTTPProtocolException do
   MessageDlg('Das Programm konnte nicht aktualisiert werden!!!.', mtWarning,[mbOk], 0);
 end;
 ShellExecute(Application.Handle,'open',Pchar(ExtractFilePath(application.exename)+'Repertuar.exe'),nil,nil,sw_ShowNormal);
 Form1.Close;
end;
Vielen Dank an euch
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

AW: Trojaner problem mit UrlDownloadToFile

  Alt 4. Aug 2011, 19:06
Delphi-Quellcode:
on E: EIdHTTPProtocolException do
   MessageDlg('Das Programm konnte nicht aktualisiert werden!!!.', mtWarning,[mbOk], 0);
Solche Fehlermeldungen liebe ich. Die kann man sich auch sparen, denn sie hilft werde dem Benutzer noch dir, wenn der Benutzer dich fragt, warum das Update nicht funktioniert hat. Wenn du schon die Exception abfängst, dann kannst du doch auch gleich den Exceptiontext ausgeben. Dann hat man zumindest schon mal einen Anhaltspunkt, was nicht funktioniert hat.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#4

AW: Trojaner problem mit UrlDownloadToFile

  Alt 4. Aug 2011, 22:19
Solche Fehlermeldungen liebe ich.
Dito!
Hier braucht man eine Fehlerinformationsanreicherungs-Strategie:
Delphi-Quellcode:
try
  // hier der Code für Download
  ...
on E:Exception do
begin
  E.Message := Format('Update konnte nicht von heruntergeladen werden.'#13#10'Url: %s'#13#10, [url+downloadFile])+
    E.Message; // Orginale Fehlermeldung anhängen
  raise; // Exception neu auslösen; MessageDlg zu verwenden wäre ungeschickt
end;
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

AW: Trojaner problem mit UrlDownloadToFile

  Alt 5. Aug 2011, 01:39
raise; // Exception neu auslösen; MessageDlg zu verwenden wäre ungeschickt
Da die Routine aber direkt in der Ereignisprozedur der Schaltfläche implementiert ist, was auch ungeschickt ist, bleibt an der Stelle nichts anderes übrig, da es keinen übergeordneten Code gibt.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#6

AW: Trojaner problem mit UrlDownloadToFile

  Alt 7. Aug 2011, 22:36
Da die Routine aber direkt in der Ereignisprozedur der Schaltfläche implementiert ist, was auch ungeschickt ist, bleibt an der Stelle nichts anderes übrig, da es keinen übergeordneten Code gibt.
Ein simples Raise löst die Exception neu aus.
Diese wird von der VCL auf oberster Ebene abgefangen und über Application.ShowException angezeigt.
Dieses Standardverhalten macht "im Prinzip" genau das Gleiche wie MessageDlg: es zeigt die Fehlermeldung in einem modalen Fenster an.
Aber ein raise macht noch etwas mehr: es unterbricht den Programmfluss und gibt die Kontrolle an die Windows-Message-Loop zurück.
Dieses Verhalten ist hier ebenfalls erwünscht, denn welchen Sinn macht es wenn der Download des Updates gescheitert ist das Programm weiterlaufen zu lassen?
  Mit Zitat antworten Zitat
CCRDude

Registriert seit: 9. Jun 2011
678 Beiträge
 
FreePascal / Lazarus
 
#7

AW: Trojaner problem mit UrlDownloadToFile

  Alt 5. Aug 2011, 07:26
Du solltest keine Energie dafür investieren, ein harmloses Programm was fälschlicherweise bemängelt wird für die Virenscanner harmlos erscheinen zu lassen. Es ist auch nicht ganz unwahrscheinlich, dass deine ganzen Workarounds mit dem nächsten Update der Antivirensoftware hinfällig werden... sowohl im positiven als auch im negativen Sinne.

Also am sinnvollsten:
Da bleibt nur deine Exe an die Hersteller zu schicken, damit die ihre Definitionen aktualisieren.

Kompletter Widerspruch

Hauptsächlich in der Formulierung. Dateien zu signieren, ja überhaupt erstmal gültige ordentliche Versionsresourcen einzutragen hat nichts mit "harmlos erscheinen lassen", sondern mit "seriös machen" zu tun. Und genau das sollte er tun - wenn er ernst genommen werden möchte. Indy zu verwenden gehört jetzt nicht zum seriös machen, wohl aber die Punkte, auf die er gar nicht eingegangen ist.

Einschicken bedeutet nichts anderes, als vor jedem Release wieder neu an alle Hersteller einschicken zu müssen. Und die husten ihm irgendwann einen. Tun wir zumindest, wenn jemand schlampig programmiertes einschickt und beratungsresistent ist. Wobei, die meisten Entwickler sind für Hinweise tatsächlich dankbar
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#8

AW: Trojaner problem mit UrlDownloadToFile

  Alt 5. Aug 2011, 09:58
Einschicken bedeutet nichts anderes, als vor jedem Release wieder neu an alle Hersteller einschicken zu müssen. Und die husten ihm irgendwann einen. Tun wir zumindest, wenn jemand schlampig programmiertes einschickt und beratungsresistent ist. Wobei, die meisten Entwickler sind für Hinweise tatsächlich dankbar
Sorry, aber wenn die Virenscanner-Hersteller Mist bauen, dass sollten sie nicht ignorieren, dass da einer ist, der ihnen jeden Monat sagt, dass doch noch Programmteile des Virenscanners mist sind.
Und die Beratungsresistenz würde ich in diesem Fall bei den Virenscanner-Hersteller ansiedeln, nicht beim einfachen Programmierer. Der wird dadurch nur gehindert.

Und auch schlampig programmiertes Zeug hat durchaus seine Berechtigung zu laufen, ohne dass der Virenscanner einen Trojaner verdächtigt.

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#9

AW: Trojaner problem mit UrlDownloadToFile

  Alt 5. Aug 2011, 10:23
Das Problem ist grundlegender.
Alle Methoden einen Download zu machen, sei es mit UrlDownloadToFile oder den Indys, erfordern das dein Programm auf das Internet zugreifen muss.
Diese ist für eine Firewall oder ein Antivirus-Programm ein nicht gewünschtest verhalten.

Für den Benutzer ist das auch nicht gut, da er dein Programm erst in der Firewall freischalten muss.

Du könntest versuchen den Windows Bits Dienst zu nutzen. Der ist meist in der Firewall freigeschaltet.

Eine Demo findest du in den Quelltexten meiner Session letztes Jahr bei den Delphi-Tagen.
"UpToDate" - Software aktuell halten.
Hat mal jemand einen Link dazu? Ich finde es nicht mehr (hier im Forum).

Alternativ:
Entwickler Mag. 4.2010.

Schon up to date? Onlineupdates mit Delphi

Source
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
CCRDude

Registriert seit: 9. Jun 2011
678 Beiträge
 
FreePascal / Lazarus
 
#10

AW: Trojaner problem mit UrlDownloadToFile

  Alt 5. Aug 2011, 12:29
Sorry, aber wenn die Virenscanner-Hersteller Mist bauen, dass sollten sie nicht ignorieren, dass da einer ist, der ihnen jeden Monat sagt, dass doch noch Programmteile des Virenscanners mist sind.
Und die Beratungsresistenz würde ich in diesem Fall bei den Virenscanner-Hersteller ansiedeln, nicht beim einfachen Programmierer. Der wird dadurch nur gehindert.

Und auch schlampig programmiertes Zeug hat durchaus seine Berechtigung zu laufen, ohne dass der Virenscanner einen Trojaner verdächtigt.

Bernhard
Ich sage ja nicht, daß ein False Positive kein Mist ist. Aber hier handelt es sich vermutlich nichtmal um Mist.

Wenn ich ein Flugblatt, Dorfblättchen oder sonstiges Pamphlet rausgebe, muss ich den ViSdP nennen. Wenn ich eine Webseite zu meiner Hamsterzucht ins Netz stelle, muss ich ein Impressum dazu packen. Wenn ich Software veröffentliche, ist das auch nicht anders, dann sollte ich die Herkunft angeben, und das gehört in die Versionsresource. Software ist immer potentieller Schadcode, und damit hat der Anwender ein Recht, die Herkunft zu kennen.

Und signieren ist ähnlich. Zugegeben, für Hobby-Freeware-Entwickler nicht günstig. Aber so wie ich kein Auto verkaufen würde, das man nicht abschließen kann, würde ich auch keine Software an den Kunden bringen, die nicht wenigstens so minimal gegen Fremdeinwirkung abgesichert ist.

Insofern: genauso, wie ich jemanden nicht für seriös halte, der seine Meinung zur politischen Lage ohne ViSdP an Laternenmasten klebt, halte ich Software-Autoren, die ihre Software nicht ausreichend kennzeichnen, für unseriös.

Oder ein anderes Beispiel: wer sein eigenes Auto nicht abschließt, ist gegen Diebstahl nicht versichert und hat letztendlich sogar noch Teilschuld an dem, was mit dem gestohlenen Auto passiert. Weil er grob fahrlässig war. Und Schlampigkeit ist auch grob fahrlässig.

Damit möchte ich jetzt niemanden persönlich angreifen. Und auch F/Ps nicht generell schönzureden. Wir selber versuchen zwar, F/Ps manchmal auch auf Kosten einer geringen Erkennungsrate zu vermeiden, aber ganz vermeiden lassen sie sich nunmal nicht. Und genau wie beim Auto-Beispiel gibt's halt irgendwo eine moralische "Selbst-Schuld"-Schranke. Die, ich wiederhole mich, von eigentlich seriösen Herstellern auch durch die Bank anerkannt wird.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:55 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz