Extremer Viren Fund

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

fantastico
Posts: 5
Joined: 13 Feb 2024, 08:10

Extremer Viren Fund

13 Feb 2024, 08:16

Hallo, habe mich hier heute angemeldet weil ich vor einem sehr blöden Problem stehe. Ich habe für mich und einen Kumpel ein kleines Script geschrieben und es in eine Exe ( Autohotkey 1 ) compiiliert. In einer vorangegangenen Version des Scripts/Exe wurden nie Sicherheitsprobleme festgestellt. Ich habe nun ein paar Funktionen geaddet und verstehe die Welt nicht mehr, Virustotal berichtet über 10 Malware artige Programme in meinem Script/Exe. Ich bräuchte dringend eure Hilfe. Grüße :geek:

Hier wäre das Script weiter unten die Exe in einer Zip Datei.

Ps: Das Script / exe ist dafür gedacht ein beliebiges Fenster z.b ein Browserfenster gewünscht transparent zu machen es Always on Top zu stellen und es für Mausklicks durchsichtig zu machen solang es nicht in den Vordergrund geholt wird. Des weiteren kann man einen Twitch Namen/ Chan eintragen, das Script legt das Fenster oben in die rechte Bildschirmecke ab und resized das Fenster. Die Kernfunktion besteht darin alle Prozesse laufende Fenster als Klassen an ein Drop Down zu übergeben, dadurch steuert man mein kleines Script indirekt.

Ps: Das Script funktioniert nur bedingt ohne Die Grafiken, diese sind nämlich Css ähnlich eingebunden. Befinden sich allerdings in der Zip Datei.

Zipdatei bei Google Drive: [Mod edit: Link zur Exe entfernt.]

___________________________________________________ Anfang _________________________________________

Code: Select all

SetTitleMatchMode, RegEx
DetectHiddenWindows, Off 
 

Loop, READ, %A_ScriptDir%\appends\all_windows.txt
   List .= a_index = 1 ? A_LoopReadLine : "|" A_LoopReadLine



Gui, Add, Button, w480 gbutton5, Get all active Apps
Gui, Add, Dropdownlist, w480 vGamechoice, %List%
AddGraphicButton(1, "x0", "y65", "h100", "w250", "button1", a_ScriptDir . "\includes\hide_window_up.png", a_ScriptDir . "\includes\hide_window_hover.png", a_ScriptDir . "\includes\hide_window_hover.png")
AddGraphicButton(1, "x245", "y65", "h100", "w250", "button2", a_ScriptDir . "\includes\unhide_window_up.png", a_ScriptDir . "\includes\unhide_window_hover.png", a_ScriptDir . "\includes\unhide_window_hover.png")
OnMessage(0x200, "MouseMove")
OnMessage(0x201, "MouseLDown")
OnMessage(0x202, "MouseLUp")
Gui, Add, Radio, x7 y170 gbutton6, 5
Gui, Add, Radio, x55 y170 gbutton7, 15
Gui, Add, Radio, x105 y170 gbutton8, 30
Gui, Add, Radio, x155 y170 gbutton9, 50
Gui, Add, Radio, x205 y170 gbutton10, 80
Gui, Add, Radio, x255 y170 gbutton11, 100
Gui, Add, Button, x210 y195 gbutton12, Open Chrome
Gui, Add, Edit, x7 y195 vText, Twitch Name Eintragen
Gui, Add, Button, x140 y195 gbutton14, Save
Gui, Show, h225
Gui, Color, 555555
Return

button6:
WinSet, Transparent, 20, %Gamechoice%
return

button7:
WinSet, Transparent, 40, %Gamechoice%
return

button8:
WinSet, Transparent, 70, %Gamechoice%
return

button9:
WinSet, Transparent, 150, %Gamechoice%
return

button10:
WinSet, Transparent, 180, %Gamechoice%
return

button11:
WinSet, Transparent, 255, %Gamechoice%
return

