WEPA Encryption Tool, Il mio primo programma, è una sciocchezza...

« Older   Newer »
  Share  
FrontBack
CAT_IMG Posted on 3/10/2010, 17:51     +1   -1




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! image)

ATTENZIONE: lo spoiler sfasa parecchio la pagina!

Sono due source. Salvateli tutti e due. Il primo con il nome diWEPAEncToolv30.au3, mentre il secondo WEPAEncToolv30_Config.au3.
Rispettate i nomi dati, altrimenti lo script non funzionerà a dovere se non modificato!

WEPA Encryption Tool:
SPOILER (click to view)
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
 
Top
MHack
CAT_IMG Posted on 3/10/2010, 20:00     +1   -1




Adesso sono su Ubuntu e non dovrebbe funzionare come su windows, quindi aspetto. Ma guardando un pò il codice mi sembra un bel programma :)
 
Top
xMasteRx
CAT_IMG Posted on 4/10/2010, 03:59     +1   -1




bello, mi piace per la semplicità lol

2 notazioni
loooooooooooool
$EncryptionPassword = Random(10^63712831, 9*10^63712831, 1)
XDXD più sicuro di così... XD

ma looooooooooooooooooooooooool
un ciao !@# si trasforma in un qualcosa con 118784 caratteri quando attivi tutte le opzioni di crittazione XD

comunque, il menù delle opzioni non funziona u.u [non mettere ShellExecute su un file .au3 eh, non tutti hanno l'opzioni contestuale di windows per runnare i script lol]

buono² ;)

@MHack con wine dovrebbe funzionare, non usa nessuna dll [magari con qualche algoritmo di crittazione come MD5 dovrebbe non funzionare u.u] lool
 
Top
FrontBack
CAT_IMG Posted on 4/10/2010, 17:13     +1   -1




Grazie xMasteRx, ho aggiornato il codice. ;)
 
Top
xMasteRx
CAT_IMG Posted on 4/10/2010, 17:20     +1   -1




buono ;)
comunque, quando si chiude la finestra di configurazione si chiude tutto u.u

Cambia i Exit del loop della finestra impostazioni con ExitLoop

e alla fine del loop, cambia
GUISetState(@SW_ENABLE, $GUI)
con
GUIDelete($OptionsGUI)
GUISwitch($GUI)
 
Top
4 replies since 3/10/2010, 17:51   186 views
  Share