Habe vor uff...paar monaten oder jahre mal dieses kleine script gebastelt woran ich nun weiter machen werde.
Könnt es euch ja mal anschauen und tipps etc. geben =)
Danke.
PS: Es verschlüsselt und entschlüsselt bisher nur .txt dateien.
#include <File.au3>
#include <GuiListView.au3>
$File = ""
$GUI = GUICreate("FreeCrypt", 500, 420)
$Menu = GUICtrlCreateMenu("Data")
$Open = GUICtrlCreateMenuItem("Open", $Menu)
$HelpMenu = GUICtrlCreateMenu("?")
$Info = GUICtrlCreateMenuItem("Info", $HelpMenu)
$Help = GUICtrlCreateMenuItem("Help", $HelpMenu)
$Start = GUICtrlCreateButton("Start", 440, 370, 50)
$CFile = GUICtrlCreateButton("Choose Files", 350, 70, 70)
$Group1 = GUICtrlCreateGroup("Mode", 4, 4, 90, 45)
$Group1 = GUICtrlCreateGroup("Info", 230, 4, 200, 45)
GUICtrlCreateLabel("Momentan nur .TXT Formate möglich", 240, 20)
$CMode = GUICtrlCreateCombo("", 10, 20, 70)
GUICtrlSetData($CMode, "Encrypt")
GUICtrlSetData($CMode, "Decrypt")
$Group2 = GUICtrlCreateGroup("Files", 4, 60, 430, 300)
$ListView = GUICtrlCreateListView("", 10, 100, 410, 250)
_GUICtrlListView_AddColumn($ListView, "File", 400)
GUISetState(@SW_SHOW, $GUI)
$Key = Random()
While 1
$nMsg = GUIGetMsg(1)
Switch $nMsg[0]
Case -3
If $nMsg[1] = $GUI Then
Exit
Else
GUISetState(@SW_HIDE, $nMsg[1])
EndIf
Case $Start
If $File = "" Then
MsgBox(16, "Error", "No File choosen!")
Else
$Mode = GUICtrlRead($CMode)
ConsoleWrite($Mode & @CRLF)
If $Mode = "Encrypt" Then
_Secure_Encrypt($File, $Key)
Else
If $Mode = "Decrypt" Then
_Secure_Decrypt($File, $Key)
Else
MsgBox(16, "Error", "No Mode choosen!")
EndIf
EndIf
EndIf
Case $CFile
$File = FileOpenDialog("Öffnen", @ScriptDir, "(*.*)")
GUICtrlCreateListViewItem($File, $ListView)
case $Info
MsgBox(0, "Info", "With this Tool you can Encrypt and Decrypt Files." & @CR & " Written by: Timo.R" & @CRLF & " With: AutoIT v3")
case $Open
$File = FileOpenDialog("Öffnen", @ScriptDir, "(*.*)")
GUICtrlCreateListViewItem($File, $ListView)
Case $Help
MsgBox(0, "Help", "Comming Soon..")
EndSwitch
WEnd
Func _Secure_Encrypt($File, $Key)
$i = 0
While $i < 3
$Encrypt = _EncryptFile($File, $Key, 1)
ConsoleWrite($i & @CRLF)
$i += 1
WEnd
If $Encrypt = True Then
_GUICtrlListView_DeleteItem($ListView, 0)
MsgBox(0, "Ready", "Encrypt File: " & $File & " was Successful")
Else
MsgBox(16, "Error", "Encrypt File: " & $File & " wasn't Successful")
EndIf
EndFunc ;==>_Secure_Encrypt
Func _Secure_Decrypt($File, $Key)
$i = 0
While $i < 3
$Decrypt = _EncryptFile($File, $Key, 0)
ConsoleWrite($i & @CRLF)
$i += 1
WEnd
If $Decrypt = True Then
_GUICtrlListView_DeleteItem($ListView, 0)
MsgBox(0, "Ready", "Decrypt File: " & $File & " was Successful")
Else
MsgBox(16, "Error", "Decrypt File: " & $File & " wasn't Successful")
EndIf
EndFunc ;==>_Secure_Decrypt
;===============================================================================
;
; Function Name: _Encrypt( $aString, $aPW ,$aMode = 1 )
; Description:: Function to en- decrypt strings
; Parameter(s): $aString = String to encrypt
; $aPW = Password
; $aMode = 1 for encrypt, 0 for decrypt
; Requirement(s): None
; Return Value(s): en- decrypted string
; Author(s): Daniel Wahlmann
;
;===============================================================================
Func _Encrypt($aString, $aPW, $aMode = 1)
Local $lReturn = "", $lBuffer = "", $lPW = "", $lStrLen = StringLen($aString), $lPwLen = StringLen($aPW)
If Not IsString($aString) Or $lStrLen < 1 or ($aMode <> 0 And $aMode <> 1) or ($aMode = 0 And Mod($aString, 2) <> 0) Or StringLen($aPW) < 1 Then Return 0
For $lNum = 1 To $lPwLen
$lPW &= Asc(StringMid($aPW, $lNum, 1))
Next
Switch $aMode
Case 1
For $lNum = 1 To $lStrLen
$lReturn &= Hex(BitXOR(BitNOT(Asc(StringMid($aString, $lNum, 1)) + 1), $lPW, 255), 2)
Next
Case 0
For $lNum = 1 To $lStrLen
$lBuffer &= Chr(BitXOR(BitNOT(Asc(Chr(Dec(StringMid($aString, $lNum, 1) & StringMid($aString, $lNum + 1, 1))))), $lPW, 255))
$lNum += 1
Next
For $lNum = 1 To $lStrLen / 2
$lReturn &= Chr(Asc(StringMid($lBuffer, $lNum, 1)) - 1)
Next
EndSwitch
Return $lReturn
EndFunc ;==>_Encrypt
;===============================================================================
;
; Function Name: _EncryptFile( $aFile, $aPW ,$aMode = 1 )
; Description:: Function to en- decrypt files
; Parameter(s): $aFile = file to encrypt/decrypt
; $aPW = Password
; $aMode = 1 for encrypt, 0 for decrypt
; Requirement(s): File.au3
; Return Value(s): Success 1
; Failure 0
; Author(s): Daniel Wahlmann
;
;===============================================================================
Func _EncryptFile($aFile, $aPW, $aMode = 1)
Dim $lRead, $lReturn = False
If FileExists($aFile) Then
_FileReadToArray($aFile, $lRead)
FileDelete($aFile)
For $lNum = 1 To $lRead[0]
FileWriteLine($aFile, _Encrypt($lRead[$lNum], $aPW, $aMode))
Next
$lReturn = True
EndIf
Return $lReturn
EndFunc ;==>_EncryptFile