1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Schnuffel

Beiträge von Schnuffel

  • Anti "false-positive" Strategie mit PureBasic

    • Schnuffel
    • 17. Januar 2025 um 16:05

    Irgendwie gefällt mir das alles nicht.

    Ich denke ich werde als nächstes versuchen das so rudimentär wie möglich zu machen.
    Es ist doch nichts weiter nötig, als
    - die autoit3.exe in einem Ordner nach Wahl, je nach Installationszweck und Art der Verteilung
    - eine Registrierung für die a3x Datei (kann sogar eine andere sein z.B. .ea3x oder .lalala Das sind 5 Zeilen Reg-Code ....

    Danach kann man diese Datei einfach doppelklicken und das Ding startet. Parameterübergabe auch kein Problem.

    Ich spiel da mal an der Thematik rum ;)

    Für autoit3 exe Dateien, die mobil verteilt und genutzt werden, ist das sicher keine Lösung.
    Dafür wird es keine wirkliche Lösung geben.
    Von daher beschränke ich meine Betrachtung auf kontrollierbare Installationen mit verfügbaren Adminrechten.

  • Anti "false-positive" Strategie mit PureBasic

    • Schnuffel
    • 17. Januar 2025 um 15:02

    Also der Powershell-Exe Loader wurde auch als Virus angezeigt, aber von so unbekannten VirenScannern, sodass man die wohl vernachlässigen kann.

    Ergebnis:

    TypVirenscanner angeschlagenLink
    Schnuffels Powershell-Variante12 / 72>>Ergebnis<<

    Würde für mich jetzt erstmal bedeuten, dass entweder mit einer 64-bit Compilation ohne UPX oder eben mit PowerShell-Exe als Loader die wenigsten false-positive zu erwarten sind.

    Wen es interessiert hier ein einfacher Einzeiler in PowerShell um diesen als Loader der a3x zu verwenden.
    einfach mit dem obigen Tool in eine exe wandeln:

    AutoIt
    Start "Pfad zur \AutoIt3.exe" -ArgumentList ('"Pfad zur a3x\Test.a3x" "Test 1.Parameter"')
  • Anti "false-positive" Strategie mit PureBasic

    • Schnuffel
    • 17. Januar 2025 um 11:56

    feine Sache, dass ihr euch beteiligt.

    Nur so kann man ein Thema von vielen Seiten beleuchten.

    Der Test von ArpirinJunkie zeigt ja eher ein ernüchterndes Bild über den PureBasic Loader.
    Ich hätte als Alternative noch die Idee aus einem Powershell Script, dass die autoit3.exe aufruft eine exe zu bauen.
    siehe hier: GitHub

    Ich bau da mal was und werde hier weiter berichten.

  • Anti "false-positive" Strategie mit PureBasic

    • Schnuffel
    • 16. Januar 2025 um 20:33

    Hallo zusammen,

    da AutoIt oft auch von "bösen" Menschen mißbraucht wird und die Erstellung einer [compilierten] exe-Datei immer bedingt, dass die autoit3.exe includiert wird als Wrapper des Scripts, ist die Viren Erkennungs-Signatur von autoit erstellten exe-Dateien immer im Fokus der Anti-Viren Software Hersteller. Da hat man es schon schwer, sein Werk so zu erstellen, dass es auch verbreitet werden kann ohne dass jeder Virenscanner Alarm schlägt.

    Ich stelle hier eine Möglichkeit vor dies möglichst zu umgehen und rege zum Mitmachen oder zur Diskussion an, um diese Methode zu verfeinern, verbessern, oder auch um diese als untauglich abzustrafen. ^^

    Der Clou hinter dieser Idee steckt darin, dass man sich einen individuellen PureBasic Loader erstellt, der dann mithilfe der autoit3.exe die selbst erstellt a3x-Datei startet. Notwendigerweise muss man dafür an Dritte die autoit3.exe, den speziell dafür compilierten PureBasic (Loader).exe und das compilierte a3x-Script mitgeben. Aufwendiger als eine einfache exe, aber dafür sorgloser für Anti-Viren Programme. ^^

    Voraussetzungen:
    - eine installierte Version von PureBasic (um den Loader zu compilieren)
    Install PureBasic (x86 version) from here: https://www.purebasic.com/german/download.php
    direct Download: https://www.purebasic.com/download/PureBasic_Demo.exe
    - mind. eine autoit3.exe (i.d.R. aber eine autoit Installation, da man ja die a3x Datei auch erstellen / encoden muss)
    Pfad kann in der "Create_Loader_for_a3x.pb" angepasst werden
    - das angehängte Script zur Erstellung des Loaders (Create_Loader_for_a3x.pb)
    - und natürlich eure a3x-Datei ^^

    Die Dateiendung eurer a3x-Datei kann dabei willkürlich gewählt werden.
    Ob die a3x heißt oder irgendwie anders ist autoit3.exe und dem Loader Script egal ;)

    Ablauf zur Erstellung:
    - Create_Loader_for_a3x.pb in PureBasic öffnen (Doppelklick)

    für diejenigen, die gerne Anpassungen vornehmen wollen:
    in der Datei folgende Parameter anpassen:
    Define.s PbIcon = [vollständiger Pfad zu einer ico-Datei wenn gewünscht, wenn leer, dann kein Icon]
    Define.s Autoit3 = [Pfad zur autoit3.exe]
    Define.i AutoCreateExe = Bool [0/1] 0 erstellt eine a3x-Dateiname.pb / 1 erstellt eine a3x-Dateiname.exe
    - F5 drücken
    - Zieldatei (eine compilierte a3x-Datei mit beliebiger Endung) auswählen

    wünsche fröhliches erstellen und verteilen eurer Werke.

    Fragen, Anregungen, Kritik und (Lob) gerne hier in diesem Thread :party:

    Danke an ISI360 und sein ISN Autoit Studio. Er hat die Grundlage für das Script geschaffen. :rock:

    Dateien

    PureBasic a3x Loader.zip 86,46 kB – 548 Downloads
  • Worm Fehler in Windows

    • Schnuffel
    • 16. Januar 2025 um 20:20

    hmm,

    ich denke dann kann man dir in einem Windows Forum zu diesem Thema besser helfen.

  • Worm Fehler in Windows

    • Schnuffel
    • 16. Januar 2025 um 19:35

    ich tendiere auch auf das "Problem" Caching.

    versuch mal das: https://learn.microsoft.com/de-de/previous…-caching-on-off

  • Aufruf des Eventviewers funktioniert nicht mehr

    • Schnuffel
    • 11. Januar 2025 um 13:04

    wenn du meinst

  • Aufruf des Eventviewers funktioniert nicht mehr

    • Schnuffel
    • 11. Januar 2025 um 12:59

    der Beitrag ist bereits 6 Jahre alt ... ==> NZZ

  • Aufruf des Eventviewers funktioniert nicht mehr

    • Schnuffel
    • 11. Januar 2025 um 12:37

    dir ist aber bekannt, dass das Ausrufezeichen als "schreien" gilt?

  • PowerBasic

    • Schnuffel
    • 10. Januar 2025 um 17:07

    naja, wir wollen ja alle auch brav bei autoit bleiben. ;)

    Basic soll ja nur für bestimmte Probleme einen Workaround darstellen
    wie false-positive bei VirenScannern umgehen, oder eben so ein Problem mit der dll lösen.

    Ich denke dafür sollten 800 Zeilen durchaus reichen.

    Wenn jemand Interesse an dem Workaround des a3x-Loaders in PureBasic hat: (ich nenne die Datei Loader.pb (83 Zeilen inkl. Header))

    Code
    ;
    ;  ██████╗░ ██████╗░  ██╗░░░░░░█████╗░░█████╗░██████╗░███████╗██████╗░  ███████╗░█████╗░██████╗░  ░█████╗░██╗░░░██╗████████╗░█████╗░██╗████████╗
    ;  ██╔══██╗ ██╔══██╗  ██║░░░░░██╔══██╗██╔══██╗██╔══██╗██╔════╝██╔══██╗  ██╔════╝██╔══██╗██╔══██╗  ██╔══██╗██║░░░██║╚══██╔══╝██╔══██╗██║╚══██╔══╝
    ;  ██████╔╝ ██████╦╝  ██║░░░░░██║░░██║███████║██║░░██║█████╗░░██████╔╝  █████╗░░██║░░██║██████╔╝  ███████║██║░░░██║░░░██║░░░██║░░██║██║░░░██║░░░
    ;  ██╔═══╝░ ██╔══██╗  ██║░░░░░██║░░██║██╔══██║██║░░██║██╔══╝░░██╔══██╗  ██╔══╝░░██║░░██║██╔══██╗  ██╔══██║██║░░░██║░░░██║░░░██║░░██║██║░░░██║░░░
    ;  ██║░░░░░ ██████╦╝  ███████╗╚█████╔╝██║░░██║██████╔╝███████╗██║░░██║  ██║░░░░░╚█████╔╝██║░░██║  ██║░░██║╚██████╔╝░░░██║░░░╚█████╔╝██║░░░██║░░░
    ;  ╚═╝░░░░░ ╚═════╝░  ╚══════╝░╚════╝░╚═╝░░╚═╝╚═════╝░╚══════╝╚═╝░░╚═╝  ╚═╝░░░░░░╚════╝░╚═╝░░╚═╝  ╚═╝░░╚═╝░╚═════╝░░░░╚═╝░░░░╚════╝░╚═╝░░░╚═╝░░░
    ;
    ; NOTE: This script is written in PureBasic
    ;
    ; This file is used as a starter for a3x files to reduce “false positive” detection by virus scanners.
    ; All parameters passed to this file are passed 1:1 to the autoit3.exe.
    ;
    ; Instructions:
    ; Install PureBasic (x86 version) from here: https://www.purebasic.com/german/download.php
    ; In PureBasic create a new file GetHash_a3x.pb and paste the following 5 lines code in it:
    ;
    ; UseSHA1Fingerprint()
    ; StandardFile$ = "C:\Start.a3x"   ; anfänglichen Pfad + Dateiname festlegen
    ; Filename$ = OpenFileRequester("Datei zum hashen auswählen", StandardFile$, "a3x (*.a3x)|*.a3x", 0)
    ; Result$ = StringFingerprint(Filename$, #PB_Cipher_SHA1)
    ; Debug(Result$)
    ;
    ; press F5 and select your created a3x file. 
    ; The hash value of this file appears in the Debug window. Copy this value and enter it in your Loader.pb at “a3xHash$”.
    ; Adjust the values for your a3x filename "a3xFile$" and the path to your autoit3.exe "Autoit3_x86Path$".
    ; Save your Loader.pb file.
    ; 
    ; Under the menu item “Compiler - Compiler Options”, things such as Icon, Require Admin etc. can be set.
    ;
    ; Create a Loader.exe with “Menu - Compiler - Create Executable”.
    ;
    ; Done. ^^
    ;---------------------------------------------------
    
    ; adjustable Parameters
    
    ; Adjust the name of your a3x script here.
    ; It is expected that your script is located in the same directory as this loader
    ; otherwise edit with full path
    a3xFile$ = "Start.a3x"
    a3xHash$ = "1ccd976c2d8e86e5a2024f912b7862b5be6be0be"
    
    ; Full path to autoit3.exe. Can also be a subfolder of this folder
    Autoit3_x86Path$ = "C:\Program Files (x86)\AutoIt3\AutoIt3.exe"
    
    
    
    ; ---------------------------------------------- Internal Parameters
    UseSHA1Fingerprint()
    ; Don't adjust these parameters unless you know what you are doing
    Parameters$ = ""
    
    a3xPath$ = GetPathPart(ProgramFilename()) + a3xFile$
    Quote$ = Chr(34)
    
    ; Collect input parameters
    For i = 0 To CountProgramParameters()-1
      Parameters$ = Parameters$ + Quote$ + ProgramParameter(i) + Quote$ + " "
    Next
    Parameters$ = RTrim(Parameters$)
    
    ; Some checks before starting
    If FileSize(a3xPath$) = -1
       MessageRequester("Error", a3xFile$ + " not found!", #PB_MessageRequester_Ok + #PB_MessageRequester_Error) 
      End
    EndIf 
    
    ; Check
    If FileSize(Autoit3_x86Path$) = -1
       MessageRequester("Error", Autoit3File$ + " not found!", #PB_MessageRequester_Ok + #PB_MessageRequester_Error) 
      End
    EndIf 
    
    If Not a3xHash$ = StringFingerprint(a3xPath$, #PB_Cipher_SHA1) 
      End  
    EndIf
    
    ; Run the new instance
    RunProgram(Quote$ + Autoit3_x86Path$ + Quote$ + " " + Quote$ + a3xPath$ + Quote$,Parameters$,GetCurrentDirectory())
    
    ; Exit
    End 
    Alles anzeigen

    Dateien

    Loader.zip 1,76 kB – 371 Downloads
  • PowerBasic

    • Schnuffel
    • 10. Januar 2025 um 15:50

    man kann Pure Basic durchaus kostenlos verwenden mit folgenden Einschränkungen:

  • PowerBasic

    • Schnuffel
    • 10. Januar 2025 um 14:46

    nachdem es scheint, dass Power Basic "tot" ist, schau doch mal, was das moderne Pure Basic für dich leisten kann: https://www.purebasic.com/german/

  • Aufruf des Eventviewers funktioniert nicht mehr

    • Schnuffel
    • 6. Januar 2025 um 11:25

    Naja,

    ob eine Deinstallationsroutine eine ini-Datei löscht oder einen Registry Zweig ....

    Sind beides Einzeiler ;)

  • AutoIt Skript 32bit oder 64bit

    • Schnuffel
    • 6. Januar 2025 um 10:49

    ISN geht mit seinem autoit Studio den Weg, dass er eine Visual Basic exe erstellt, diese startet dann die autoit.exe mit der entsprechenden a3x Datei.

    Damit sind Virenerkennungen nahezu ausgeschlossen solange das Vb script nicht uncompiliert veröffentlicht wird. ich hatte das mal mit hash Prüfung gebastelt, damit die a3x nicht beliebig ersetzt werden kann.

  • Windows 11, wieder keine Icon

    • Schnuffel
    • 4. Januar 2025 um 21:44
    Zitat von autoiter

    und es tut mir wirklich leid, wenn einige hier offensichtlich zur Nutzung gezwungen sind.

    wie darf man diesen Satz verstehen?

    PS:

    es ist früher normal gewesen, dass jedes 2. veröffentlichte Betriebssystem eine Test Beta war. Daher ist auch nur jedes 2. BS stabil gewesen.

    Wie es sich heute verhält weiß ich nicht.

  • Icon extrahieren - Skript läuft nicht

    • Schnuffel
    • 4. Januar 2025 um 12:55

    ich denke du hast das selbe Problem wie bei deinem letzten x64 Thema...

    Die DllCall Aufrufe mit "long" sind wohl als Platzhalter für 64-bit zu klein.

    Aber auch ich würde gern mal die Frage stellen, warum x64 ?

  • Windows 11, wieder keine Icon

    • Schnuffel
    • 3. Januar 2025 um 19:57

    << offtopic on >>

    warum soll man nicht über ein Betriebssystem in gewissen Momenten ehrlich seine Meinung sagen.

    Ich persönlich helfe hier nicht weil ich M$ Produkte geil finde,
    sondern weil ich gerne helfe wenn ich kann und es viele Unzulänglichkeiten in Windows gibt,
    die man mit externer Software wie z.B. autoit kompensieren muss.

    Daher finde ich gelegentlich einen kleinen Seitenhieb in Richtung M$ durchaus angebracht.

    Ich finde aber auch, dass man solche Bemerkungen nicht "füttern" muss indem man eine Diskussion darüber anfängt.

    In diesem Sinne wünsche ich euch allen auf diesem Wege nochmal ein gutes neues Jahr, Tiefenentspannung und die nötige Gelassenheit wenn sensible Themen angesprochen werden. ;)

    << offtopic off >>

  • Hilfe benötigt bei der Automatisierung des Dateiumbenennungsskripts in AutoIt

    • Schnuffel
    • 24. Dezember 2024 um 19:44

    ich will ja nicht nur negativ denken, also auch ein Vorschlag von mir ohne RegEx, die ja einen Anfänger doch ein wenig überfordern können.

    AutoIt
    #include <File.au3>
    
    Global $folder = "C:\TestFiles"
    Global $fileList = _FileListToArray($folder)
    
    If @error Then
    	MsgBox(0, "Error", "Failed to retrieve file list.")
    	Exit
    EndIf
    
    Global $a1stString[3] = ['', 'backup', 'report'] ; Strings die an erster Stelle gefunden und eingesetzt werden sollen
    Global $a2ndString[3] = ['', 'log', 'final'] ; Strings die an zweiter Stelle gefunden und eingesetzt werden sollen
    Global $a3rdString[3] = ['', '2023', '2024'] ; Strings die an dritter Stelle gefunden und eingesetzt werden sollen
    Global $NewName, $aoldName, $nCheck
    
    For $i = 1 To $fileList[0]
    	$NewName = ""
    	; Logic to manipulate $oldName here
    	; Replace placeholders with actual transformation
    	$aoldName = StringSplit($fileList[$i], '_')
    	If @error = 0 Then
    		If $aoldName[0] > 2 Then ; mind. 2 "_" vorhanden
    			;Nach dem ersten Teil des künftigen Dateinamens suchen
    			For $j = 0 To UBound($a1stString) - 1
    				If _ArraySearch($aoldName, $a1stString[$j], 0, 0, 0, 1) <> -1 Then
    					$NewName = $a1stString[$j] & '_'
    					$nCheck = 1
    				EndIf
    			Next
    			If $NewName = "" Then ContinueLoop
    			;Nach dem zweiten Teil des künftigen Dateinamens suchen
    			For $j = 0 To UBound($a2ndString) - 1
    				If _ArraySearch($aoldName, $a2ndString[$j], 0, 0, 0, 1) <> -1 Then
    					$NewName &= $a2ndString[$j] & '_'
    					$nCheck &= 2
    				EndIf
    			Next
    			;Nach dem dritten Teil des künftigen Dateinamens suchen
    			For $j = 0 To UBound($a3rdString) - 1
    				If _ArraySearch($aoldName, $a3rdString[$j], 0, 0, 0, 1) <> -1 Then
    					$NewName &= $a3rdString[$j]
    					$nCheck &= 3
    				EndIf
    			Next
    			If $nCheck = '123' Then
    				$aExt = StringSplit($aoldName[$aoldName[0]], '.')
    				$NewName &= "." & $aExt[2]
    			Else
    				ContinueLoop
    			EndIf
    		EndIf
    		ConsoleWrite($NewName & @CRLF)
    		;FileMove($folder & "\" & $oldName, $folder & "\" & $newName)
    	EndIf
    Next
    Alles anzeigen
  • Windows 11, wieder keine Icon

    • Schnuffel
    • 24. Dezember 2024 um 13:31

    BugFix

    wenn du das Problem mal wieder hast, dass deine Icons verschwunden sind, kann es auch an einer defekten IconCache.db liegen.

    Dann einfach die folgenden Zeilen in eine xxxxxx.bat Datei kopieren und ausführen.

    Code
    taskkill /F /IM Explorer.exe
    CD /d %userprofile%\AppData\Local
    DEL IconCache.db /a
    cd ..\
    start explorer.exe
  • Weihnachtsgrüße

    • Schnuffel
    • 24. Dezember 2024 um 12:57

    auch von mir Frohe Weihnachten und einen guten Rutsch ins neue Jahr.

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™