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. FCMaltus

Beiträge von FCMaltus

  • nach kompilieren als HEUR Virus erkannt

    • FCMaltus
    • 7. Dezember 2018 um 16:39

    Das hat leider nicht geklappt.

    Code
    #AutoIt3Wrapper_UseUpx = N

    Es geht hierbei um ein Lizenzsystem, das ich auf youtube gefunden habe. Ich weiß, dass das bei Autoit Programmen generell keinen Sinn macht, aber wollte es einfach mal ausprobieren. (Code steht unten)

    Ich habe grade einfach Lust etwas coden zu lernen. Daher habe ich einfach mehrere Projekte von einem Youtube Channel versucht nachzuvollziehen und in was Eigenes zu implementieren.

    Wenn imagesearch bei euch gegen die Forenregel verstößt dann stelle ich keine Fragen mehr dazu ;) Habe das Problem mittlerweile auch schon gelöst bekommen durch For und IF's mit denen ich vorher noch Probleme hatte -> Wieder was dazugelernt

    Mein nächstes Ziel ist das Programm zu kompilieren ohne, dass Avira da meckert. (virustotal.com schlägt nämlich keinen Alarm)

    C
    #include <winhttp.au3>
    #include <Array.au3>
    $sMail = "Email@web.de"
    
    $sNAme = _Lizenz_Abfrage('Test')
    
    
    Func _Lizenz_Abfrage($sProdukt)
        ToolTip("Überprüft Lizenz...", @DesktopWidth / 2, @DesktopHeight / 2)
        $sHash = _GetHWID()
        $se_open = _WinHttpOpen("Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.1.18) Gecko/20110319 Firefox/3.5.18 ( .NET CLR 3.5.30729; .NET4.0E)")
        $se_connect = _WinHttpConnect($se_open, "www.dropbox.com")
    
        $se_html = _WinHttpSimpleSSLRequest($se_connect, "GET", '/s/2gcgh44f1egn496/whitelist.txt?dl=1');
        ;MsgBox(0, "", $se_html)
        _WinHttpCloseHandle($se_connect)
        _WinHttpCloseHandle($se_open)
        ToolTip("")
        $aDaten = StringRegExp($se_html, '\[(.+?)\]', 3)
        ;_ArrayDisplay($aDaten)
        $sFehler = "Du bist für kein Produkt Regestriert mit der HardwareID:" & @CRLF & $sHash
        For $i = 0 To UBound($aDaten) - 1 Step 4
            If $aDaten[$i + 1] <> $sHash Then ContinueLoop
            $sFehler = "Du bist für dieses Produkt nicht Regestriert."
            If $aDaten[$i] <> $sProdukt Then ContinueLoop
            $sFehler = "Deine Lizenz ist abgelaufen, sie ging nur bis zum:" & @CRLF & $aDaten[$i + 3]
            $aDatum = StringSplit($aDaten[$i + 3], ".")
            If @error Then Return $aDaten[$i+2]
            If $aDatum[1] < @YEAR Then ContinueLoop
            If $aDatum[2] < @MON Then ContinueLoop
            If $aDatum[3] < @MDAY Then ContinueLoop
            Return $aDaten[$i+2]
        Next
        ClipPut($sHash)
        MsgBox(0,"Fehler", $sFehler & @CRLF & "Deine HardwareID ist im Zwischenspeicher, um eine Gültige Lizenz zu erwerben gebe diese bitte weiter an:" & @CRLF & $sMail)
        Exit
    EndFunc   ;==>_Lizenz_Abfrage
    
    
    ;~ HHDID, NAME, Datum, Produk,
    
    
    
    Func _Check_Serial($sProgramm)
        $sHash = _GetHWID()
    
        ToolTip("Überprüft Status...")
        $se_open = _WinHttpOpen("Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.1.18) Gecko/20110319 Firefox/3.5.18 ( .NET CLR 3.5.30729; .NET4.0E)")
        $se_connect = _WinHttpConnect($se_open, "www.dropbox.com")
        $se_html = _WinHttpSimpleSSLRequest($se_connect, "GET", '/s/2gcgh44f1egn496/whitelist.txt?dl=1')
        _WinHttpCloseHandle($se_connect)
        _WinHttpCloseHandle($se_open)
        ToolTip("")
        If StringInStr($se_html, $sHash & "][" & $sProgramm) <> 0 Then
            Return True
        Else
            ClipPut($sHash)
            MsgBox(64, "Error", "Du bist noch nicht Registriert, sende folgenden Code an jamesmor@web.de:" & @CRLF & @CRLF & $sHash & @CRLF & @CRLF & "Er wurde in die Zwischenablage gespeichert!")
            Exit
        EndIf
    EndFunc   ;==>_Check_Serial
    
    
    Func _MD5($Data)
        $hProv = DllStructCreate("ULONG_PTR")
        $hHash = DllStructCreate("ULONG_PTR")
        $cbHash = DllStructCreate("ULONG_PTR")
        DllStructSetData($cbHash, 1, 16)
        $Hash = DllStructCreate("BYTE[" & StringLen($Data) + 1 & "]")
        DllStructSetData($Hash, 1, $Data)
        $digit = DllStructCreate("char[16]")
        DllStructSetData($digit, 1, "0123456789abcdef")
        $fHash = DllStructCreate("char[32]")
    
        $Advapi32 = DllOpen("Advapi32.dll")
        If @error Then Return SetError(1, "", False)
    
        DllCall($Advapi32, "BOOL", "CryptAcquireContextA", "ptr", DllStructGetPtr($hProv), "int", 0, "int", 0, "DWORD", 1, "DWORD", 0xF0000000)
        If @error Then Return SetError(2, "", False)
    
        DllCall($Advapi32, "BOOL", "CryptCreateHash", "ULONG_PTR", DllStructGetData($hProv, 1), "UINT", BitOR(BitShift(4, -13), 3), "int", 0, "int", 0, "ptr", DllStructGetPtr($hHash))
        If @error Then Return SetError(3, "", False)
    
        DllCall($Advapi32, "BOOL", "CryptHashData", "ULONG_PTR", DllStructGetData($hHash, 1), "ptr", DllStructGetPtr($Hash), "DWORD", StringLen($Data), "int", 0)
        If @error Then Return SetError(4, "", False)
    
        $Hash = DllStructCreate("BYTE[16]")
        DllCall($Advapi32, "BOOL", "CryptGetHashParam", "ULONG_PTR", DllStructGetData($hHash, 1), "DWORD", 2, "ptr", DllStructGetPtr($Hash), "DWORD*", DllStructGetPtr($cbHash), "int", 0)
        If @error Then Return SetError(5, "", False)
    
        $l = 1
        For $i = 1 To DllStructGetData($cbHash, 1)
            DllStructSetData($fHash, 1, DllStructGetData($digit, 1, BitShift(DllStructGetData($Hash, 1, $i), 4) + 1), $l)
            $l += 1
            DllStructSetData($fHash, 1, DllStructGetData($digit, 1, BitAND(DllStructGetData($Hash, 1, $i), 0xF) + 1), $l)
            $l += 1
        Next
    
        DllCall($Advapi32, "BOOL", "CryptDestroyHash", "ULONG_PTR", DllStructGetData($hHash, 1))
        DllCall($Advapi32, "BOOL", "CryptReleaseContext", "ULONG_PTR", DllStructGetData($hProv, 1), "int", 0)
    
        DllStructSetData($fHash, 1, 0, 33)
        Return DllStructGetData($fHash, 1)
    EndFunc   ;==>_MD5
    
    
    ;=================================================================================================
    ; Function:            _GetHWID()
    ; Description:        Returns the MD5 hashed HWID.
    ; Return Value(s):    On Success - Returns the MD5 hashed HWID.
    ;                    On Failure - Returns false
    ;                    @Error - 1 = Failed to get 'HwProfileGuid'.
    ;                             2 = Failed to get the drive serial.
    ;                             3 = Failed to hash the data.
    ; Author(s):        KDeluxe
    ;=================================================================================================
    Func _GetHWID()
        Local $HW_PROFILE_INFO = DllStructCreate("dword;char[39];char[80]")
        DllCall("Advapi32.dll", "int", "GetCurrentHwProfileA", "ptr", DllStructGetPtr($HW_PROFILE_INFO))
        If @error Then Return SetError(1, "", False)
    
        $GUID = DllStructGetData($HW_PROFILE_INFO, 2)
        $dwHDDSerial = DriveGetSerial(@HomeDrive)
        If @error Then Return SetError(2, "", False)
    
        $szReturnData = StringLower(_MD5(DllStructGetData($HW_PROFILE_INFO, 2) & $dwHDDSerial & _Get_Produktions_Key() & @ComputerName))
        If @error Then Return SetError(3, "", False)
    
        Return $szReturnData
    EndFunc   ;==>_GetHWID
    
    Func _Get_Produktions_Key()
        FileWrite(@TempDir & "\vbstemp.vbs", 'On Error Resume Next' & _
                @CRLF & 'Set Fso = CreateObject("Scripting.FileSystemObject")' & _
                @CRLF & 'Set SNSet = GetObject("winmgmts:").InstancesOf ("Win32_OperatingSystem")' & _
                @CRLF & 'Set fs = CreateObject("Scripting.FileSystemObject")' & @CRLF & _
                @CRLF & 'Set a = fs.CreateTextFile("tempvbs.tmp", True)' & _
                @CRLF & 'for each SN in SNSet' & @CRLF & _
                'a.WriteLine (SN.SerialNumber)' & @CRLF & 'next' & _
                @CRLF & 'a.Close')
        RunWait("wscript.exe " & @TempDir & "\vbstemp.vbs", @TempDir)
        $SN = FileReadLine(@TempDir & "\tempvbs.tmp", 1)
        FileDelete(@TempDir & "\tempvbs.tmp")
        FileDelete(@TempDir & "\vbstemp.vbs")
    EndFunc   ;==>_Get_Produktions_Key
    Alles anzeigen
  • nach kompilieren als HEUR Virus erkannt

    • FCMaltus
    • 7. Dezember 2018 um 15:31

    Hallo,

    ich habe momentan ein Problem mit dem Kompilen von Dateien. Wenn ich eine .au3 Datei kompiliere schiebt Avira die .EXE in Quarantäne. Wenn ich die .au3 direkt ausführe kommt keine Virenwarnung. Ist mein PC infiziert oder hattet ihr das auch schonmal?

    Danke

  • ImageSearch für 2 identische Bilder Koordinaten finden

    • FCMaltus
    • 5. Dezember 2018 um 16:14

    Ich habe mehrere Desktophintergundbilder auf denen jeweils 2 Häuschen eingefügt wurden an unterschiedlichen stellen. Mein Programm soll mir einfach nur die Koordinaten dieser Häuschen finden egal wo die sich befinden (variiert von Hintergrund zu Hintergrund).


    z.B. so

    Der Inhalt kann nicht angezeigt werden, da du keine Berechtigung hast, diesen Inhalt zu sehen.

  • ImageSearch für 2 identische Bilder Koordinaten finden

    • FCMaltus
    • 5. Dezember 2018 um 15:31

    nein natürlich gehört da auch noch mehr rein z.B.:

    Code
    #include <ImageSearch2015.au3>
    $x5=0
    $y5=0
    $picture5 = "C:\Users\Malte\Desktop\ImageSearch2015\capture5.png"
    
    do
    $result = _ImageSearch($picture5,1,$x5,$y5,0,0)
    
    
    ConsoleWrite($result)
    until $result = 1;
    if $result=1 Then
       MouseClick("left",$x5,$y5,2)
     else
        MsgBox(0,"MSG","End")
    
     EndIf
    Alles anzeigen

    Naja im Prinzip möchte ich ein Script, welches anhand einen Screenshots ein Bild auf meinem Bildschirm sucht und anklickt. Das Problem dabei ist nur, dass das Bild zweimal auf dem Bildschirm vorhanden ist und nur das zweite Bild angeklickt werden soll. Momentan wird ja nur das erste Bild gefunden und angeklickt. Das möchte ich aber ignorieren. Ich hoffe das war einigermaßen versändlich.

  • ImageSearch für 2 identische Bilder Koordinaten finden

    • FCMaltus
    • 5. Dezember 2018 um 14:19

    Hallo,

    ich komme grade nicht weiter mit meinem Skript. Ich würde gerne auf meinem Bildschirm die Koordinaten zweier identischer Bilder finden. Mit einem Bild klappt die Suche schon, allerdings hört das Script nach dem ersten Bild bereits auf. (da result dann =1 wird).

    Wie finde ich aber nun die Koordinaten des zweiten Bildes?

    Vielen Dank schonmal!

    Code
    do
    $result = _ImageSearch($picture5,1,$x5,$y5,0,0)
    
    
    ConsoleWrite($result)
    until $result = 1;
  • Brauche Hilfe bei kleinem Projekt

    • FCMaltus
    • 22. August 2014 um 19:26

    Vielen, vielen Dank Kanashius!!!

    Genau so wollte ich das Progamm haben. Ich bastle noch ein wenig an dem Programm rum, sodass später alles perfekt bei mir funktioniert ;)
    Ich hoffe, dass du mir noch an der ein oder anderen Stelle hilfst, falls ich alleine nicht weiter komme :)

    LG

  • Brauche Hilfe bei kleinem Projekt

    • FCMaltus
    • 21. August 2014 um 21:19

    Hallo,


    ich kenne mich mit programmieren kaum aus und benötige daher eure Hilfe.
    Es wäre toll, wenn sich einer von euch bereit erklärt mir ein einfaches
    Script/Programm zu schreiben, dass die folgenden Funktionen ausführen
    kann: (Natürlich mit einer Entlohnung, falls meine Wünsche überhaupt
    leicht realisierbar sind)


    - beim erstmaligen Öffnen soll das Programm 2 Koordinaten auch dem Bildschirm abfragen.


    Z.B. fahre nun im Browser über die Navigationsleiste und drücke die Leertaste(1. Koordinate soll gespeichert werden)usw.


    die x- und y- Koordinaten sind später noch wichtig und sollen daher in
    einer Datei gespeichert werden. Ist die Datei einmal angelegt, soll
    dieser Schritt beim nächsten Öffnen übersprungen werden


    - das Programm sollte bisher also nur eine Datei mit 2 bestimmten Koordinaten erstellen


    - nun möchte ich, dass das Programm aus einer im Voraus erstellten
    Exceltabelle zeilenweise Werte entnimmt(oder auch ein normales
    Textdokument).


    Die Tabelle ist so aufgebaut:


    Name: Alter:


    Max Mustermann 50


    Peter M. 30


    ...... ...


    - jetzt benötigen wir wieder die Koordinaten...


    - in einer Schleife soll zuerst die erste Zeile in Name und Alter auf 2
    Variablen geschrieben werden (oder Ähnliches...weiß nicht wie man das
    am besten löst)


    - Variable a ist nun Max Mustermann, b ist 50


    - nun soll das Programm die erste Koordinate aus der erstellten Datei
    abrufen und den Cursor dorthin bewegen und einen "klick" ausführen


    - jetzt soll der Inhalt in die Navigationsleiste geschrieben werden(da der Cursor grade die Navi-leiste angeklickt hat)


    - dann soll der Cursor zur 2. Koordinate bewegt werden und ebenfalls einen "klick" ausführen


    - der Inhalt der Variable b soll anschließend in das Feld eingetragen werden


    - ist dieser Vorgang mit Zeile 1 abgeschlossen, soll das Programm zur nächsten Zeile gehen und dasselbe machen


    - ist die letzte Zeile erreicht, soll das Programm wieder zur ersten Zeile Springen


    Das Programm soll in etwa diese Funktion haben. Falls ihr meine Wünsche
    verstanden habt und evtl. sogar in der Lage seid dieses Programm zu
    schreiben, würde ich mich sehr über Kommentare oder eine Nachricht
    freuen. :)


    LG Malte

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™