button12:
SetControlDelay -1
FileRead, Text, %A_ScriptDir%\appends\twitch_name.txt
Run, chrome.exe --app=https://www.twitch.tv/popout/%Text%/chat?popout=
Winwait, ahk_exe chrome.exe
WinMove, ahk_exe chrome.exe,, 1670, 15, 240, 600
WinSet, Transparent, 165, ahk_exe chrome.exe
sleep, 2000
FileDelete, %A_ScriptDir%\appends\twitch_name.txt
return

button14:
Gui, Submit, NoHide
FileAppend, %Text%, %A_ScriptDir%\appends\twitch_name.txt
return			

button5:
WinGet windows, List
Loop %windows%
{
	id := windows%A_Index%
	WinGetTitle title, ahk_id %id%
	WinGetClass class, ahk_id %id%	
	If (class = "ApplicationFrameWindow") 
	{
		WinGetText, text, ahk_id %id%
		If (text = "")
			continue
	}
	WinGet, style, style, ahk_id %id%
	if !(style & 0xC00000) ; if the window doesn't have a title bar
	{
		        ; add exaptions
			continue
	}
	r .= title . "`n"
}
FileRead, Contents, %A_ScriptDir%\appends\all_windows.txt
if not ErrorLevel  ; Successfully loaded.
{
    Sort, Contents
    FileDelete, %A_ScriptDir%\appends\all_windows.txt
    FileAppend, %A_ScriptDir%\appends\all_windows.txt
    Contents := ""  ; Free the memory.
}
{
FileAppend,%r%, %A_ScriptDir%\appends\all_windows.txt
}
reload
return

watchdog:
loop {
ifwinactive, %Gamechoice%
WinSet, ExStyle, -0x0000020, %Gamechoice%
ifwinnotactive, %Gamechoice%
WinSet, ExStyle, +0x0000020, %Gamechoice%
sleep 1000
}

Button1_down:
Gui, Submit, NoHide
WinSet, ExStyle, +0x0000020, %Gamechoice%
WinSet, Transparent, 150, %Gamechoice%
WinSet, AlwaysOnTop, On, %Gamechoice%
sleep, 1000
goto, watchdog
return
Button1_down_up:
return

Button2_down:
tooltip, Button2 down stroke gsub launched
Gui, Submit, NoHide
WinSet, ExStyle, -0x00000020, %Gamechoice% 
WinSet, Region,, %Gamechoice%
WinSet, AlwaysOnTop, Off, %Gamechoice%
WinSet, Transparent, Off, %Gamechoice% 
return
Button2_down_up:
return


MouseMove(wParam, lParam, msg, hwnd)
{
   Global
   local Current_Hover_Image
   local Current_Main_Image
   local Current_GUI
   loop, parse, Graphic_Button_List, |
   {
      Current_GUI := %a_loopField%_GUI_Number
      If (hwnd = %a_loopField%_HWND) and (%a_loopField%LastButtonData1 != %a_loopField%_HWND)
      {
         Current_Hover_Image := %a_loopField%_Hover_Image
         guicontrol, %Current_GUI%:, %a_loopField%, %Current_Hover_Image%
         %a_loopField%LastButtonData1 := hwnd
      }
      else if(hwnd != %a_loopField%_HWND) and (%a_loopField%LastButtonData1 = %a_loopField%_HWND)
      {
         Current_Up_Image := %a_loopField%_Up_Image
         guicontrol, %Current_GUI%:, %a_loopField%, %Current_Up_Image%
         %a_loopField%LastButtonData1 := hwnd
         %a_loopField%LastButtonData2 =
       tooltip,
      }
   }
   Return
}

MouseLDown(wParam, lParam, msg, hwnd)
{
   Global
   Local Current_Down_Image
   Local Current_GUI
   loop, parse, Graphic_Button_List, |
   {
      If (hwnd = %a_loopField%_HWND) and (%a_loopField%LastButtonData2 != %a_loopField%_HWND)
      {
         Current_GUI := %a_loopField%_GUI_Number
         Current_Down_Image := %a_loopField%_Down_Image
         guicontrol, %Current_GUI%:, %a_loopField%, %Current_Down_Image%
         %a_loopField%LastButtonData2 := hwnd
         break
      }
   }
   Return
}

