Sicherheitswarnung bei EXE Dateien

Hier kann alles mögliche diskutiert werden. Themen zu Purebasic sind hier erwünscht.
Flames und Spam kommen ungefragt in den Mülleimer.
Frosch
Beiträge: 52
Registriert: 08.09.2004 00:39
Kontaktdaten:

Sicherheitswarnung bei EXE Dateien

Beitrag von Frosch »

Hallo,

ich weiß nicht genau wo das hingehört, deshalb schreibe ich es in die Laberecke. Seit ich den Windows XP Service Pack 2 habe gibt Windows beim öffnen der von mir Programmierten EXE Dateien eine Sicherheitswarnung aus, mit dem Hinweis "Unbekannter Herausgeber". Wie ich dann gesehen habe ist ein Zertikitat nötig, damit das nicht mehr passiert. Da ich auf meiner Webseite einige kleine Freewareprogramme anbiete wäre es natürlich sinnvoll, ein solches Zertifikat zu haben.

Frage: Wo bekomme ich das her?
Und noch viel wichtiger: Wie baue ich das in meine Software ein? Ist das mit PureBasic überhaupt möglich?

Gruß Ralf
Frosch
Beiträge: 52
Registriert: 08.09.2004 00:39
Kontaktdaten:

Nachtrag

Beitrag von Frosch »

Nachtrag.
Diese Sicherheitswarnung findet komischerweise nur dann statt, wenn ich die Datei von meiner Webseite downloade. Die Dateien, die ich auf meinem Rechner compilliert habe führen nicht zu dieser Meldung. Erst wenn ich sie auf meine Webseite stelle und dann von dort runterlade. Es ist aber doch die gleiche Datei??
Benutzeravatar
Laurin
Beiträge: 1639
Registriert: 23.09.2004 18:04
Wohnort: /dev/eth0

Beitrag von Laurin »

Bei den Dateien, die du auf deiner Platte compiliert hast, sind weitere Informationen an Windows weitergegeben worden. Man sieht die nur nicht (ähnlich einer *.exe.manifest).

Bei Dateien aus dem Internet fehlen diese Infos und Windows legt sich quer. Es ist also nix weiter als einfacher Schutz.


Greetz Laurin
Now these points of data make a beautiful line.
And we're out of beta. We're releasing on time.
Benutzeravatar
DrShrek
Beiträge: 1970
Registriert: 08.09.2004 00:59

Beitrag von DrShrek »

Um es genauer zu sagen, ab SP2 ist die Firewall von Windows aktiv geschaltet.

Bei Downloads schlägt die Firewall zu...
Siehste! Geht doch....?!
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
Frosch
Beiträge: 52
Registriert: 08.09.2004 00:39
Kontaktdaten:

Beitrag von Frosch »

Was die Firewall angeht, die ist nicht aktiv, weil ich noch ZoneAlarm habe. Der Hammer ist, dass die Donwloads schon vor SP2 stattgefunden haben. Du hast also vermutlich recht Laurin. Aber wie geht das mit der Signatur und dem Zertifikat?

Gruß Ralf
Benutzeravatar
Epyx
Beiträge: 247
Registriert: 29.08.2004 01:40
Computerausstattung: AMD64 X2 DualCore 6000+ , 3GB Ram , WinXP sp3
2x Ati Radeon HD4800 ~ CrossFireX
Kontaktdaten:

Beitrag von Epyx »

ich habe das Problem übrigens bislang nicht, aber SP2 habe ich auch installiert.
Kannst ja mal einen Link zu deiner Software geben, würde mich Interessieren ob das bei mir dann auch auftritt.
If you can't make it good, at least make it look good.
Bill Gates
Benutzeravatar
mueckerich
Beiträge: 220
Registriert: 13.09.2004 11:33
Wohnort: Am schönsten Flecken der Erde, zwischen PC und Motorrad

Beitrag von mueckerich »

Infos zu diesem Thema aus der Ct

Der Windows Explorer aktualisiert zwischengespeicherte Informationen über die Zone einer Datei nicht, wenn diese überschrieben wird. Das kann dazu führen, dass er Dateien ohne Warnung ausführt, die aus dem Internet stammen.

Hintergrund
Der Internet Explorer und Outlook Express markieren Dateien, die aus dem Internet heruntergeladen oder aus E-Mails gespeichert werden, mit einem Zone Identifier (ZoneID), der die Sicherheitszone angibt, aus der die Dateien stammen. Diese ZoneIDs entsprechen den bekannten Sicherheitszonen des Internet Explorer. Die ZoneID wird in einem Additional Data Stream (ADS) der Datei gespeichert. ADS sind ein spezielles Feature des Dateisystems NTFS. Die ADS mit den ZoneIDs heissen Zone.Identifier und lassen sich mit Notepad editieren, indem man ":Zone.Identifier" öffnet.

Startet ein Anwender eine Datei aus der Internet-Zone (ZoneID=3), erscheint eine Warnung. Der ADS ist persistent, das heisst, er bleibt auch erhalten, wenn man die Datei verschiebt -- solange sie dabei auf einem NTFS-Laufwerk bleibt. Die in Windows integrierten ZIP-Utilities beachten die ZoneID und extrahieren beispielsweise keine ausführbaren Dateien aus Archiven mit einer ZoneID größer oder gleich 3.
Abhilfe: Einfach auf ein FAT32 Laufwerk kopieren, dadurch gehen die ADS-Streams verloren und die Datei macht beim öffnen keine Probleme mehr. Das bei anderen, die Deinen Programme herunterladen (XP+SP2+IE)diese Meldung auftaucht, läßt sich nicht verhindern, das diese ADS-Steams ja wie oben beschrieben, erst beim Download hinzugefügt werden.

