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

Beiträge von Gandalf

  • Rechner

    • Gandalf
    • 6. November 2015 um 14:18
    AutoIt
    #include <ButtonConstants.au3>
     #include <EditConstants.au3>
     #include <GUIConstantsEx.au3>
     #include <StaticConstants.au3>
     #include <WindowsConstants.au3>
     #include <IE.au3>
     GuiCreate("Rechner",220,400,494,262)
     HotKeySet("{F1}", "Start")
     HotKeySet("{F2}", "Pause")
     GUISetOnEvent($GUI_EVENT_CLOSE,EXIT)
     $button1=GuiCtrlCreateButton("Start",20,40,74,27)
     $button2=GuiCtrlCreateButton("Pause",121,40,74,27)
     $input1=GuiCtrlCreateInput("2",110,105,65,15)
     $input2=GuiCtrlCreateInput("2",55,130,120,15)
     $input3=GuiCtrlCreateInput("2",55,155,120,15)
     $input4=GuiCtrlCreateInput("2",55,180,120,15)
     $input5=GuiCtrlCreateInput("2",55,205,120,15)
     $input6=GuiCtrlCreateInput("---",55,230,120,15)
     $check1=GuiCtrlCreateCheckbox("",20,80,10,15)
     $check2=GuiCtrlCreateCheckbox("",20,105,10,15)
     $label1=GuiCtrlCreateLabel("Konformitäten Neu",60,16,113,15)
     $label2=GuiCtrlCreateLabel("Bearbeitung aktivieren",55,80,113,15)
     $label3=GuiCtrlCreateLabel("Rechner",55,105,50,15)
     GuiSetState(@Sw_Show)
     While 1
     $msg=GuiGetMsg()
     If $msg=-3 Then Exit
     If $msg=$button1 Then button1()
     If $msg=$button2 Then button2()
     Wend
     Func button1()
     $Zahl1 = GUICtrlRead ($input2)
     $Zahl2 = GUICtrlRead ($input3)
     $Zahl3 = GUICtrlRead ($input4)
     $Zahl4 = GUICtrlRead ($input5)
     $Zahl5 = GUICtrlRead ($input1)
     $Ergebnis = ($Zahl1 + $Zahl2 + $Zahl3 + $Zahl4) / $Zahl5 ;dieses Ergebnis hätt ich gerne im input6 angezeigt
    GUICtrlSetData ( $input6, $Ergebnis, "Keine Rechnung durchgeführt" ) ;GUICtrlSetData ( controlID, data [, default] ) sollte so gehen ohne es gestestet zu haben
     EndFunc
    Alles anzeigen


    Schau mal rein und guck obs geht kann ich jetzt nicht testen sollte aber gehen...sonst melden

    PS: Eine Frage noch...was machen die Hotkeys da?

  • Schleife bis Fenster vorhanden ist

    • Gandalf
    • 27. Oktober 2015 um 11:36

    Das ist keine Schleife sondern nur eine einzelne Abfrage...

    Schau dir mal While an ;D

    Edit: Und das WinWait in der zweiten Abfrage würde ich zu nem WinWaitActive ändern...

  • USB-Stick Verschlüsseln Unterordner

    • Gandalf
    • 4. September 2015 um 10:25

    Ja das stimmt leider...Die Datei DARF nicht gelöscht werden aber Anwenderfreundlich ist was anderes das stimmt.
    Ich wollte jetzt so abfragen ob Dateien mit der Endung .crypt bestehen:

    AutoIt
    #Prüfung ob verschlüsselt
    ;===============================================================================
    ; Function Name:   _RecursiveFileListToArray($sPath, $sPattern, $iFlag = 0, $iFormat = 1, $sDelim = @CRLF)
    ; Description::    gibt Verzeichnisse und/oder Dateien (rekursiv) zurück, die
    ;                  einem RegExp-Pattern entsprechen
    ; Parameter(s):    $sPath = Startverzeichnis
    ;                  $sPattern = ein beliebiges RexExp-Pattern für die Auswahl
    ;                  $iFlag = Auswahl
    ;                           0 = Dateien & Verzeichnisse
    ;                           1 = nur Dateien
    ;                           2 = nur Verzeichnisse
    ;                  $iFormat = Rückgabeformat
    ;                             0 = String
    ;                             1 = Array mit [0] = Anzahl
    ;                             2 = Nullbasiertes Array
    ;                  $sDelim = Trennzeichen für die String-Rückgabe
    ; Requirement(s):  AutoIt 3.3.0.0
    ; Return Value(s): Array/String mit den gefundenen Dateien/Verzeichnissen
    ; Author(s):       Oscar (www.autoit.de)
    ;                  Anregungen von: bernd670 (www.autoit.de)
    ;===============================================================================
    Func _RecursiveFileListToArrayB($sPath, $sPattern, $iFlag = 0, $iFormat = 1, $sDelim = @CRLF)
        Local $hSearch, $sFile, $sReturn = ''
        If StringRight($sPath, 1) <> '\' Then $sPath &= '\'
        $hSearch = FileFindFirstFile($sPath & '*.crypt')
        If @error Or $hSearch = -1 Then Return SetError(0, 0, $sReturn)
        While True
           $sFile = FileFindNextFile($hSearch)
            If @error Then ExitLoop
           If StringInStr(FileGetAttrib($sPath & $sFile), 'D') Then
               If StringRegExp($sPath & $sFile, $sPattern) And ($iFlag = 0 Or $iFlag = 2) Then $sReturn &= $sPath & $sFile & '\' & $sDelim
               $sReturn &= _RecursiveFileListToArrayB($sPath & $sFile & '\', $sPattern, $iFlag, 0)
               ContinueLoop
            EndIf
            If StringRegExp($sFile, $sPattern) And ($iFlag = 0 Or $iFlag = 1) Then $sReturn &= $sPath & $sFile & $sDelim
        WEnd
        FileClose($hSearch)
        If $iFormat Then Return StringSplit(StringTrimRight($sReturn, StringLen($sDelim)), $sDelim, $iFormat)
    	   Global $Test = 100
        Return $sReturn
    	Return $Test
     EndFunc
    Alles anzeigen


    Und dann halt $Test abfragen welchen Wert es hat. leider funktioniert das nicht da man dennoch doppelt entschlüsseln kann (scheint aber keinen Schaden anzurichten)

    Hast du noch eine Idee?
    Gesamtes Skript:

    AutoIt
    #include <Array.au3>
    #include <Crypt.au3>
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    
    
    $Key1 = 0
    $Key2 = 0
    $sUserKey = 0
    $Test = 0
    
    
    
    
    $dateien = _RecursiveFileListToArrayB(@ScriptDir& "\BP Daten","",1,0)
    
    
    
    
    $Form1 = GUICreate("Secure BP AES 256 BIT", 472, 221, 192, 124)
    $Pic1 = GUICtrlCreatePic("Pfad", -8, -8, 476, 188)
    $Label1 = GUICtrlCreateLabel("Status: ", 0, 184, 248, 33)
    $Starten = GUICtrlCreateButton("Starten", 256, 184, 211, 33)
    GUISetState(@SW_SHOW)
    
    
    
    
    While 1
    	$nMsg = GUIGetMsg()
    	Switch $nMsg
    		Case $GUI_EVENT_CLOSE
    			Exit
    		 Case $Starten
    			$dateien = _RecursiveFileListToArrayB(@ScriptDir& "\BP Daten","",1,0)
    
    
    If $Test = 0 Then
    			   GUISetState(@SW_DISABLE)
    			GUICtrlSetData($Label1, "Status: "& "Keine Daten verschlüsselt. Starten des Verschlüsselungsvorgangs")
       MsgBox (0,"Daten sind unverschlüsselt!","Cryptolibrary aufrufen...")
       $Key1 = InputBox ("Key zum verschlüsseln hinterlegen: "," ","**********","*",300,120)
       $Key2 = InputBox ("Key zum überprüfen wiederholen: "," ","**********","*",300,120)
    
    
       If $Key1 <> $Key2 or 0 Then
    	  MsgBox (0,"Key´s stimmen nicht überein.","Programm wird beendent.")
    	  Exit
       Else
    	  MsgBox (0,"Daten werden nun verschlüsselt!","Bitte klicken Sie auf OK um fortzufahren.")
    	  $sUserKey = $Key1
    	  $sPfad = @ScriptDir & "\" & "BP Daten"
    	  _EncryptFolder($sPfad)
     	  IniWrite ("Crypt.ini","Crypt","Pfad","1AlconDfür5ein9"&$Key1&"7sie5#3tas96FinanDE")
    	  GUICtrlSetData($Label1, "Status: "& "Verschlüsselungsvorgang abgeschlossen.")
    	  $dateien = _RecursiveFileListToArrayB(@ScriptDir& "\BP Daten","",1,0)
    	  GUISetState(@SW_ENABLE)
       EndIf
    Else
       If $Test = 100 Then
       GUICtrlSetData($Label1, "Status: "& "Daten sind verschlüsselt. Entschlüsselung starten.")
       GUISetState(@SW_DISABLE)
       $sUserKey = InputBox ("Bitte Key zum entschlüsseln eingeben.","Eingabe: ","***********","*",300,120)
       $KeyKontrolle = StringTrimRight(StringTrimLeft (IniRead ("Crypt.ini","Crypt","Pfad","Error"),15),19)
      If $KeyKontrolle <> $sUserkey Then
      MsgBox (0,"Fehler!","Key leider falsch. Entschlüsselung wird abgebrochen.")
    	 Exit
      EndIf
       $sPfad = @ScriptDir & "\" & "BP Daten"
    _DecryptFolder($sPfad)
    GUICtrlSetData($Label1, "Status: "& "Daten erfolgreich entschlüsselt! Sie können nun geöffnet werden.")
    Sleep (2000)
    $dateien = _RecursiveFileListToArrayB(@ScriptDir& "\BP Daten","",1,0)
    GUISetState(@SW_ENABLE)
       EndIf
    
    
       EndIf
    
    
    	EndSwitch
    WEnd
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    Func _EncryptFolder($sFolder)
    	$aDateien = _RecursiveFileListToArray($sFolder, '', 1)
    		If $aDateien = 0 Then
    		   MsgBox (0,"Fehler!","Der Ordner BP Daten existiert nicht. Das Programm beendet sich nun.")
    	   Exit
    	   EndIf
    	For $i = 1 To $aDateien[0]
    		_Crypt_EncryptFile($aDateien[$i], $aDateien[$i] & ".crypt", $sUserKey, $CALG_AES_256)
    		FileDelete($aDateien[$i])
    	Next
    EndFunc
    
    
    Func _DecryptFolder($sFolder)
    	$aDateien = _RecursiveFileListToArray($sFolder, '\.crypt', 1)
    	If $aDateien = 0 Then
    		 MsgBox (0,"Fehler!","Der Ordner BP Daten existiert nicht. Das Programm beendet sich nun.")
    	   Exit
    	   EndIf
    	For $i = 1 To $aDateien[0]
    		_Crypt_DecryptFile($aDateien[$i], StringReplace($aDateien[$i], ".crypt", ""), $sUserKey, $CALG_AES_256)
    		FileDelete($aDateien[$i])
    	Next
    EndFunc
    
    
    Func _RecursiveFileListToArray($sPath, $sPattern, $iFlag = 0, $iFormat = 1, $sDelim = @CRLF)
        Local $hSearch, $sFile, $sReturn = ''
        If StringRight($sPath, 1) <> '\' Then $sPath &= '\'
        $hSearch = FileFindFirstFile($sPath & '*.*')
        If @error Or $hSearch = -1 Then Return SetError(0, 0, $sReturn)
        While True
            $sFile = FileFindNextFile($hSearch)
            If @error Then ExitLoop
            If StringInStr(FileGetAttrib($sPath & $sFile), 'D') Then
                If StringRegExp($sPath & $sFile, $sPattern) And ($iFlag = 0 Or $iFlag = 2) Then $sReturn &= $sPath & $sFile & '\' & $sDelim
                $sReturn &= _RecursiveFileListToArray($sPath & $sFile & '\', $sPattern, $iFlag, 0)
                ContinueLoop
            EndIf
            If StringRegExp($sFile, $sPattern) And ($iFlag = 0 Or $iFlag = 1) Then $sReturn &= $sPath & $sFile & $sDelim
        WEnd
        FileClose($hSearch)
        If $iFormat Then Return StringSplit(StringTrimRight($sReturn, StringLen($sDelim)), $sDelim, $iFormat)
        Return $sReturn
     EndFunc
    
    
    
    
    
    
    
    
    
    
    
    
    
    
     #Prüfung ob verschlüsselt
    ;===============================================================================
    ; Function Name:   _RecursiveFileListToArray($sPath, $sPattern, $iFlag = 0, $iFormat = 1, $sDelim = @CRLF)
    ; Description::    gibt Verzeichnisse und/oder Dateien (rekursiv) zurück, die
    ;                  einem RegExp-Pattern entsprechen
    ; Parameter(s):    $sPath = Startverzeichnis
    ;                  $sPattern = ein beliebiges RexExp-Pattern für die Auswahl
    ;                  $iFlag = Auswahl
    ;                           0 = Dateien & Verzeichnisse
    ;                           1 = nur Dateien
    ;                           2 = nur Verzeichnisse
    ;                  $iFormat = Rückgabeformat
    ;                             0 = String
    ;                             1 = Array mit [0] = Anzahl
    ;                             2 = Nullbasiertes Array
    ;                  $sDelim = Trennzeichen für die String-Rückgabe
    ; Requirement(s):  AutoIt 3.3.0.0
    ; Return Value(s): Array/String mit den gefundenen Dateien/Verzeichnissen
    ; Author(s):       Oscar (www.autoit.de)
    ;                  Anregungen von: bernd670 (www.autoit.de)
    ;===============================================================================
    Func _RecursiveFileListToArrayB($sPath, $sPattern, $iFlag = 0, $iFormat = 1, $sDelim = @CRLF)
        Local $hSearch, $sFile, $sReturn = ''
        If StringRight($sPath, 1) <> '\' Then $sPath &= '\'
        $hSearch = FileFindFirstFile($sPath & '*.crypt')
        If @error Or $hSearch = -1 Then Return SetError(0, 0, $sReturn)
        While True
           $sFile = FileFindNextFile($hSearch)
            If @error Then ExitLoop
           If StringInStr(FileGetAttrib($sPath & $sFile), 'D') Then
               If StringRegExp($sPath & $sFile, $sPattern) And ($iFlag = 0 Or $iFlag = 2) Then $sReturn &= $sPath & $sFile & '\' & $sDelim
               $sReturn &= _RecursiveFileListToArrayB($sPath & $sFile & '\', $sPattern, $iFlag, 0)
               ContinueLoop
            EndIf
            If StringRegExp($sFile, $sPattern) And ($iFlag = 0 Or $iFlag = 1) Then $sReturn &= $sPath & $sFile & $sDelim
        WEnd
        FileClose($hSearch)
        If $iFormat Then Return StringSplit(StringTrimRight($sReturn, StringLen($sDelim)), $sDelim, $iFormat)
    	   Global $Test = 100
        Return $sReturn
    	Return $Test
     EndFunc
    Alles anzeigen
  • USB-Stick Verschlüsseln Unterordner

    • Gandalf
    • 4. September 2015 um 09:03

    Habe jetzt doch noch ein Problem gefunden...
    Momentan kann es passieren, das die Daten mehrfach ver oder auch entschlüsselt werden.
    Dann ist es leider nichtmehr möglich sie wiederherzustellen.

    Kann ich irgendwie prüfen ob bereits verschlüsselt worden ist? Eventuell über die dann ja geänderte Dateiendung?
    Aktuell mache ich das ja über eine .ini in der auch das Passwort abgelegt wird um zu sehen ob das Passwort richtig ist und nur dann zu entschlüsseln aber eigentlich will ich das Passwort nirgendwo ablegen sondern prüfen ob die Entschlüsselung erfolgreich war. @Error gibt aber 0 zurück egal welches Passwort ich nehme.


    AutoIt
    Else
       If FileExists (@ScriptDir&"\Crypt.ini")Then
    	  GUICtrlSetData($Label1, "Status: "& "Daten sind verschlüsselt. Entschlüsselung starten.")
       GUISetState(@SW_DISABLE)
       $sUserKey = InputBox ("Bitte Key zum entschlüsseln eingeben.","Eingabe: ","***********","*",300,120)
       $KeyKontrolle = StringTrimRight(StringTrimLeft (IniRead ("Crypt.ini","Crypt","Pfad","Error"),15),19)
      If $KeyKontrolle <> $sUserkey Then
      MsgBox (0,"Fehler!","Key leider falsch. Entschlüsselung wird abgebrochen.")
    	 Exit
      EndIf
       $sPfad = @ScriptDir & "\" & "BP Daten"
    _DecryptFolder($sPfad)
    GUICtrlSetData($Label1, "Status: "& "Daten erfolgreich entschlüsselt! Sie können nun geöffnet werden.")
    GUISetState(@SW_ENABLE)
       EndIf
    Alles anzeigen
  • USB-Stick Verschlüsseln Unterordner

    • Gandalf
    • 3. September 2015 um 15:39

    Vielen Dank für deine HIlfe!!!!!

    Falls es jemand braucht:

    AutoIt
    #include <Array.au3>
    #include <Crypt.au3>
    
    
    $Key1 = 0
    $Key2 = 0
    $Key = 0
    
    
    If Not FileExists (@ScriptDir&"\Crypt.ini")Then
       MsgBox (1,"Daten sind unverschlüsselt!","Cryptolibrary aufrufen...")
       $Key1 = InputBox ("Key zum verschlüsseln hinterlegen: "," ","**********","*",300,120)
       $Key2 = InputBox ("Key zum überprüfen wiederholen: "," ","**********","*",300,120)
    
    
       If $Key1 <> $Key2 Then
    	  MsgBox (0,"Key´s stimmen nicht überein.","Programm wird beendent.")
    	  Exit
       Else
    	  MsgBox (0,"Daten werden nun verschlüsselt!","")
    	  #GUI 
    	  $sUserKey = $Key1
    	  $sPfad = @ScriptDir & "\" & "BP Daten"
    	  _EncryptFolder($sPfad)
    	  IniWrite ("Crypt.ini","Crypt","Pfad",@OSVersion)
       EndIf
    Else
       If FileExists (@ScriptDir&"\Crypt.ini")Then
       $Key = InputBox ("Bitte Key zum entschlüsseln eingeben.","Eingabe: ","**************","*",300,120))
       $sUserKey = $Key
       $sPfad = @ScriptDir & "\" & "BP Daten"
       _DecryptFolder($sPfad)
       #gui 
       EndIf
    
    
       EndIf
    
    
    
    
    
    
    Func _EncryptFolder($sFolder)
    	$aDateien = _RecursiveFileListToArray($sFolder, '', 1)
    	For $i = 1 To $aDateien[0]
    		_Crypt_EncryptFile($aDateien[$i], $aDateien[$i] & ".crypt", $sUserKey, $CALG_AES_256)
    		FileDelete($aDateien[$i])
    	Next
    EndFunc
    
    
    Func _DecryptFolder($sFolder)
    	$aDateien = _RecursiveFileListToArray($sFolder, '\.crypt', 1)
    	For $i = 1 To $aDateien[0]
    		_Crypt_DecryptFile($aDateien[$i], StringReplace($aDateien[$i], ".crypt", ""), $sUserKey, $CALG_AES_256)
    		FileDelete($aDateien[$i])
    	Next
    EndFunc
    
    
    Func _RecursiveFileListToArray($sPath, $sPattern, $iFlag = 0, $iFormat = 1, $sDelim = @CRLF)
        Local $hSearch, $sFile, $sReturn = ''
        If StringRight($sPath, 1) <> '\' Then $sPath &= '\'
        $hSearch = FileFindFirstFile($sPath & '*.*')
        If @error Or $hSearch = -1 Then Return SetError(0, 0, $sReturn)
        While True
            $sFile = FileFindNextFile($hSearch)
            If @error Then ExitLoop
            If StringInStr(FileGetAttrib($sPath & $sFile), 'D') Then
                If StringRegExp($sPath & $sFile, $sPattern) And ($iFlag = 0 Or $iFlag = 2) Then $sReturn &= $sPath & $sFile & '\' & $sDelim
                $sReturn &= _RecursiveFileListToArray($sPath & $sFile & '\', $sPattern, $iFlag, 0)
                ContinueLoop
            EndIf
            If StringRegExp($sFile, $sPattern) And ($iFlag = 0 Or $iFlag = 1) Then $sReturn &= $sPath & $sFile & $sDelim
        WEnd
        FileClose($hSearch)
        If $iFormat Then Return StringSplit(StringTrimRight($sReturn, StringLen($sDelim)), $sDelim, $iFormat)
        Return $sReturn
    EndFunc
    Alles anzeigen
  • USB-Stick Verschlüsseln Unterordner

    • Gandalf
    • 3. September 2015 um 14:32

    Hey danke für die Antwort. Eine Funktion zum auflisten aller Dateien und auch der Dateien in Unterordnern habe ich mittlerweile auch hier im Forum gefunden:

    AutoIt
    #include <Array.au3>
    #include <Crypt.au3>
    
    
    
    
    $pfad=@ScriptDir
    $dateien = _RecursiveFileListToArray($pfad, '', 1)
    _arraydisplay($dateien)
    
    
    ;===============================================================================
    ; Description::    gibt Verzeichnisse und/oder Dateien (rekursiv) zurück, die
    ;                  einem RegExp-Pattern entsprechen
    ; Parameter(s):    $sPath = Startverzeichnis
    ;                  $sPattern = ein beliebiges RexExp-Pattern für die Auswahl
    ;                  $iFlag = Auswahl
    ;                           0 = Dateien & Verzeichnisse
    ;                           1 = nur Dateien
    ;                           2 = nur Verzeichnisse
    ;                  $iFormat = Rückgabeformat
    ;                             0 = String
    ;                             1 = Array mit [0] = Anzahl
    ;                             2 = Nullbasiertes Array
    ;                  $sDelim = Trennzeichen für die String-Rückgabe
    ; Requirement(s):  AutoIt 3.3.0.0
    ; Return Value(s): Array/String mit den gefundenen Dateien/Verzeichnissen
    ; Author(s):       Oscar (www.autoit.de)
    ;                  Anregungen von: bernd670 (www.autoit.de)
    ;===============================================================================
    Func _RecursiveFileListToArray($sPath, $sPattern, $iFlag = 0, $iFormat = 1, $sDelim = @CRLF)
        Local $hSearch, $sFile, $sReturn = ''
        If StringRight($sPath, 1) <> '\' Then $sPath &= '\'
        $hSearch = FileFindFirstFile($sPath & '*.*')
        If @error Or $hSearch = -1 Then Return SetError(0, 0, $sReturn)
        While True
            $sFile = FileFindNextFile($hSearch)
            If @error Then ExitLoop
            If StringInStr(FileGetAttrib($sPath & $sFile), 'D') Then
                If StringRegExp($sPath & $sFile, $sPattern) And ($iFlag = 0 Or $iFlag = 2) Then $sReturn &= $sPath & $sFile & '\' & $sDelim
                $sReturn &= _RecursiveFileListToArray($sPath & $sFile & '\', $sPattern, $iFlag, 0)
                ContinueLoop
            EndIf
            If StringRegExp($sFile, $sPattern) And ($iFlag = 0 Or $iFlag = 1) Then $sReturn &= $sPath & $sFile & $sDelim
        WEnd
        FileClose($hSearch)
        If $iFormat Then Return StringSplit(StringTrimRight($sReturn, StringLen($sDelim)), $sDelim, $iFormat)
        Return $sReturn
    EndFunc
    Alles anzeigen


    Das funktioniert super! Allerdings habe ich es noch nicht hinbekommen die Dateien dann auch zu verschlüsseln und das Eventuell auch wieder rückgängig zu machen...

    Die Idee ist, das das Programm selber beim Verschlüsseln eine Datei anlegt um zu Kennzeichnen das die Dateien Verschlüsselt sind. In dem Ordner mit dem Programm und den Dateien ist sonst nichts.
    Wenn die Datei nicht existiert bedeutet es im Umkehrschluss das die Dateien nicht verschlüsselt worden sind. Dann soll verschlüsselt werden. Ohne weitere GUI usw. (kann ich sonst auch noch machen wenn ich doch eine brauche) Passwort wird natürlich nicht im Script hinterlegt!
    Beim Entschlüsseln muss natürlich die alte Ordnerstruktur wiederhergestellt werden.

    Hat da noch jemand Tipps? Den Pfad zu den ganzen Dateien kenne ich ja mittlerweile. Muss ich bei der Destination was spezielles beachten? Der Key ist kein Problem und ich nehme AES 256.

    Mein versuch war:

    AutoIt
    $Durchlaufe = 0
    While 1
    If  $dateien[0] > $Durchlaufe Then
    IniWrite ("toCrypt.ini","Dateien","Pfad " & $Durchlaufe,$dateien[$Durchlaufe])
    $Durchlaufe = $Durchlaufe + 1
    Else
       ExitLoop
       EndIf
    WEnd
    
    
    
    
    $Durchlaufe = 0
    $Crypt = _Crypt_EncryptFile ("Pfad", DirCreate (@ScriptDir&"\Crypt"), "Test", $CALG_AES_256 )
    MsgBox (0,"","")
    _Crypt_DecryptFile ( "Pfad" , @ScriptDir, "Test", $CALG_AES_256 )
    Alles anzeigen
  • USB-Stick Verschlüsseln Unterordner

    • Gandalf
    • 3. September 2015 um 10:18

    Hallo zusammen ich war länger weg und will jetzt aber wieder beginnen mehr mit Autoit zu arbeiten.
    Mein erstes Projekt stellt mich allerdings jetzt schon vor Probleme :(

    Einzelne Dateien zu verschlüsseln ist an sich nicht das Problem aber Ordner.
    Ich habe mir in AKrypto (sehr schönes Programm hier aus dem Forum) mal ein paar Funktionen angesehen aber komme nicht ganz dahinter...

    Aus der Hilfe:

    AutoIt
    #include <MsgBoxConstants.au3>
    
    
    Example()
    
    
    Func Example()
        ; Assign a Local variable the search handle of all files in the current directory.
        Local $hSearch = FileFindFirstFile("*.*")
    
    
        ; Check if the search was successful, if not display a message and return False.
        If $hSearch = -1 Then
            MsgBox($MB_SYSTEMMODAL, "", "Error: No files/directories matched the search pattern.")
            Return False
        EndIf
    
    
        ; Assign a Local variable the empty string which will contain the files names found.
        Local $sFileName = "", $iResult = 0
    
    
        While 1
            $sFileName = FileFindNextFile($hSearch)
            ; If there is no more file matching the search.
            If @error Then ExitLoop
    
    
            ; Display the file name.
            $iResult = MsgBox(BitOR($MB_SYSTEMMODAL, $MB_OKCANCEL), "", "File: " & $sFileName)
            If $iResult <> $IDOK Then ExitLoop ; If the user clicks on the cancel/close button.
        WEnd
    
    
        ; Close the search handle.
        FileClose($hSearch)
    EndFunc   ;==>Example
    Alles anzeigen


    Damit kann ich alle Dateien anzeigen lassen die in einem Ordner sind. Allerdings werden auch die Ordner als Datei angezeigt und nicht die Unterordner.

    Meine Frage ist also wie kann ich einen Stick mit mehreren Ordnern und Unterordnern mit Autoit "halbwegs" sicher verschlüsseln? Muss keine Nuklearcodes oder sonstwas verstecken... ;D

    Aus Akrypto:

    Code
    Func _DecryptFolder_Recursiv($sSource, $sDestination, $bOverwrite = False)
    	Local $hSearch, $sObject, $sObjectC, $Ret, $sSourceC
    	If StringRight($sDestination,1) <> "\" then $sDestination &= "\"
    	If StringRight($sSource,1) <> "\" then $sSource &= "\"
    	If Not FileExists($sDestination) Then
    		DirCreate($sDestination)
    		Sleep(100)
    	EndIf
    	$sSourceC = _Encrypt_Name($sSource)
    	$hSearch = FileFindFirstFile($sSourceC & "*.*")
    	While 1
    		$sObjectC = FileFindNextFile($hSearch)
    		If @error Then ExitLoop
    		If $sObjectC = "." Or $sObjectC = ".." Then ContinueLoop
    		$sObject = _Decrypt_Name($sObjectC)
    		If StringInStr(FileGetAttrib($sSourceC & $sObjectC),"D") > 0 Then
    			$Ret = _DecryptFolder_Recursiv($sSource & $sObject, $sDestination & $sObject, $bOverwrite)
    			If $Ret = 0 Then Return SetError(1, 0, 0)
    		Else
    			$Ret = _DecryptFile($sSource & $sObject, $sDestination, $bOverwrite)
    		EndIf
    	Wend
    	FileClose($hSearch)
    	Return SetError(0, 0, 1)
    EndFunc;==> _DecryptFolder_Recursiv()
    Alles anzeigen

    Irgendwo da müsste der Trick sein oder?

    Danke!

  • Upload to Dropbox

    • Gandalf
    • 19. Oktober 2014 um 13:31

    Da ich ja sooo gerne Skript teile kopiere habe ich mir jetzt mal das hier besorgt ;D

    [autoit]

    #include <ftp.au3>

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

    $server = "....bplaced.net"
    $username = "..."
    $pass = "..."

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

    $Open = _FTPOpen('MyFTP Control')
    $Conn = _FTPConnect($Open, $server, $username, $pass)
    $Source = "localfilepart"
    $Dest = "serverfilepart"
    $Ftpp = _FtpPutFile($Conn, $Source, $Dest)
    $Ftpc = _FTPClose($Open) <;/ftp.au3>

    [/autoit]

    So...
    Der erste Fehler kommt leider schon beim laden der ftp.au3. Er findet diese gar nicht. Muss ich diese exrta herunterladen und wenn ja wo?
    Und kamm mir jemand ein Beispiel geben (Beispiel helfen finde ich immer am besten) was mit $Source bzw. $Dest zu tun ist?
    Thx

    Edit: ok also ich muss die ftpex nehemen. Leider heißen dann alle Funktionen anders und ich finde ftpOpen leider nicht...

  • Upload to Dropbox

    • Gandalf
    • 19. Oktober 2014 um 12:07

    Ok
    Dann werde ich mich dirt mal anmelden und schauen wie ich die Daten da Uploaden kann per ftp.
    Oder hat dafür vielleicht jemand ein Beispiel parat ;D oder gerade so viel Zeit eines zu schreiben ;D
    Wie gesagt ftp ist neu für mich aber schaue ich mir dann jetzt mal an.

  • Upload to Dropbox

    • Gandalf
    • 18. Oktober 2014 um 14:06

    Also:
    Wie Dropbix funktioniert weißich...nutze es schon seit Jahren ;D

    Ich will halt ein kleines Nachrichten Tool schreiben, welches due Daten in einer txt speichert und diese bei Dropbox sichert. Sprich ich "missbrauche" bzw. will "mussbrauchen" Dropbix als "mini" server.
    Es in den passenden Ordner zu kopieren ist leider keine Alternative. Es soll schon direkt hochgeladen werde .

    Vielleicht hat jetzt jemand mit der Erklärung noch ne Idee.
    Kennt sonst jemand einen Dienst mit dem soetwas gehen würde ohne eigenen Server?
    VG

  • Upload to Dropbox

    • Gandalf
    • 17. Oktober 2014 um 23:18

    Hallo zusammen
    nach laaanger Zeit habe ich nun wieder ein bisschen mehr Zeit ;D und fange laaangsam wieder an mit autoit.

    Bei meiner ersten Idee an der ich ein bisschen bastel möchte scheitere ich keider in einem Bereich mit dem ich noch nicht viel zu tun hatte. Zu dem speziellen Fall habe ich leider nichts gefunden. Also: 1. ich lade daten (textdateien) aus der dropbox, das funktioniert soweit alles super. 2. ich will die geänderte Datei auch gerne wieder auf die dropbox hochladen damit ich sie beim nächsten mal wieder laden kann nur dann mit den gerade veränderten Daten. Aber wie lade ich das ding hoch ohne den ie. fernzusteuern?
    3. löscht dropbox dateien, die zu oft geladen wurden? Könnte in meinem fall eine recht hohe Anzahl werden ;D

    Vielen Dank im Vorraus!
    Gandalf

  • Webseiten Position überprüfen

    • Gandalf
    • 1. Mai 2014 um 13:04

    Ich habe jetzt gerade nochmal darübernachgedacht und eine Lösung gefunden ;D
    Man kann due Position der Maus immer speichern, wenn z.B. F1 gedrückt wird, so braucht man nicht klicken.

    Problem gelöst!

  • Webseiten Position überprüfen

    • Gandalf
    • 1. Mai 2014 um 12:32

    Hallo zusammen.
    Meine Frage bezieht sich auf _isPressed. Damit kann ich ja abfragen, ob eine Taste (hier die linke Maustaste) gedrückt ist. Ich muss für mein Programm (habe zwar ein Skript, das hat diese Idee aber in keinerweise intergriert deswegen hier kein Skript) mehrere Punkte auf einer Webseite markueren können. Sprich ich möchte Klicks abhängig vom Bildschirm ausführen. Bei mir muss ein Klick z.B. Bei 1000,500 ausgeführt werden bei meinem Freund bei 1200,670.

    Mein Problem ist nun aber, das wenn er auf der Webseite den Punkt anklickt, kann ich die Koordinaten zwar speichern aber der Klick wird aufgeführt. Sprich wie kann ich Koordinaten der Maus speichern ohne auf der Webseite zu klicken.
    Ich hoffe jemand versteht das Problem :D

    Vielen Dank
    Gandalf

  • Youtube Uploader

    • Gandalf
    • 31. Januar 2014 um 17:55

    Hey zusammen. Ich starte am 01.02.2014 einen neuen Youtube Channel und bin schon fleißig am hochladen... darum solles auch gehen um das Hochladen.

    Klar kann man über die Youtube Seite hochladen aber wenn man viele Videos hat ist das ein bisschen nervig.
    Ich selber kann es zwar nicht um setzen, aber meine Idee war es einen Youtube Uploader zu schreiben. Klar gibt es den schon und auch als freeware aber er funktioniert bei mir nicht richtig.

    Hat jemand eventuell Lust und Zeit so etwas zu schreiben? Würde mich mega freuen! :D

  • AutoIt Windows Screenshooter v1.84 Build 2019-08-18

    • Gandalf
    • 25. Januar 2014 um 13:59

    Also mit beiden Programmen kommt der fehler mit der NFO Datei :(
    Liegt vermutlich irgendwie an meinem PC

  • Make-Grafik's Encryption Tool

    • Gandalf
    • 25. Januar 2014 um 13:53

    Mars
    Ist es nicht besser "echten Zufall" zu benutzen?

    Etwa so:

    Spoiler anzeigen
    [autoit]

    $sText = InputBox("Daten", "")
    $sKey = InputBox("Passwort", "")

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

    $sLang= StringLen ($sText)
    $Zahl = InputBox ("Zufallszahl angeben.", "Zufallszahl wird auch zum Entschlüsseln benötigt")
    $While = 0
    $newKey = ""
    $KeyBinUp = StringUpper ($sKey)
    MsgBox (0,"Upper",$KeyBinUp)
    $KeyBin = StringToBinary ($KeyBinUp)
    $TextBin = StringToBinary ($sText)
    $KeyBinUpLeftZu = "eins"
    While 1
    If StringLen ($KeyBin) > StringLen ($TextBin) Then
    ExitLoop
    EndIf
    MsgBox (0,"1",$KeyBin)
    If $KeyBinUpLeftZu <> "eins" Then
    $KeyBin = $Ende
    EndIf
    $KeyBinUpLeft = StringTrimLeft ($KeyBin, Round (StringLen ($KeyBin) / $Zahl))
    MsgBox (0,"TrimLeft",$KeyBinUpLeft)
    $KeyBinUpLeftZu = $KeyBinUpLeft & $KeyBinUpLeft
    MsgBox (0,"2-mal",$KeyBinUpLeftZu)
    $KeyBinUpLeftZuRight = StringTrimRight ($KeyBinUpLeftZu, StringLen ($KeyBinUpLeftZu) / 3)
    MsgBox (0,"Right", $KeyBinUpLeftZuRight)
    $KeyBinUpLeftZuRightZu = $KeyBinUpLeftZuRight & $KeyBinUpLeftZu
    MsgBox (0,"Right ZUsammen", $KeyBinUpLeftZuRightZu)
    $Ende = StringRegExpReplace ($KeyBinUpLeftZuRightZu, "5", "@+*#$%§&/=?\´`")
    MsgBox (0,"Ende",$Ende)

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

    WEnd
    $sResult = _XORCrypt($sText, $sKey)
    ConsoleWrite('verschlüsselt: ' & $sResult & @CR)
    $sResult = _XORCrypt($sResult, $sKey)
    MsgBox (1,"",$sResult)
    ConsoleWrite('entschlüsselt: ' & $sResult & @CR)

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

    Func _XORCrypt($sText, $sKey)
    Local $sResult = ''
    For $i = 1 To StringLen($sText)
    $sResult &= Chr(BitXOR(Asc(StringMid($sText, $i, 1)), Asc(StringMid($sKey, Mod($i - 1, StringLen($sKey)) + 1, 1))))
    Next
    Return $sResult
    EndFunc ;==>_XORCrypt

    [/autoit]

    Ist Wahrscheinlich suuuper unsicher oder? aber eigentlich sollte nur noch Bruteforce übrig bleiben zu entschlüsseln?!

  • AutoIt Windows Screenshooter v1.84 Build 2019-08-18

    • Gandalf
    • 25. Januar 2014 um 13:51

    WinRar

    Aber generell entpacken kann ich es...
    lade jetzt mal 7-zip

    Edit: liegt nicht an winRar
    geht immer noch nicht

  • AutoIt Windows Screenshooter v1.84 Build 2019-08-18

    • Gandalf
    • 25. Januar 2014 um 12:43

    Also bei mir kommt immer ein Fehler beim Start, dass er eine NFO Datei nicht öffnen konnte...

  • GrooveLoad - ein Grooveshark Downloader

    • Gandalf
    • 23. Januar 2014 um 16:37

    Bei mir kommt bei beiden Versionen ein Fehler. Ich kann also nicht herunterladen...

    Fehler beim Abrufen der Streamdaten.

  • Make-Grafik's Encryption Tool

    • Gandalf
    • 23. Januar 2014 um 16:17

    Hey
    Also zu deiner Funktion...

    Wenn ich sie benutzen will dann kann ich dort ja nur denn zu Hashenden Wert angeben. Aber woher will die Funktion wissen wie lang der mit XOR zu verschlüsselnde Text ist?

    Spoiler anzeigen
    [autoit]

    $sText = InputBox("Daten", "")
    $sKey = InputBox("Passwort", "")
    $sResult = _XORCrypt($sText, $sKey)
    ConsoleWrite('verschlüsselt: ' & $sResult & @CR)
    $sResult = _XORCrypt($sResult, $sKey)
    MsgBox (1,"",$sResult)
    ConsoleWrite('entschlüsselt: ' & $sResult & @CR)

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

    Func _XORCrypt($sText, $sKey)
    Local $sResult = ''
    For $i = 1 To StringLen($sText)
    $sResult &= Chr(BitXOR(Asc(StringMid($sText, $i, 1)), Asc(StringMid($sKey, Mod($i - 1, StringLen($sKey)) + 1, 1))))
    Next
    Return $sResult
    EndFunc ;==>_XORCrypt

    [/autoit]

    An welcher Stelle muss ich die Funktion von Mars denn aufrufen?
    Achja...wenn ich die Funktion nun verwende dann kann ich ja trotzdem ein möglichst langes Passwort benutzen um eine höhere Sicherheit zu erreichen.?

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™