Alternativer IconHandler für LNK-Dateien

  • Als Reaktion auf die Sicherheitslücke im IconHandler für LNK-Dateien habe ich nun meinen eigenen geschrieben. Dieser stellt zwar nicht alle Icons da, doch die meisten sind vorhanden. Dafür tritt die Lücke nicht auf.
    Im Anhang befindet sich der C++-Quellcode des Handlers, die DLL und ein in AutoIt geschriebener Installer.
    Ich übernehme keine Verantwortung für eventuell durch dieses Paket verursachte Schäden und Probleme.
    Der Code wurde von mir auf einem Windows Xp Sp3 mit 32 Bit getestet. Vermutlich funktioniert es auch bei Vista und Win7.
    64bit wird jedoch NICHT unterstützt, vielleicht könnt ihr aber die DLL auch als x64 kompilieren. Es ist eine x64-Version dabei. Verwendung wie immer auf eigenes Risiko.
    PS: Der Installer ist englisch, aber die zwei Sätze sollte man verstehen können ;)

    ACHTUNG: Bei einem Doppelklick auf eine verseuchte Verknüpfung oder anderweitigem Aufruf wird der Schadcode trotzdem ausgeführt!

    Changelog
    • 10/07/21 Mittag
      Setup-Programm gefixt. Zur Deinstallation bitte nur das neue verwenden.
    • 10/07/21 22:30
      x64-Version eingefügt.

    Bitte vor der Installation das Microsoft FixIt ausführen, damit auch wirklich kein fehlerhafter Code mehr aufgerufen wird!
    http://support.microsoft.com/kb/2286198
    Das ist nötig, da ich in meinem Installer PIF-dateien nicht berücksichtige, die auch betroffen sind. Außerdem könnte bei der Installation auch etwas fehlschlagen und so ist man auf der sicheren Seite.

    ENGLISH EXPLANATION INCLUDING DOWNLOAD HERE

    Vorherige Downloads: 14

  • ACHTUNG: Bei einem Doppelklick auf eine verseuchte Verknüpfung oder anderweitigem Aufruf wird der Schadcode trotzdem ausgeführt!

    In wie weit schützt dieses Tool einen vor der Sicherheitslücke?

    "Je mehr Käse, desto mehr Löcher; je mehr Löcher, desto weniger Käse. Ergo: Je mehr Käse, desto weniger Käse. 8| "
    "Programmers never die: they just GOSUB without RETURN"
    "I tried to change the world but I couldn't find the source code."

  • In wie weit schützt dieses Tool einen vor der Sicherheitslücke?


    Das Tool ersetzt den IconHandler der LNK-Dateien. Das hat zur Folge, dass bei anzeigen des Icons der Code ncht angezeigt wird. Man hat also die Chance, die Verknüpfung nicht zu benutzen und ist nicht mehr hilflos ausgeliefert.
    Ohne diese DLL hat man keine Möglichkeit zu reagieren, da der Code schon ausgeführt würde sobald man die Verknüpfung im Explorer sieht.
    Die DLL stellt die gleiche Schutzstufe dar wie die Empfehlung von Microsoft, den IconHandler komplett zu deaktivieren. Im Gegensatz dazu verliert man aber nicht alle Icons, sondern nur ein paar von speziellen Verknüpfungen.

  • Ich habe jetzt das Setup angepasst da das Backup hat nicht richtig funktionier hat. Verwendet einfach das neue Setup zum Deinstallieren und alles sollte passen (zumindest bei XP). Wer die DLL schon installiert hat, muss jetzt aber nicht erneut installieren.

  • Hi Prog@ndy,
    du wirst wohl bald von MS abgeworben :D

    Kurze Frage: Habe den empfohlenen Workaround ueber den RegistryPath gemacht, da mir die Dartsellung der Icons nicht wichtig ist.
    Alle Icons sind auch weg, bis auf eins, naemmlich das von dem Programm XNVIEW, was ist hier anders, warum wird hier das Icon dargestellt :?:

    EDIT: Das Icon wird auf dem Desktop angezigt, unter Start ---> Programme aber nicht.

    - MfG OpaEd

    Einmal editiert, zuletzt von opaed (21. Juli 2010 um 14:22)

  • opaed: Das glaube ich kaum :D Es werden mit der DLL nicht alle Icons dargestellt... Bei mir haben z.B. Links zu Textdateien kein Icon, aber frag mich nicht, warum. Zumindest Exe-Dateien und Ordner behalten es aber, so bleibt das meiste übersichtlich.

    Zitat

    Alle Icons sind auch weg, bis auf eins, naemmlich das von dem Programm XNVIEW, was ist hier anders, warum wird hier das Icon dargestellt :?:


    Keine Ahnung, warum das so ist. Vermutlich ist das noch irgendwo in einem Cache.

  • Ist es insofern nicht fraglich, ob der vorgeschlagene Workaround auf "Heise & Co" ausreicht :?:

    Ein gecachtes Icon ist ja egal. Nur beim Auslesen des Iconpfades aus der LNK-Datei tritt das Problem auf.

  • das Tool ist genial :thumbup:
    bei mir werden alle Icons angezeigt :thumbup:

    "Je mehr Käse, desto mehr Löcher; je mehr Löcher, desto weniger Käse. Ergo: Je mehr Käse, desto weniger Käse. 8| "
    "Programmers never die: they just GOSUB without RETURN"
    "I tried to change the world but I couldn't find the source code."

  • Danke ;)
    Hat es eigentlich mal jemand mit Win7 oder Vista probiert?
    Und gibt es hier jemanden, der x64 kompilieren kann und testen will?

    Edit: Ich konnte es fehlerfrei kompilieren, aber kann keine Tests durchführen.

  • Ach ja, noch etwas:
    Bitte vor der Installation das Microsoft FixIt ausführen, damit auch wirklich kein fehlerhafter Code mehr aufgerufen wird!
    [Blockierte Grafik: http://support.microsoft.com//library/images/support/KBGraphics/PUBLIC/cn/FixItButton.jpg]
    Edit: Das ist nötig, da ich in meinem Installer PIF-dateien nicht berücksichtige, die auch betroffen sind. Außerdem könnte bei der Installation auch etwas fehlschlagen und so ist man auf der sicheren Seite.

    Einmal editiert, zuletzt von progandy (22. Juli 2010 um 19:09)