Seite 1 von 1

Programm nutzt CreateShellLink und wird als Trojaner erkannt

Verfasst: 01.09.2012 10:37
von ZeHa
Servus,

einige von euch kennen vielleicht die CreateShellLink-Funktion die man hier im Forum und auch im CodeArchiv findet. Leider wurde gerade ein Programm von mir auf meinem Webspace gesperrt, weil auf virustotal.com 8 von 40 Virenscannern es als Trojaner erkennen. Wenn ich CreateShellLink rausnehme, hat kein Virenscanner etwas zu beanstanden. Hat jemand eine Idee, was ich tun könnte?

Hier die Version von CreateShellLink wie ich sie in meinem Code verwendet habe:

Code: Alles auswählen

Procedure.l CreateShellLink(Path$, Link$, Argument$, DESCRIPTION$, WorkingDirectory$, ShowCommand.l, HotKey.l, IconFile$, IconIndexInFile.l)
   CoInitialize_(0) 
   If CoCreateInstance_(?CLSID_ShellLink,0,1,?IID_IShellLink,@psl.IShellLinkA) = 0 
      
   Set_ShellLink_preferences: 
      
      ; The file TO which is linked ( = target for the Link ) 
      ; 
      psl\SetPath(Path$) 
      
      ; Arguments for the Target 
      ; 
      psl\SetArguments(Argument$) 
      
      ; Working Directory 
      ; 
      psl\SetWorkingDirectory(WorkingDirectory$) 
      
      ; Description ( also used as Tooltip for the Link ) 
      ; 
      psl\SetDescription(DESCRIPTION$) 
      
      ; Show command: 
      ;               SW_SHOWNORMAL    = Default 
      ;               SW_SHOWMAXIMIZED = aehmm... Maximized 
      ;               SW_SHOWMINIMIZED = play Unreal Tournament 
      psl\SetShowCmd(ShowCommand) 
      
      ; Hotkey: 
      ; The virtual key code is in the low-order byte, 
      ; and the modifier flags are in the high-order byte. 
      ; The modifier flags can be a combination of the following values: 
      ; 
      ;         HOTKEYF_ALT     = ALT key 
      ;         HOTKEYF_CONTROL = CTRL key 
      ;         HOTKEYF_EXT     = Extended key 
      ;         HOTKEYF_SHIFT   = SHIFT key 
      ; 
      psl\SetHotkey(HotKey) 
      
      ; Set Icon for the Link: 
      ; There can be more than 1 icons in an icon resource file, 
      ; so you have to specify the index. 
      ; 
      psl\SetIconLocation(IconFile$, IconIndexInFile) 
      
      
   ShellLink_SAVE: 
      ; Query IShellLink For the IPersistFile interface For saving the 
      ; shortcut in persistent storage. 
      If psl\QueryInterface(?IID_IPersistFile,@ppf.IPersistFile) = 0 
        ;Save the link by calling IPersistFile::Save. 
        hres = ppf\Save(link$,#True) 
        result = 1 
        ppf\Release() 
      EndIf 
      psl\Release() 
   EndIf 
   CoUninitialize_() 
   ProcedureReturn result 
    
   DataSection 
     CLSID_ShellLink: 
       ; 00021401-0000-0000-C000-000000000046 
       Data.l $00021401 
       Data.w $0000,$0000 
       Data.b $C0,$00,$00,$00,$00,$00,$00,$46 
     IID_IShellLink: 
       ; DEFINE_SHLGUID(IID_IShellLinkA,         0x000214EEL, 0, 0); 
       ; C000-000000000046 
       Data.l $000214EE 
       Data.w $0000,$0000 
       Data.b $C0,$00,$00,$00,$00,$00,$00,$46 
     IID_IPersistFile: 
       ; 0000010b-0000-0000-C000-000000000046 
       Data.l $0000010B 
       Data.w $0000,$0000 
       Data.b $C0,$00,$00,$00,$00,$00,$00,$46 
   EndDataSection 
EndProcedure

Re: Programm nutzt CreateShellLink und wird als Trojaner erk

Verfasst: 01.09.2012 11:10
von Thorium
Dir bleibt nichts anderes übrig als dich an den Support der jeweiligen Virenscannerhersteller zu wenden. In der Regel beheben die solche False Positives recht schnell, wenn man ihnen die .exe zukommen lässt.

Re: Programm nutzt CreateShellLink und wird als Trojaner erk

Verfasst: 01.09.2012 11:46
von ts-soft
Thorium hat geschrieben:In der Regel beheben die solche False Positives recht schnell, wenn man ihnen die .exe zukommen lässt.
Bis auch diesem Satz, gebe ich Dir recht :mrgreen: Selbst nachdem sie es angeblich behoben haben,
gabs nach Monaten immer noch keine Änderung. Das ist wohl auch eine Glückssache, ob das Beheben wirkungsvoll ist.

@ZeHa
Ich weiß ja nicht, wer die Datei auf dem Webspace gesperrt hat, aber den würde ich über die False/Positive
unterrichten.

Gruß
Thomas

PS: sehe auch keine Probleme mit: http://safebrowsing.clients.google.com/ ... leinser.de

Re: Programm nutzt CreateShellLink und wird als Trojaner erk

Verfasst: 01.09.2012 12:03
von ZeHa
Danke für eure Antworten! Ich habe eine Mail vom Hoster bekommen, dort wurde ich über die Sperrung informiert. Daraufhin habe ich zurückgeschrieben und ihnen erklärt, daß man a) vom Namen der Funde bereits auf ein Heuristik-Problem schließen kann (waren alles so "Trojan-Generic" und "Suspect-CRC"-Teile) und daß ich b) den hier ebenfalls beschriebenen Test mit der EXE ohne WinAPI-Zeugs gemacht habe und es dann keine Funde mehr gab. Daraufhin bekam ich eine weitere Antwort, in der sie mir mitteilten, daß sie die Datei nun wieder entsperrt haben.

Nun werde ich dennoch schauen, daß ich die Virenscanner-Hersteller informiere, denn auch mein Hoster hat ja von irgendjemandem die Info bekommen, daß sich scheinbar "Schadcode" auf meinem Webspace befindet, also kann das theoretisch in Zukunft erneut passieren.

Re: Programm nutzt CreateShellLink und wird als Trojaner erk

Verfasst: 01.09.2012 12:53
von Josh
Thorium hat geschrieben:Dir bleibt nichts anderes übrig als dich an den Support der jeweiligen Virenscannerhersteller zu wenden. In der Regel beheben die solche False Positives recht schnell, wenn man ihnen die .exe zukommen lässt.
Was passiert, wenn ich nur eine kleine Änderung an meiner exe habe? Muss ich mich dann wieder an die Virenscannerhersteller wenden?

Re: Programm nutzt CreateShellLink und wird als Trojaner erk

Verfasst: 02.09.2012 20:03
von Thorium
Josh hat geschrieben:
Thorium hat geschrieben:Dir bleibt nichts anderes übrig als dich an den Support der jeweiligen Virenscannerhersteller zu wenden. In der Regel beheben die solche False Positives recht schnell, wenn man ihnen die .exe zukommen lässt.
Was passiert, wenn ich nur eine kleine Änderung an meiner exe habe? Muss ich mich dann wieder an die Virenscannerhersteller wenden?
Falls dann wieder ein False Positive vorliegt, ja, ansonsten nicht.