Password Manager beta, un semplice password manager da migliorare

« Older   Newer »
  Share  
icon12  CAT_IMG Posted on 4/1/2022, 15:00     +1   -1
Avatar

So creare belle gui

Group:
Member
Posts:
374
Reputazione:
0
Location:
C:\Windows\System32 \hacktooth.exe

Status:


Eh si, son passati 10 anni dall'ultimo progetto che ho postato...

E niente le cose non sono cambiate, in fondo ero povero e son rimasto povero,

Avendo 30 mila account su piattaforme diverse mi sono sentito di avere necessità di un password manager, tutto questo per aumentare la sicurezza dei miei accounts.

Niente le alternative che ci sono online sinceramente non mi aggradano molto, e sono anche abbastanza diffidente di piattaforme gratuite o che costano poco.

Quindi ho detto perchè non crearne uno da zero con il mio amato Autoit?

CODICE
#NoTrayIcon
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=C:\Users\hackt\Downloads\password_2_.ico
#AutoIt3Wrapper_Outfile=Password Manager v1 x86.Exe
#AutoIt3Wrapper_Outfile_x64=Password Manager v1 x64.Exe
#AutoIt3Wrapper_UseUpx=y
#AutoIt3Wrapper_Compile_Both=y
#AutoIt3Wrapper_UseX64=y
#AutoIt3Wrapper_Res_Comment=Un semplice ma efficace Password Manager
#AutoIt3Wrapper_Res_Fileversion=0.8
#AutoIt3Wrapper_Res_CompanyName=hacktooth
#AutoIt3Wrapper_Res_LegalCopyright=hacktooth
#AutoIt3Wrapper_Res_Language=1040
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

;Password manager beta version
;26/12/2021
;by hacktooth

#comments-start

Bug fix e implementazione di funzionalità
       -------------------------------------------------------------------------------------------------
Legenda implementazione di funzionalità
+++ = Priorità massima
++ = Priorità media
+ = Priorità bassa (non è detto che venga aggiunta)
       -------------------------------------------------------------------------------------------------
Legenda Bug fix
*** = Critico ( da attribuire solo per motivi di sicurezza dei dati )
** = Grave
* = Lieve
       -------------------------------------------------------------------------------------------------
IMPLEMENTAZIONE FUNZIONALITA'
+++ Aggiungere la rimozione degli accounts
+++ Aggiungere la modifica dei records su _readrec()
       ++ Aggiungere Importazione/Esportazione file settings.ini
       ++ Implementare la categorizzazione degli Accounts per tipo esempio (Email, Shopping, Socials, Games, etc ...)
               + Orientare il funzionamento del Software su soluzioni in Cloud
               + Far chiudere la finestra GUI_addrec() una volta aggiunto l'account
               + Nella finestra principale [GUI_main()] visualizzare i records degli Accounts solo dopo aver premuto INVIO
                 e non più tramite Click DX del mouse
       -------------------------------------------------------------------------------------------------
BUG NOTI
** GUI_main() non risponde ai comandi solo dopo 3 click su GUI_CLOSE_EVENT
       Come generare il bug :
       Su GUI_main() cliccare su un record        appare GUI_readrec(),
       cliccare successivamente il pulsante per visualizzare i record cifrati
       chiudere GUI_readrec() per ritornare su GUI_main()
       -------------------------------------------------------------------------------------------------
       * Altezza di GUI_readrec() non è sempre proporzionale al numero totale di records su un Account
               Come generare il bug :
               Da GUI_main() selezionare un Account con records totali superiori a 3
       * Su GUI_addField() non inserire records se il testo di Default nelle label non è stato cambiato

#comments-end

#include <File.au3>
#include <FileConstants.au3>
#include <APIFilesConstants.au3>
#include <WinAPIFiles.au3>
#include <Crypt.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

