| FrontBack |
| | Ecco il mio primo programma postato qui... Si tratta di un programma di crittazione/decrittazione, che usa vari algoritmi (combinabili tra loro) protetti da una password casuale e dal massimo livello di cifratura. Non può decrittare testo copiato/incollato. BUG NOTI:La criptatura XXTEA non funziona da sola o con altre combinazioni ma funziona se sono inseriti tutti gli algoritmi. REQUISITI MINIMI:Richiede le UDF XXTEA, Base64 e RC4, reperibili qui:"http://www.autoitscript.com/forum/index.php?showtopic=76976&st=0" (Non riesco a mettere il link! ) ATTENZIONE: lo spoiler sfasa parecchio la pagina!Sono due source. Salvateli tutti e due. Il primo con il nome di WEPAEncToolv30.au3, mentre il secondo WEPAEncToolv30_Config.au3. Rispettate i nomi dati, altrimenti lo script non funzionerà a dovere se non modificato! WEPA Encryption Tool: CODICE #region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_outfile=WEPAEncToolv30.exe #AutoIt3Wrapper_Res_Comment=Cifra/Decifra testo con diversi algoritmi con un sistema puramente casuale. Può impiegare molto tempo su molto testo. #AutoIt3Wrapper_Res_Description=WEPA Encryption Tool #AutoIt3Wrapper_Res_Fileversion=3.0.0.0 #AutoIt3Wrapper_Res_LegalCopyright=Creative Commons #AutoIt3Wrapper_Res_SaveSource=y #AutoIt3Wrapper_Res_Language=1040 #AutoIt3Wrapper_Add_Constants=n #AutoIt3Wrapper_Run_Obfuscator=y #Obfuscator_Parameters=/cs /cn /cf /cv /sci 9 #endregion ;**** Directives created by AutoIt3Wrapper_GUI **** ; ######################################## ; # WEPA Engine Text Encrypter/Decrypter # ; # Security Technologies # ; # Copyright Creative Commons # ; # Version 3.0 # ; ########################################
; NOTA BENE: Questo un criptatore che è in grado di criptare interi documenti (testo, non file). La Password della criptatura è di 200 cifre ed è casuale, non impostabile dall'utente. Il livello di cifratura è pari a 10. Anche per una piccola frase il WEPA Encryption Tool potrebbe impiegare anche più di un minuto e mezzo. Stesso discorso per la decifratura. Anche se sembra che il Software non funzioni, lasciatelo continuare. Sta solo elaborando i dati. ; NON TOCCARE! Sono file inclusi che fanno funzionare il tutto, quindi NON TOCCARE NULLA! #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <String.au3> #include <XXTEA.au3> #include <String.au3> #include <StaticConstants.au3> #include <Base64.au3> #include <RC4.au3>
_Main()
Func _Main() Local $GUI, $String, $EncryptionLevel, $Encrypt, $Decrypt, $EditBox, $EncryptionPassword, $Progress, $ProgressData, $EncryptionOptions, $OptionsMenu, $Exit
; Crea GUI $GUI = GUICreate("WEPA Encryption Tool", 400, 420) ; Crea Stringa da Cifrare $EditBox = GUICtrlCreateEdit('', 5, 5, 380, 350) $Encrypt = GUICtrlCreateButton("Cripta", 170, 360, 105, 35) $Decrypt = GUICtrlCreateButton("Decripta", 285, 360, 105, 35) ; Crea menu Opzioni Criptatura e comando esci(NEW) $OptionsMenu = GUICtrlCreateMenu("File") $EncryptionOptions = GUICtrlCreateMenuItem("Opzioni", $OptionsMenu) GUICtrlCreateMenuItem("", $OptionsMenu) $Exit = GUICtrlCreateMenuItem("Esci", $OptionsMenu) ; Mostra la GUI GUISetState() ;Cripta la Stringa quando si clicca su "Cripta" While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE Exit Case $Encrypt ;Memorizza la stringa e imposta il livello di cifratura $String = GUICtrlRead($EditBox) $EncryptionLevel = 10 ;Controlla che ci sia scritto qualcosa If $String = "" Then MsgBox(16, "WEPA Encryption Tool - Errore", "Prima di criptare inserisci del testo!") $bLoop = 1 Else $bLoop = 0 ;Ferma la GUI quando si elabora la criptatura GUISetState(@SW_DISABLE, $GUI) $Progress = GUICtrlCreateProgress(5, 365, 150, 20) $ProgressData = GUICtrlSetData($Progress, 10)
;Mostra un messaggio di attesa GUICtrlSetData($EditBox, "Attendere Prego. Il Software sta Criptando i Dati.") ;Genera la password $Min = 10 ^ 63712831 $Max = 9 * 10 ^ 63712831 $EncryptionPassword = Random($Min, $Max, 1) ;Criptatura Binaria ANSI, UTF-8, XXTEA, Base64, RC4 e poi HEX If IniRead(@ScriptDir & "\config.ini", "Encryption", "ANSI", "false") = "true" Then $String = StringToBinary($String) EndIf $ProgressData = GUICtrlSetData($Progress, 30) If IniRead(@ScriptDir & "\config.ini", "Encryption", "UTF8", "false") = "true" Then $String = StringToBinary($String, 4) EndIf $ProgressData = GUICtrlSetData($Progress, 40) If IniRead(@ScriptDir & "\config.ini", "Encryption", "XXTEA", "false") = "true" Then $String = _XXTEA_Encrypt($String, $EncryptionPassword) EndIf $ProgressData = GUICtrlSetData($Progress, 60) If IniRead(@ScriptDir & "\config.ini", "Encryption", "Base64", "false") = "true" Then $String = _Base64Encode($String) EndIf $ProgressData = GUICtrlSetData($Progress, 70) If IniRead(@ScriptDir & "\config.ini", "Encryption", "RC4", "false") = "true" Then $String = _RC4($String, $EncryptionPassword) EndIf $ProgressData = GUICtrlSetData($Progress, 80) If IniRead(@ScriptDir & "\config.ini", "Encryption", "Hex", "false") = "true" Then $String = _StringEncrypt(1, $String, $EncryptionPassword, $EncryptionLevel) EndIf $ProgressData = GUICtrlSetData($Progress, 100) ;Mostra il risultato GUICtrlSetData($EditBox, $String) ;Riattiva la GUI GUISetState(@SW_ENABLE, $GUI) Sleep(1000) GUICtrlDelete($Progress) EndIf Case $Decrypt ;Controlla che ci sia scritto qualcosa If $String = "" Then MsgBox(16, "WEPA Encryption Tool - Errore", "Prima di criptare inserisci del testo!") $bLoop = 1 Else $bLoop = 0 ;Ferma la GUI quando si elabora la decriptatura GUISetState(@SW_DISABLE, $GUI) $Progress = GUICtrlCreateProgress(5, 365, 150, 20) $ProgressData = GUICtrlSetData($Progress, 10) ;Memorizza la stringa $String = GUICtrlRead($EditBox) ;Mostra un messaggio di attesa GUICtrlSetData($EditBox, "Attendere Prego. Il Software sta Decriptando i Dati.") ;Decriptatura Binaria ANSI, UTF-8, XXTEA, Base64, RC4 e poi HEX If IniRead(@ScriptDir & "\config.ini", "Encryption", "Hex", "false") = "true" Then $String = _StringEncrypt(0, $String, $EncryptionPassword, $EncryptionLevel) EndIf $ProgressData = GUICtrlSetData($Progress, 30) If IniRead(@ScriptDir & "\config.ini", "Encryption", "RC4", "false") = "true" Then $String = _RC4($String, $EncryptionPassword) EndIf $ProgressData = GUICtrlSetData($Progress, 40) If IniRead(@ScriptDir & "\config.ini", "Encryption", "RC4", "false") = "true" Then $String = BinaryToString($String) EndIf If IniRead(@ScriptDir & "\config.ini", "Encryption", "Base64", "false") = "true" Then $String = _Base64Decode($String) EndIf $ProgressData = GUICtrlSetData($Progress, 60) If IniRead(@ScriptDir & "\config.ini", "Encryption", "Base64", "false") = "true" Then $String = BinaryToString($String) EndIf If IniRead(@ScriptDir & "\config.ini", "Encryption", "XXTEA", "false") = "true" Then $String = _XXTEA_Decrypt($String, $EncryptionPassword) EndIf $ProgressData = GUICtrlSetData($Progress, 80) If IniRead(@ScriptDir & "\config.ini", "Encryption", "UTF8", "false") = "true" Then $String = BinaryToString($String, 4) EndIf $ProgressData = GUICtrlSetData($Progress, 90) If IniRead(@ScriptDir & "\config.ini", "Encryption", "ANSI", "false") = "true" Then $String = BinaryToString($String) EndIf $ProgressData = GUICtrlSetData($Progress, 100) ;Mostra il risultato GUICtrlSetData($EditBox, $String) ;Riattiva la GUI GUISetState(@SW_ENABLE, $GUI) Sleep(1000) GUICtrlDelete($Progress) EndIf Case $EncryptionOptions ;====> v3.0 NEW! GUISetState(@SW_DISABLE, $GUI) Local $OptionsGUI, $OptionsOK, $OptionsExit, $ANSI, $UTF8, $XXTEA, $RC4, $Base64, $Hex, $bLoop
If Not FileExists(@ScriptDir & "\config.ini") Then GUICtrlSetData($ANSI, $GUI_CHECKED) GUICtrlSetData($UTF8, $GUI_CHECKED) GUICtrlSetData($XXTEA, $GUI_CHECKED) GUICtrlSetData($Base64, $GUI_CHECKED) GUICtrlSetData($RC4, $GUI_CHECKED) GUICtrlSetData($Hex, $GUI_CHECKED) EndIf $OptionsGUI = GUICreate("WEPA Encryption Tool - Opzioni", 350, 350, -1, -1, $WS_CAPTION + $WS_POPUP + $WS_SYSMENU, -1) GUICtrlCreateLabel("WEPA Encryption Tool - Opzioni", 5, 5) GUICtrlCreateGroup("Algoritmi utilizzati per la criptatura:", 5, 25, 250, 250) GUICtrlCreateLabel("ANSI", 15, 45) $ANSI = GUICtrlCreateCheckbox("Attiva/Disattiva", 65, 42) GUICtrlCreateLabel("UTF-8", 15, 75) $UTF8 = GUICtrlCreateCheckbox("Attiva/Disattiva", 65, 72) GUICtrlCreateLabel("XXTEA", 15, 105) $XXTEA = GUICtrlCreateCheckbox("Attiva/Disattiva", 65, 102) GUICtrlCreateLabel("Base64", 15, 135) $Base64 = GUICtrlCreateCheckbox("Attiva/Disattiva", 65, 132) GUICtrlCreateLabel("RC4", 15, 165) $RC4 = GUICtrlCreateCheckbox("Attiva/Disattiva", 65, 162) GUICtrlCreateLabel("HEX", 15, 195) $Hex = GUICtrlCreateCheckbox("Attiva/Disattiva", 65, 192) $OptionsOK = GUICtrlCreateButton("OK", 250, 300, 75, 30) $OptionsExit = GUICtrlCreateButton("Annulla", 170, 300, 75, 30) GUISetState() While 1 Switch GUIGetMsg() Case $OptionsOK If GUICtrlRead($ANSI) = $GUI_CHECKED Then IniWrite(@ScriptDir & "\config.ini", "Encryption", "ANSI", "true") Else IniWrite(@ScriptDir & "\config.ini", "Encryption", "ANSI", "false") EndIf If GUICtrlRead($UTF8) = $GUI_CHECKED Then IniWrite(@ScriptDir & "\config.ini", "Encryption", "UTF8", "true") Else IniWrite(@ScriptDir & "\config.ini", "Encryption", "UTF8", "false") EndIf If GUICtrlRead($XXTEA) = $GUI_CHECKED Then IniWrite(@ScriptDir & "\config.ini", "Encryption", "XXTEA", "true") Else IniWrite(@ScriptDir & "\config.ini", "Encryption", "XXTEA", "false") EndIf If GUICtrlRead($Base64) = $GUI_CHECKED Then IniWrite(@ScriptDir & "\config.ini", "Encryption", "Base64", "true") Else IniWrite(@ScriptDir & "\config.ini", "Encryption", "Base64", "false") EndIf If GUICtrlRead($RC4) = $GUI_CHECKED Then IniWrite(@ScriptDir & "\config.ini", "Encryption", "RC4", "true") Else IniWrite(@ScriptDir & "\config.ini", "Encryption", "RC4", "false") EndIf If GUICtrlRead($Hex) = $GUI_CHECKED Then IniWrite(@ScriptDir & "\config.ini", "Encryption", "Hex", "true") Else IniWrite(@ScriptDir & "\config.ini", "Encryption", "Hex", "false") EndIf If FileExists(@ScriptDir & "\config.ini") Then MsgBox(64, "WEPA Encryption Tool - Opzioni", "La Configurazione è stata Salvata con Successo!") ExitLoop Else MsgBox(16, "WEPA Encryption Tool - Opzioni", "Durante il salvataggio della Configurazione, si è verificato un errore." & @CRLF & "" & @CRLF & "Descrizione:" & @CRLF & "Il file " & "config.ini" & " non è stato creato correttamente o la creazione di uno nuovo è fallita.") ExitLoop EndIf Case $GUI_EVENT_CLOSE ExitLoop Case $OptionsExit Dim $iMsgBoxAnswer $iMsgBoxAnswer = MsgBox(308, "WEPA Encryption Tool - Opzioni", "Sei sicuro di uscire dalla Configurazione di WEPA Encryption Tool? Se sì, perderai tutte le modifiche non salvate!") Select Case $iMsgBoxAnswer = 6 ;Yes ExitLoop Case $iMsgBoxAnswer = 7 ;No $bLoop = 1 EndSelect EndSwitch WEnd GUIDelete($OptionsGUI) GUISwitch($GUI) Case $Exit Exit EndSwitch WEnd EndFunc ;==>_Main Se ci sono bug, suggerimenti ecc... ditemelo! EDIT: Aggiornato il codice. Usate Questo nuovo. Edited by FrontBack - 4/10/2010, 18:28
| | |
| |
|