AutoIT-Skripte mit Passwort

  • Hi,

    Ich habe den Eindruck das behandelte Thema, ist in die verkehrte Rubrik gepostet worden

    Gehört das nicht unter "Sonstiges / Hangman" eingeordnet ? :rofl:

    Mfg
    Trallala

  • Mal ne Zwischenfrage,

    ich verwende AutoIt als Oberfläche für unseren Aussendienst. Da werden auf den Laptops Daten gesammelt und ab und an per FTP übertragen. Damit nicht jeder die Zugangsparameter (Benutzer und Kennwort) kennen muss und damit spielen kann, habe ich diese im compilierten Skript (mit Option /nodecompile) hinterlegt. Ist dies sicher oder gibt es eine Möglichkeit dies unberechtigt auszulesen?

    • Offizieller Beitrag

    [Klarstellung ein für alle mal]
    AuoIt ist eine interpretierte Sprache. Das heißt, dass ein Programm sich einen Quelltext zeilenweise vornimmt und dabei je nach Zeilentext bestimmte Handlungen ausführt. AutoIt3.exe ist dabei der Interpreter, die jeweilige au3-Datei ist der Quelltext.
    Wird das Skript nun kompiliert, wird es nicht zu Bytecode übersetzt, sondern es wird zusammen mit der AutoIt3.exe in eine neue Exe-Datei gepackt. Dabei wird zip-ähnlich gepackt (?), upx-gepackt und das ganze verschlüsselt. Gibt man ein Passwort an, so wird dieses zur Verschlüsselung verwendet. Bei der Einstellung "Dekompilieren nicht erlauben" wird auch ein Passwort verwendet, allerdings wird dieses intern generiert und ist relativ lang. Es ist keinesfalls ein Standardpasswort.
    Damit der Interpreter beim Ausführen den Quellcode lesen kann, wird er mit dem gepsicherten Passwort wieder entschlüsselt. Wie das Passwort gespeichtert wird, weiß ich nicht genau.
    Der einzig möglich scheinende Angriff ist also, entweder das Auslesen des (irgendwann) Klartextpasswortes abzugreifen oder den Quelltext direkt bevor ihn der Compiler zu Gesicht bekommt.
    Das ist aber sicher keine triviale Aufgabe. Erfodert sicher sehr große PC-Erfahrung, das Wissen, dass es sich um AutoIt handelt, AutoIt-Wissen an sich und v.a. einige (!) Erfahrung im Reverse Engeneering.
    Die Gefahr ist also eher gering einzustufen.
    [/Klarstellung]

    peethebee

  • Hm......wie kann ich die Scripte gegen Ausführen mit einem Kennwort schützen? Gibt es da schon was eingebautes? Habe nur den Kennwortschutz gegen decompilieren gefunden.

  • Ich habe das mal so gelöst:

    [autoit]


    $password = InputBox("Sicherheitsabfrage", "Passwort ?","","*")
    Select

    [/autoit][autoit][/autoit][autoit]

    case $password = "pw1"
    Sleep(1)
    Case Else
    Exit
    EndSelect

    [/autoit][autoit][/autoit][autoit]

    ;Programmablauf.......

    [/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit]

    Gruß
    Wolke

  • So gefällt mir das auch besser...sicher ist der erste Vorschlag vielseitiger etc.
    aber es soll ja nur eine EXE nicht ohne Kennwort ausgeführt werden.
    Werde es so machen:

    leses den PC-Namen aus und mache ROT13 (hat dafür jemand ein einfaches! Skript ;) ) und das ist dann das Kennwort das man eingeben muss......
    Ist für Produktionsumgebungen, wo mehrere Leute dran müssen, eine - wie ich denke - gute Lösung.

  • Das Problem hat sich erledigt. BlackJack hat nachgeforscht und hat rausgefunden das die Skripte aus der WM Edition von Windows XP stammen und er hat die mitprogrammiert.

    peethebee: Ich schreibe mal hier dazu, sonst passt es wieder nicht zum Thema und du sammelst unnötig Posts. Ich verstehe nicht, was dein "Experte" da für eine Rolle hat. Entweder er hat die AutoIt-Skripte selbst geschrieben, dann sollte er sie auch wiederbekommen können. Oder aber er entwickelt Windows mit, dann glaube ich das erstens grundsätzlich nicht und zweitens wäre es dann ein leichtes für ihn, den Quelltext herauszufinden...