Global $userreg , $masterpassreg , $login , $username, $masterpass, $user, $masterkey, $nameuser, $Main, $login, $List1, $vListItem, $insrec, $Checkbox1, $Checkbox2, $recName, $recName1
Global $recValue, $recValue1, $sh, $hide, $ReadRecGUI
Global Const $key = "QUI DOVRETE INSERIRE LA PASSWORD PER CIFRARE E DECIFRARE I RECORDS"
Global Const $settingfile = "settings.ini"
Global Const $name = "Password manager"
Global Const $tempFolder = @TempDir & "\"
Global Const $copyIco = @TempDir & "\copy.ico"
Global Const $Height = 75, $top = 16
Global $left = 16

;_TEMPFILE(DIR[OPTIONAL PREFIX], EXSTENSION, LENG OF CHARACTER TO USE TO GENERATE A UNIQUE NAME)

Global Enum $NARRAY, $FIELD1, $FIELD2, $VALUE1, $VALUE2
Global $aRead[5]

DirCreate($sFilePath)

FileInstall("&#8234;F:\Autoit\passwordmanager\icon\eye.ico",@TempDir&"\eye.ico", 1)
FileInstall("&#8234;F:\Autoit\passwordmanager\icon\copy.ico",@TempDir&"\copy.ico", 1)

_Crypt_Startup() ; To optimize performance start the crypt library, though the same results will be shown if it isn't.

_login()

Func _login()

Do
;Controllo se esiste un file Utente, altrimenti chiedo di effettuare la registrazione
If Not FileExists($settingfile) Then
       $iMsgBoxAnswer = MsgBox(262196,$name,"I nostri cani altamente addrestrati hanno scoperto che nessun account stato registrato fino ad oggi!" & @CRLF & @CRLF & _
                                                                                                       "Vuoi creare un nuovo account o vuoi importare un vecchio account esistente?")
       Select
               Case $iMsgBoxAnswer = 6 ;Yes
                       _reg()
                       ExitLoop
               Case $iMsgBoxAnswer = 7 ;No
                       ExitLoop
       EndSelect
Else
       ExitLoop
EndIf
Until False

$login = GUICreate("Login", 251, 301, -1, -1)
       GUISetFont(10, 400, 0, "Segoe UI")
$Label1 = GUICtrlCreateLabel("User", 16, 24, 31, 21)
$username = GUICtrlCreateInput("", 16, 48, 217, 25, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))
       GUICtrlSetFont(-1, 10, 400, 2, "Segoe UI")
$Label2 = GUICtrlCreateLabel("Master Password", 16, 88, 105, 21)
$masterpass = GUICtrlCreateInput("", 16, 112, 217, 25, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER, $ES_PASSWORD))
       GUICtrlSetFont(-1, 10, 400, 2, "Segoe UI")
$sign = GUICtrlCreateButton("Sign In", 16, 168, 217, 25)
$reg = GUICtrlCreateLabel("New user? register an account now", 17, 208, 217, 21, $SS_CENTER)
       GUICtrlSetCursor (-1, 0)
       GUICtrlSetFont(-1, 10, 400, 4, "Segoe UI")
       GUICtrlSetColor(-1, 0x0066CC)
       GUISetState(@SW_SHOW,$login)

While 1
       $nMsg = GUIGetMsg()
       Switch $nMsg
               Case $GUI_EVENT_CLOSE
                       _esci()
               Case $sign
                               _checkreg(GUICtrlRead($username), GUICtrlRead($masterpass))
                               If @error = "2" Then
                                       MsgBox(262160,$name,"Username o MasterKey errati! Riprova")
                               ElseIf @error = "1" Then
                                       MsgBox(16,"-.-","I nostri cani non addestrati ti stanno guardando migliorando la loro autostima," & _
                                                                       " esseri viventi più stupidi di loro esistono! Ecco adesso riprova magari inserendo User o Password ASINO")
                               Else
                                       $nameuser = GUICtrlRead($username)
                                       GUIDelete($login)
                                       ExitLoop
                               EndIf
               Case $reg
                       _reg()
       EndSwitch
WEnd

_main()

EndFunc

Func _reg()

$reggui = GUICreate("Registration", 298, 277, -1, -1)
       GUISetFont(8, 400, 0, "Segoe UI")