MouseLUp(wParam, lParam, msg, hwnd)
{
   Global
   local Current_Main_Image
   Local Current_GUI
   loop, parse, Graphic_Button_List, |
   {
      If (hwnd = %a_loopField%_HWND) and (%a_loopField%LastButtonData2 = %a_loopField%_HWND)
      {
         Current_GUI := %a_loopField%_GUI_Number
         Current_Hover_Image := %a_loopField%_Hover_Image
         guicontrol, %Current_GUI%:, %a_loopField%, %Current_Hover_Image%
         %a_loopField%LastButtonData2 =
         GOSUB % a_loopField . "_Down_Up"
         break
      }
   }
   Return
}

AddGraphicButton(GUI_Number, Button_X, Button_Y, Button_H, Button_W, Button_Identifier, Button_Up, Button_Hover, Button_Down)
{
   Global
   if(Graphic_Button_List = "")
      Graphic_Button_List .= Button_Identifier
   else
      Graphic_Button_List .= "|" . Button_Identifier
   current_Button_HWND := Button_Identifier . "_hwnd"
   %Button_Identifier%_Up_Image := Button_Up
   %Button_Identifier%_Hover_Image := Button_Hover
   %Button_Identifier%_Down_Image := Button_Down
   %Button_Identifier%_GUI_Number := GUI_Number   
   Gui, %GUI_Number%:Add, Picture, +altsubmit %Button_X% %Button_Y% %Button_H% %Button_W% g%Button_Identifier%_Down v%Button_Identifier% hwnd%current_Button_HWND%, %Button_Up%
}

Ctrl & PgDn::Reload

GuiClose:
ExitApp
______________________________________________ Ende _________________________________________


[Mod edit: [code][/code]-Tags hinzugefügt. Bitte selber verwenden, beim nächsten Mal. Danke!]
gregster
Posts: 9035
Joined: 30 Sep 2013, 06:48

Re: Extremer Viren Fund

13 Feb 2024, 13:44

Willkommen im Forum!

"False Positives", also falsche Virenmeldungen, sind bei AutoHotkey wirklich nicht selten. Da bei AHK-Kompilaten immer der komplette Interpreter enthalten ist, stoßen gerade simplistische AV-Heuristiken oft an ihre Grenzen. Sehr ärgerlich für AHK-Nutzer, aber leider kaum zu vermeiden.

Trotzdem habe ich den Link zur Exe entfernt. Wir sind kein AV-Unternehmen. Entweder ist es ein false positive (was wir selbst aber nicht untersuchen werden oder können) - oder es sollte nicht gepostet werden.

Zunächst mal ist es ja nicht unbedingt notwendig, AHK-Skripte zu kompilieren. Geschwindigkeitsverbesserungen wird es dadurch jedenfalls keine geben. Wenn man aus diversen Gründen trotzdem eine Exe verwenden will, kann man die ja einfach mal zur Überprüfung einreichen bei einer oder mehreren AV-Klitschen, die glauben etwas gefunden zu haben.
Für Kontaktadressen, siehe z. B. hier: Report False-Positives To Anti-Virus Companies

Wenn die sich dann zurückmelden und noch immer sicher sind, dass es sich um ein Sicherheitsproblem handelt, dann sollte man erstmal den eigenen Computer auf Malware untersuchen. Zumindest ist mir aus 20 Jahren AHK-Geschichte kein Virusfund bekannt, der darauf zurückgeführt werden konnte, dass die offiziellen AHK-Releases von unserer Seite (also nicht von Drittanbieter-Hostern) infiziert ausgeliefert worden wären.

Das Skript selber wird hier leider kaum weiter helfen. Ohne zu wissen, welche AHK-v1-Version (inkl. Angaben zur Bitness und Unicode/Ansi) du genau zur Kompilation verwendet hast, und ohne Link zum Virustotal-Ergebnis, kann man damit nichts nachvollziehen, selbst wenn man wollte.

Letztendlich sehe ich keine Alternative zum Einreichen des vermeintlichen false-positives bei den AV-Unternehmen, wenn du dir unsicher bist.