@Epyx: Welches Prog benutzt Du zu download?
"Wenn Sie glauben, mich verstanden zu haben, dann habe ich mich falsch ausgedrückt" ( Alan Greenspan)
Frosch
Beiträge: 52
Registriert: 08.09.2004 00:39
Kontaktdaten:

Beitrag von Frosch »

@Epyx
OK, wenn Du auf www.abnehmhilfe.de unter Download kuckst, findest Du verschiedene Rechner, z.B. einen BMI Rechner oder einen Kalorienbedarfsrechner usw. Das Problem tritt bei allen Rechnern auf, sobald ich sie donwloade. Die gleichen Programme produzieren diese Meldung NICHT, wenn ich sie nicht vom Webserver runterlade.

Wenn Du Deine Programme nicht aus dem Internet runterladst merkst Du das nicht. Das ist das Problem. Ich kann die EXE Dateien auf meinem Rechner erstellen und alles ist ok. Dann lade ich sie auf meine Webseite hoch und lade sie normal runter um zu testen ob der Download geht. Diese runtergeladene Datei produziert dann die Meldung.

Gruß Ralf
Frosch
Beiträge: 52
Registriert: 08.09.2004 00:39
Kontaktdaten:

Beitrag von Frosch »

@mueckerich,

es nützt mir nichts, die Dateien auf ein FAT32 Laufwerk zu kopieren. Die Dateien lassen sich ja ausführen, man muss nur vorher bestätigen, dass sie trotz dieser Warnung ausgeführt werden sollen. Da ich diese kleinen Freewareprogramme sozusagen als Werbung für meine Webseite zum Download anbiete ist es natürlich blöd, wenn meine Besucher (evtl. Kunden) eine solche Meldung bekommen. Es muss eine Möglichkeit geben eine Signatur in der Datei anzubringen, damit das nicht mehr passiert.

Gruß Ralf
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3857
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

@Epyx Du hast kein NTFS-DateiSystem

@sonst
die Zusatzdaten werden als ADS (alternate Datastream) mit gespeichert (Feature vom NTFS-Filesystem)

Der Zugriff darauf ist nicht zu kompliziert .. ff Programm zur Veranschaulichung

Code: Alles auswählen

;rings seins ;-)  etwas aufbebohrt
Enumeration
  #Window_0
  #Button_0
  #Button_1
  #Button_2
  #Button_3
  #Button_4
  
  #File
EndEnumeration

FILENAME.s="C:\test.txt"
Filetoadd.s=":testme.txt"
F.s=FILENAME+Filetoadd


If OpenWindow(#Window_0, 216, 0, 600, 300,  #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar , "Text-Datei mit ADS")
  If CreateGadgetList(WindowID())
    ButtonGadget(#Button_0, 30, 20, 270, 20, "Datei mit ADS erzeugen")
    ButtonGadget(#Button_1, 30, 50, 270, 20, "Dateiinhalt mit Notepad ansehen (editieren)")
    ButtonGadget(#Button_2, 30, 80, 270, 20, "ADS mit Notepad ansehen (editieren)")
    ButtonGadget(#Button_3, 30, 110, 270, 20, "ADS löschen")
    ButtonGadget(#Button_4, 30, 140, 270, 20, "Datei löschen")
  EndIf
EndIf

Repeat
  Event = WaitWindowEvent()
  If Event = #PB_EventGadget
    GadgetID = EventGadgetID()
    If GadgetID = #Button_0
      If OpenFile(#File,Filename)
        WriteStringN("Inhalt der Datei")
        CloseFile(#File)
      EndIf
      
      If OpenFile(#File,F)
        MessageRequester("","c:\test.txt mit ADS :testme.txt wurde erzeugt oder war schon da.",0)
        WriteStringN("ADS -- Ich könnte übrigens auch ne EXE oder sonstwas sein.")
        CloseFile(#File)
      EndIf
    ElseIf GadgetID = #Button_1
      If ReadFile(#File,Filename)
        CloseFile(#File)
        RunProgram(Filename,"","",1)
      EndIf
    ElseIf GadgetID = #Button_2
      If ReadFile(#File,F)
        CloseFile(#File)
        RunProgram(F,"","",1)
      EndIf
      
    ElseIf GadgetID = #Button_3
      DeleteFile(F)
    ElseIf GadgetID = #Button_4
      DeleteFile(Filename)
    EndIf
  EndIf
Until Event = #PB_EventCloseWindow
End


den ADS der downgeloadeten Datei kann man (wosg) mit Notepad angucken und editieren.

Code: Alles auswählen

file$=OpenFileRequester("Datei mit vermutlicher ADS","*.exe","",0)
If File$
  RunProgram("notepad.exe",File$+":Zone.Identifier","",1)
EndIf
Bei 3 wird gefragt ..bei 0 nicht

Die Lösung besteht allerdings eher nicht im Zurechtfummeln von ADS sondern eher in der Erstellung anständiger InstallationsRoutinen auch für kleine Tools ..

Ich benutz für sowas immer das NSIS-Zeugs da es unter anderem auch Deinstallationen beherrscht.
Zuletzt geändert von bobobo am 11.01.2005 14:20, insgesamt 1-mal geändert.
‮pb aktuell5.7 - windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Antworten