$userreg = GUICtrlCreateInput("Insert your username", 16, 24, 265, 25)
       GUICtrlSetFont(-1, 10, 400, 2, "Segoe UI")
$masterpassreg = GUICtrlCreateInput("Insert master password", 16, 64, 265, 25)
       GUICtrlSetFont(-1, 10, 400, 2, "Segoe UI")
$Label1 = GUICtrlCreateLabel("If you don't remember this password, you cannot access to your account, and yes you are a dumb donkey!", 18, 108, 266, 50, $SS_CENTER)
       GUICtrlSetFont(-1, 10, 400, 6, "Segoe UI")
       GUICtrlSetColor(-1, 0x0066CC)
$Register = GUICtrlCreateButton("Register", 16, 174, 265, 25)
       GUICtrlSetFont(-1, 10, 400, 0, "Segoe UI")
$Back = GUICtrlCreateButton("Back", 16, 210, 265, 25)
       GUICtrlSetFont(-1, 10, 400, 0, "Segoe UI")
$importa = GUICtrlCreateButton("Importa", 208, 248, 73, 17)
       GUICtrlSetColor(-1, 0x0066CC)

       GUISetState(@SW_SHOW,$reggui)

While 1
       $nMsg = GUIGetMsg()
       Switch $nMsg
               Case $GUI_EVENT_CLOSE, $Back
                       GUIDelete($reggui)
                       GUISwitch($login)
                       ExitLoop
               Case $Register
                       _writereg()
                       If @error Then
                               MsgBox(16,"-.-","I nostri cani non addestrati ti stanno guardando migliorando la loro autostima," & _
                                                               " esseri viventi più stupidi di loro esistono! Ecco adesso riprova magari inserendo User o Password ASINO")
                       Else
                               MsgBox(64,$name,"Registration Complete!")
                               GUIDelete($reggui)
                               GUISwitch($login)
                               ExitLoop
                       EndIf
               Case $importa
                       MsgBox("","Coming soon","Coming soon")
       EndSwitch
WEnd

EndFunc

Func _main()

$Main = GUICreate("Benvenuto " & $user, 426, 413, 200, 149)
$Menu = GUICtrlCreateMenu("&Menù")
$new = GUICtrlCreateMenuItem("New"&@TAB&"Shift+Ctrl+F17", $Menu)
$settings = GUICtrlCreateMenuItem("Settings"&@TAB&"Ctrl+Space", $Menu)
$about = GUICtrlCreateMenuItem("About", $Menu)
$List1 = GUICtrlCreateList("", 0, 0, 425, 329)
       GUICtrlSetData(-1, "")
       GUICtrlSetFont(-1, 10, 400, 0, "Segoe UI")
$addRec = GUICtrlCreateButton("Aggiungi Accounts", 224, 344, 177, 33)
       GUICtrlSetFont(-1, 10, 400, 0, "Segoe UI")
$removeRec = GUICtrlCreateButton("Rimuovi (coming soon)", 16, 344, 177, 33)
       GUICtrlSetFont(-1, 10, 400, 0, "Segoe UI")
#cs
Dim $Main_AccelTable[2][2] = [["^+{F17}", $new],["^{SPACE}", $settings]]
       GUISetAccelerators($Main_AccelTable)
#ce

_updategui()

GUISetState(@SW_SHOW,$Main)

While 1
       $nMsg = GUIGetMsg()
       Switch $nMsg
               Case $GUI_EVENT_CLOSE
                       _esci()
               Case $new, $addRec
                       _insrec()
                       _updategui()
               Case $settings
               Case $about
                       _about()
               Case $removeRec
               Case $List1
                       _readrec()
       EndSwitch
WEnd

EndFunc

Func _insrec() ;Inserisce un Account

$insrec = GUICreate("Aggiungi Account", 514, 331, 306, 209)
       GUISetFont(10, 400, 0, "Segoe UI")
$Group1 = GUICtrlCreateGroup("New Account", 16, 8, 481, 305)
$Label10 = GUICtrlCreateLabel("Account name :", 48, 48, 110, 25)
       GUICtrlSetFont(-1, 12, 400, 0, "Segoe UI")
       GUICtrlSetColor(-1, 0x0066CC)