Siehe auch: FAQ: Mein Antivirenprogramm hat AutoHotkey oder ein kompiliertes Skript als Malware erkannt. Ist das wirklich ein Virus?
fantastico
Posts: 5
Joined: 13 Feb 2024, 08:10

Re: Extremer Viren Fund

13 Feb 2024, 15:11

Hallo, danke einmal für die Hilfestellung und die freundliche Aufklärung!

Dann ist ja doch eher davon auszugehen dass es ein false positive Meldung ist. Ich werde den angeblichen Fund noch einmal bei diversen Antivirenschmieden ankreiden.
Hier noch einmal der Befund von Virustotal: https://www.virustotal.com/gui/file/edf8d3d18a5cf3fc70277d604610daacfe1216ec560a61c547bf7f18fdcacd38
gregster
Posts: 9035
Joined: 30 Sep 2013, 06:48

Re: Extremer Viren Fund

13 Feb 2024, 15:41

Als Referenz habe ich dein Skript oben mal mit der letzten v1-Version 1.1.37.01 (64 bit) kompiliert. Da kriege ich bspw nur 4/71 "Treffer" in virustotal (Jiangmin beschwert sich bspw häufig über AHK, wenn ich mich richtig erinnere; 3 von 4 sind auch bei dir dabei):
https://www.virustotal.com/gui/file/f6347faaba591e7c8bb8cb487ee895eab660d15bd0075dad62c2beb19362fe66?nocache=1

compiled.png
compiled.png (10.66 KiB) Viewed 298 times

Ich nehme an, du verwendest eine ältere Version? Evtl. wurde die ausgerechnet von einem "bad player" für unlautere Zwecke verwendet.
fantastico
Posts: 5
Joined: 13 Feb 2024, 08:10

Re: Extremer Viren Fund

13 Feb 2024, 16:17

Hallo gregster, ich benutze diese Version 1.1.37.01, runtergeladen von der Autohotkey website. Möchte hier noch einmal meinen Dank für die Anteilnahme und die Hilfestellung an dich aussprechen, für die Mühe etc. Ich weiß nicht ob ich mir die Mühe machen werde das mal bei sämtlichen Antiviren Herstellern einreiche, da es ja im Prinzip nur für einen Kumpel und für mich ist. Ist am Ende die Mühe nicht wert, ich wollte nur vorsichtig sein, weil es eben auch der Kumpel nutzt. Nicht das man am Ende noch was verbreitet.
gregster
Posts: 9035
Joined: 30 Sep 2013, 06:48

Re: Extremer Viren Fund

13 Feb 2024, 16:31

Kein Problem. Aber natürlich, eine gewisse Vorsicht ist immer angeraten.
ich benutze diese Version 1.1.37.01
Aber mit welchem Base-File hast du kompiliert? Da gibt es ja eine ganze Reihe zur Auswahl in der GUI von ahk2exe.
Wenn du exakt den gleichen Base-File wie ich oben verwendet hast, also 64bit .exe (nicht .bin) - dann würde ich mich allerdings schon wundern über den Unterschied der Ergebnisse.

Mit dem 64bit .bin Base-File komme ich allerdings schon auf 7/71:
https://www.virustotal.com/gui/file/dd9796caac256582a419108342b9c46d895bf1a9c2eac7ec289d3449260b804a?nocache=1

Aber vielleicht hast du mit einer der 32bit-Varianten kompiliert... Edit: nee, scheinbar nicht, dein Report sagt was von 64bits und in den Details 1.1.37.01 .
bei sämtlichen Antiviren Herstellern
Naja, es reagieren leider auch nicht alle Firmen, die bei virustotal gelistet sind. Die chinesischen haben, soweit ich weiß, eher eine schlechte Antwortrate. Aber ich hatte auch schon mal mit einer deutschen Firma Probleme - die haben auf englischsprachige Anfragen gar nicht reagiert, und auf deutschsprachige kaum. Ich glaube, die sind nicht mehr dabei - waren es aber lange. Die Auswahlkriterien von virustotal würde ich daher auch mit Vorsicht genießen.
gregster
Posts: 9035
Joined: 30 Sep 2013, 06:48