$sAccount = GUICtrlCreateInput("", 160, 48, 305, 25)
$Label11 = GUICtrlCreateLabel("Email :", 109, 96, 50, 25)
       GUICtrlSetFont(-1, 12, 400, 0, "Segoe UI")
       GUICtrlSetColor(-1, 0x0066CC)
$sEmail = GUICtrlCreateInput("", 160, 96, 305, 25)
$Label12 = GUICtrlCreateLabel("Username :", 76, 144, 82, 25)
       GUICtrlSetFont(-1, 12, 400, 0, "Segoe UI")
       GUICtrlSetColor(-1, 0x0066CC)
$sUser = GUICtrlCreateInput("(facoltativo)", 160, 144, 305, 25)
$Label13 = GUICtrlCreateLabel("Password :", 81, 192, 78, 25)
       GUICtrlSetFont(-1, 12, 400, 0, "Segoe UI")
GUICtrlSetColor(-1, 0x0066CC)
$sPass = GUICtrlCreateInput("", 160, 192, 305, 25, BitOR($GUI_SS_DEFAULT_INPUT,$ES_PASSWORD))
$annulla = GUICtrlCreateButton("Cancel", 336, 264, 129, 33)
$addrecs = GUICtrlCreateButton("Aggiungi Account", 192, 264, 129, 33)
       GUICtrlCreateGroup("", -99, -99, 1, 1)
$tip = GUICtrlCreateLabel("Per creare altre voci bisogna prima registrare questi campi obbligatori", 44, 232, 424, 25)
       GUICtrlSetColor(-1, 0xFF0000)
       GUISetState(@SW_SHOW, $insrec)

While 1
       $nMsg = GUIGetMsg()
       Switch $nMsg
               Case $GUI_EVENT_CLOSE, $annulla
                       GUIDelete($insrec)
                       GUISwitch($Main)
                       ExitLoop
               Case $addrecs
                       _addrec(GUICtrlRead($sAccount), GUICtrlRead($sUser), GUICtrlRead($sEmail), GUICtrlRead($sPass))
       EndSwitch
WEnd

EndFunc

Func _updategui() ;Aggiorna la GUI principale

       GUICtrlSetData($List1, "") ;Flush lista
       Local $aArray = IniReadSectionNames($settingfile)
       If Not @error Then
               For $i = 2 To $aArray[0]
                       GUICtrlSetData($List1, $aArray[$i] & "|")
               Next
       Else
               MsgBox(16,"Errore","Possibili cause:" & @CRLF & "Cancellazione o spostamento volontaria del file settings")
       EndIf

EndFunc

Func _readrec()

       $hide = 1

       Local $top1 = $top
       Local $guiHeight = $Height
       Local $iPosition

       $vListItem = GUICtrlRead($List1)

       If $vListItem = "" Then Return

       ;Read the keys and its values
       Local $aReadSect = IniReadSection($settingfile, $vListItem)

       $aLabel = $aReadSect[0][0]
       $aInput = $aReadSect[0][0]

       $iNum = UBound($aReadSect)

       $guiHeight = ($iNum - 1) * $Height
       $ReadRecGUI = GUICreate($vListItem, 585, $guiHeight, 192, 124)

       Local $aLabel[$iNum]
       Local $aInput[$iNum]

       If $sh = 1 Then
               For $i = 1 To $iNum -1
                       $iPosition = StringInStr($aReadSect[$i][1], "0x")
                               If $iPosition = 1 Then
                                       $aReadSect[$i][1] = StringEncrypt(False, $aReadSect[$i][1], $key)
                               EndIf
               Next
               $sh = Null
               $hide = 0
       EndIf


       ;For cicle to create a GUI depends on Array Rows becouse on IniReadSections we have a Two dimensional Array like that
       #cs dim an array of 2 dimensions like that---------
       $aReadSect[0][0] = Total values Quantity
   $aReadSect[1][0] = 1st Key
   $aReadSect[1][1] = 1st Value
   $aReadSect[2][0] = 2nd Key
   $aReadSect[2][1] = 2nd Value
   ...
   $aReadSect[n][0] = nth Key
   $aReadSect[n][1] = nth Value
       #ce -----------------------------------------------
       ;~ $inum = UBound($aReadSect) already written on line 255

       For $i = 1 To $iNum -1
               $aLabel[$i] = GUICtrlCreateLabel(($aReadSect[$i][0]), $left, $top1, 489, 24)
                       GUICtrlSetFont(-1, 12, 400, 0, "Segoe UI")
                       GUICtrlSetColor(-1, 0x0066CC)
               $aInput[$i] = GUICtrlCreateInput(($aReadSect[$i][1]), $left, $top1 + 24, 489, 21)
               $top1 = $top1 + 50
       Next
       Local $copyToClip = GUICtrlCreateButton("", 520, 24, 49, 49, $BS_ICON)
               GUICtrlSetTip($copyToClip,"Copia Password nella clipboard")
               GUICtrlSetImage(-1, @TempDir&"\edit.ico", -1)
       Local $show = GUICtrlCreateButton("", 520, 87, 49, 49, $BS_ICON)
       GUICtrlSetImage(-1, @TempDir&"\eye.ico", -1)
       $modButton = GUICtrlCreateButton("Accetta modifiche", 336, $guiHeight - 52, 113, 41)
       $cancelButton = GUICtrlCreateButton("Annulla modifiche", 456, $guiHeight -52, 113, 41)
       $addNewField = GUICtrlCreateButton("Aggiungi Records", 216, $guiHeight -52, 113, 41)
               GUISetState(@SW_SHOW,$ReadRecGUI)

       While 1
       $nMsg = GUIGetMsg()
       Switch $nMsg
               Case $GUI_EVENT_CLOSE
                       GUIDelete($ReadRecGUI)
                       GUISwitch($Main)
                       ExitLoop
               Case $copyToClip
               Case $addNewField
                       _addField()
                       GUIDelete($ReadRecGUI)
                       _readrec() ;Aggiorno la GUI per visualizzare le nuove voci
               Case $show
                       If $hide = 1 Then $sh = 1
                       GUIDelete($ReadRecGUI)
                       _readrec()
       EndSwitch
WEnd

EndFunc

Func _addField()

$addrecGUI = GUICreate("Add Records", 515, 274, 253, 152)
$recLabel1 = GUICtrlCreateLabel("Record 1°", 16, 16, 72, 25)
       GUICtrlSetFont(-1, 12, 400, 0, "Segoe UI")
       GUICtrlSetColor(-1, 0x0066CC)
$recName = GUICtrlCreateInput("Inserisci il nome del Record", 16, 48, 481, 21)
$recValue = GUICtrlCreateInput("Inserisci il valore del Record", 16, 80, 481, 21)
$recLabel2 = GUICtrlCreateLabel("Record 2°", 16, 120, 72, 25)
       GUICtrlSetFont(-1, 12, 400, 0, "Segoe UI")
       GUICtrlSetColor(-1, 0x0066CC)
$recName1 = GUICtrlCreateInput("Inserisci il nome del Record", 16, 152, 481, 21)
$recValue1 = GUICtrlCreateInput("Inserisci il valore del Record", 16, 184, 481, 21)
$Checkbox1 = GUICtrlCreateCheckbox("Cripta Record", 408, 16, 89, 25)
$Checkbox2 = GUICtrlCreateCheckbox("Cripta Record", 408, 120, 89, 25)
$okButton = GUICtrlCreateButton("Aggiungi Records", 197, 224, 121, 33)
$cancelButton1 = GUICtrlCreateButton("Annulla", 376, 224, 121, 33)
       GUISetState(@SW_SHOW,$addrecGUI)


While 1
       $nMsg = GUIGetMsg()
       Switch $nMsg
               Case $GUI_EVENT_CLOSE , $cancelButton1
                       GUIDelete($addrecGUI)
                       GUISwitch($ReadRecGUI)
                       ExitLoop
               Case $okButton
                       _writeField()
                       GUIDelete($addrecGUI)
                       GUISwitch($ReadRecGUI)
                       ExitLoop
       EndSwitch