Re: Extremer Viren Fund

13 Feb 2024, 16:58

Hmm, dein File ist offenbar größer: 1.42mb - versus 1.26mb und 1.18mb bei mir.
Das ist schon auffällig. Irgendwie ist dein Ergebnis ein anderes als meins. Unterschiedliche Base-Files und/oder unterschiedlicher Input? :think:
fantastico
Posts: 5
Joined: 13 Feb 2024, 08:10

Re: Extremer Viren Fund

14 Feb 2024, 02:47

Guten Morgen gregster, ich noch mal. Hier ist noch mal ein direkter Scan aus dem Google Drive. Darf ich dir den Google Drive Link noch einmal persönlich zukommen lassen? Evtl. könntest du diesen ja noch einmal direkt scannen. Ich finde die Unterschiede auch merkwürdig. https://www.virustotal.com/gui/file/56cafb2130ec4ab0712252798de6a6c3c1312d57bb85cf51ec4d586b16e53c3f

Falls du den link noch einmal in Empfang nehmen möchtest gib mir kurz bescheid. Ich werde hier, wie gewünscht nichts dazu posten.
gregster
Posts: 9035
Joined: 30 Sep 2013, 06:48

Re: Extremer Viren Fund

14 Feb 2024, 03:26

@fantastico, ich schicke dir mal eine PN.
fantastico
Posts: 5
Joined: 13 Feb 2024, 08:10

Re: Extremer Viren Fund

14 Feb 2024, 05:21

Email ist unterwegs.
gregster
Posts: 9035
Joined: 30 Sep 2013, 06:48

Re: Extremer Viren Fund

14 Feb 2024, 11:54

Ist angekommen. Ich würde empfehlen, die enthaltene Exe-Datei zur Überprüfung einzuschicken. Ich kann die (noch wesentlich schlechteren) Ergebnisse für diese Datei nicht reproduzieren mit Version 1.1.37.01 (64 bit), wenn ich dein Skript selber kompiliere. Aber ich weiß auch nicht, wie diese Exe-Datei zustande gekommen ist.

Hast du evtl einen Kompressor/Packer wie mpress verwendet, der die false positives in die Höhe treibt? Die Version im zip-Archiv ist offensichtlich eine andere (wesentlich kleinere) Datei als die, für die du oben den Report verlinkt hast, zu klein für ein (unkomprimiertes) 64bit-Kompilat mit der aktuellen v1-Version.

Wenn du für die geringe Größe keine Erklärung hast, würde ich den PC, auf dem diese Datei entstanden ist, ganz genau unter die Lupe nehmen - auf jeden Fall, falls bspw Microsoft ein Problem bestätigen sollte. Solltest du einen Packer verwendet haben, würde ich empfehlen, den in Zukunft wegzulassen.

Nochmals editiert:
Sehe gerade, dass es sich bei der gezippten Version scheinbar um keine 64-bit Exe, sondern 32 bit, handelt.. das könnte die geringere Größe ggf. erklären. Trotzdem erscheint die Trefferzahl sehr hoch. Mit U32 Base-Files bekomme ich mit deinem Code bspw auch nur 6 bis 7 Treffer, wesentlich weniger als deine im zip-Archiv.

Wie bereits geschrieben, ohne genaue Angaben zum verwendeten Base-File (+ Quelltext und ggf. Packer) wird es sehr schwierig sein, ein bestimmtes Ergebnis zu reproduzieren.
Derzeit kann ich jedenfalls nicht ausschließen, dass du ein lokales Problem auf deinem PC hast. Denn zumindest die Datei aus dem zip-Archiv ist verdächtig. Daher würde ich weiterhin sagen:
Letztendlich sehe ich keine Alternative zum Einreichen des vermeintlichen false-positives bei den AV-Unternehmen, wenn du dir unsicher bist.
Last edited by gregster on 14 Feb 2024, 12:14, edited 1 time in total.

Return to “Ich brauche Hilfe”

Who is online

Users browsing this forum: No registered users and 88 guests