WEnd

EndFunc

Func _writeField()

       $aRead [$NARRAY] = UBound($aRead)                                ;Numero dimensioni array
       $aRead [$FIELD1] = GUICtrlRead($recName)                ;Legge il Nome del Record 1
       $aRead [$FIELD2] = GUICtrlRead($recName1)                ;Legge il Nome del Record 2
       $aRead [$VALUE1] = GUICtrlRead($recValue)                ;Legge il Valore del Record 1
       $aRead [$VALUE2] = GUICtrlRead($recValue1)                ;Legge il Valore del Record 2

       Local $vEn1, $vEn2

       If $aRead [$VALUE1] = "" Then Return

       ;Controllo se devo criptare il primo valore altrimenti lo scrivo in chiaro
       If _IsChecked($Checkbox1) Then
               $vEn1 = StringEncrypt(True, $aRead [$VALUE1], $key)
               IniWrite($settingfile, $vListItem, $aRead [$FIELD1], $vEn1)

       Else
               IniWrite($settingfile, $vListItem, $aRead [$FIELD1], $aRead[$VALUE1])
       EndIf

       If $aRead[$FIELD2] = "" Then
               MsgBox(64,"Okay","Dati aggiunti con successo!")
               Return ;Se nel campo 2 non è inserito nessuna voce termino la funzione
       EndIf

       ;Controllo se devo criptare il secondo valore altrimenti lo scrivo in chiaro
       If _IsChecked($Checkbox2) Then
               $vEn2 = StringEncrypt(True, $aRead [$VALUE2], $key)
               IniWrite($settingfile, $vListItem, $aRead [$FIELD2], $vEn2)

       Else
               IniWrite($settingfile, $vListItem, $aRead [$FIELD2], $aRead[$VALUE2])
       EndIf

       MsgBox(64,"Okay","Dati aggiunti con successo!")

EndFunc

Func _addrec($account, $uRec, $email ,$pRec) ;Funzione custom per aggiungere i record e se necessario oscurarli

       If $account = "" Then
               MsgBox(16,"","Nothing to add -.-",1)
               Return
       EndIf

       Local $uEncrypted = StringEncrypt(True, $uRec, $key)
       Local $pEncrypted = StringEncrypt(True, $pRec, $key)

       IniWrite($settingfile, $account, "Username", $uEncrypted)
       IniWrite($settingfile, $account, "Email", $email)
       IniWrite($settingfile, $account, "Password", $pEncrypted)

       MsgBox(64,"Added","Record added successfully!")

EndFunc

Func _writereg()

       Local $user = GUICtrlRead($userreg)
       Local $masterkey = GUICtrlRead($masterpassreg)

       If $user == "" And $masterkey == "" Then
               SetError(1)
               Return
       EndIf

       Local $uEncrypted = StringEncrypt(True, $user, $key)
       Local $mkEncrypted = StringEncrypt(True, $masterkey, $key)

       ;Creo il file setting.ini nella script directory
       If Not _FileCreate($settingfile) Then
               MsgBox($MB_SYSTEMMODAL, "Error", " Error Creating/Resetting.      error:" & @error)
       EndIf

       ;Write Data
       IniWrite($settingfile, "User", "username", $uEncrypted)
       IniWrite($settingfile, "User", "key", $mkEncrypted)

       MsgBox($MB_SYSTEMMODAL, "Attenzione", "Non dimenticare mai queste info, stampale se necessario oppure scrivilo" & _
                       " o ricordalo a mente, non avrai modo di accedere alle tue password dimenticando la MasterKey." & @CRLF & @CRLF & _
                       "User: " & $user & @CRLF & _
                       "Master Key: " & $masterkey)

       ;Destroy data
       $user = Null
       $masterkey = Null
       $uEncrypted = Null
       $mkEncrypted = Null

EndFunc

Func StringEncrypt($bEncrypt, $sData, $sPassword)

       Local $vReturn = ""

       If $sData == "" Then Return

       If $bEncrypt Then
               $vReturn = _Crypt_EncryptData($sData, $sPassword, $CALG_AES_256)
       Else
               $vReturn = BinaryToString(_Crypt_DecryptData($sData, $sPassword, $CALG_AES_256))
       EndIf

       Return $vReturn

EndFunc   ;==>StringEncrypt

Func _checkreg($iUser, $iPass)

       Local $vReturn = ""

               If $iUser == "" And $iPass == "" Then
                       SetError(1)
                       Return $vReturn
               EndIf

       ;Leggo settings.ini Sezione User
       Local $uRead = IniRead($settingfile, "User", "username", "Default Value")
       Local $mkRead = IniRead($settingfile, "User", "key", "Default Value")

       Local $uEncrypted = StringEncrypt(True, $iUser, $key)
       Local $mkEncrypted = StringEncrypt(True, $iPass, $key)

       ;checking data
       If $uRead <> $uEncrypted Or $mkRead <> $mkEncrypted Then
               $vReturn = False
               SetError(2)
       Else
               $vReturn = True
               MsgBox(64,$name,"Access Granted!")
       EndIf

       Return $vReturn
EndFunc

Func _IsChecked($idControlID) ;Controlla se le checkbox sono spuntate o meno
       Return BitAND(GUICtrlRead($idControlID), $GUI_CHECKED) = $GUI_CHECKED
EndFunc

Func _about()
       MsgBox(64,"About","Password Manager created by : Giuseppe 'hacktooth' Catania" & @CRLF & "Reason : Too bored, too poor for pay Dashline" & @CRLF & "When: on december 2021")
EndFunc

Func _esci()

       If Not IsDeclared("iMsgBoxAnswer") Then Local $iMsgBoxAnswer
       $iMsgBoxAnswer = MsgBox(36,"Esci","Sei sicuro di uscire dal programma :(")
       Select
               Case $iMsgBoxAnswer = 6 ;Sì
                       _Crypt_Shutdown() ; Shutdown the crypt library.
                       Exit
       EndSelect

EndFunc


Bug track e implementazione di funzionalità
-------------------------------------------------------------------------------------------------
Legenda implementazione di funzionalità
+++ = Priorità massima
++ = Priorità media
+ = Priorità bassa (non è detto che venga aggiunta)
-------------------------------------------------------------------------------------------------
Legenda Bug fix
*** = Critico ( da attribuire solo per motivi di sicurezza dei dati )
** = Grave
* = Lieve
-------------------------------------------------------------------------------------------------
IMPLEMENTAZIONE FUNZIONALITA'
+++ Aggiungere la rimozione degli accounts
+++ Aggiungere la modifica dei records su _readrec()
++ Aggiungere Importazione/Esportazione file settings.ini
++ Implementare la categorizzazione degli Accounts per tipo esempio (Email, Shopping, Socials, Games, etc ...)
+ Orientare il funzionamento del Software su soluzioni in Cloud
+ Far chiudere la finestra GUI_addrec() una volta aggiunto l'account
+ Nella finestra principale [GUI_main()] visualizzare i records degli Accounts solo dopo aver premuto INVIO
e non più tramite Click DX del mouse
-------------------------------------------------------------------------------------------------
BUG NOTI
** GUI_main() non risponde ai comandi solo dopo 3 click su GUI_CLOSE_EVENT
Come generare il bug :
Su GUI_main() cliccare su un record appare GUI_readrec(),
cliccare successivamente il pulsante per visualizzare i record cifrati
chiudere GUI_readrec() per ritornare su GUI_main()
-------------------------------------------------------------------------------------------------
* Altezza di GUI_readrec() non è sempre proporzionale al numero totale di records su un Account
Come generare il bug :
Da GUI_main() selezionare un Account con records totali superiori a 3
* Su GUI_addField() non inserire records se il testo di Default nelle label non è stato cambiato
 
Top
0 replies since 4/1/2022, 15:00   35 views
  Share