RestrictedUser Posted March 9, 2019 Share Posted March 9, 2019 (edited) I had created login form and this form first goes to de-crypting file that encrypted then read the saved credentials by de-cryptied file, but doesn't work properly! I want just read encrypted data without saving de-crypted file, just read! expandcollapse popup#NoTrayIcon #include <Crypt.au3> #include <FileConstants.au3> #include <MsgBoxConstants.au3> #include <ButtonConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> ;==================================Variables=================================== ;Encryption settings _Crypt_Startup() $PEK = _Crypt_DeriveKey("BS#Password", $CALG_AES_256, $CALG_SHA_512) $DefaultCredFile = "[Credentials]" & @CRLF & "BUsername=NoAdmin" & @CRLF & "BPassword=NoAdmin" & @CRLF & "[Process]" & @CRLF & "ProcessKillingTimeout=3600" $EncryptDefaultCred = _Crypt_EncryptData($DefaultCredFile, $PEK, $CALG_AES_256) $IniReadCredPassword = IniRead(@WindowsDir & "\Config\GUIDecCred.dat", "Credentials", "BPassword", "") $IniReadCredUsername = IniRead(@WindowsDir & "\Config\GUIDecCred.dat", "Credentials", "BUsername", "") ;==================================Variables=================================== AuthForm() Func AuthForm() Global $LoginForm = GUICreate("Login", 201, 161, -1, -1) Global $CloseBTN = GUICtrlCreateButton("Close", 23, 126, 75, 25) Global $SignInBTN = GUICtrlCreateButton("Sign-in", 103, 126, 75, 25) GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif") Global $PasswordInput = GUICtrlCreateInput("admin", 8, 88, 185, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER,$ES_PASSWORD)) Global $UsernameInput = GUICtrlCreateInput("admin", 8, 40, 185, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER)) Global $UsernameLBL = GUICtrlCreateLabel("Username:", 8, 21, 55, 17) Global $PasswordLBL = GUICtrlCreateLabel("Password:", 8, 68, 53, 17) GUISetState(@SW_SHOW) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $SignInBTN AuthProcess() EndSwitch WEnd EndFunc AuthProcess() Func AuthProcess() $ReadEnteredUsername = GUICtrlRead($UsernameInput) $ReadEnteredPassword = GUICtrlRead($PasswordInput) If Not FileExists(@WindowsDir & "\Config\GUIEncCred.dat") Then FileDelete(@WindowsDir & "\Config\GUIDecCred.dat") ;Delete previous de-crypted credentials FileWrite(@WindowsDir & "\Config\GUIEncCred.dat", $EncryptDefaultCred) ;Write en-crypted credentials as "*.dat" file FileClose(@WindowsDir & "\Config\GUIEncCred.dat") ;Close en-crypted credentials file _Crypt_DecryptFile(@WindowsDir & "\Config\GUIEncCred.dat", @WindowsDir & "\Config\GUIDecCred.dat", $PEK, $CALG_AES_256) ;Write de-crypted file from an en-crypted file as "*.dat" file Else _Crypt_DecryptFile(@WindowsDir & "\Config\GUIEncCred.dat", @WindowsDir & "\Config\GUIDecCred.dat", $PEK, $CALG_AES_256) ;Write de-crypted file from an en-crypted file as "*.dat" file EndIf Sleep(25) If $ReadEnteredUsername == $IniReadCredUsername And $ReadEnteredPassword == $IniReadCredPassword Then ;Username and Password verify stage MsgBox(64, "", "Welcome!") FileDelete(@WindowsDir & "\Config\GUIDecCred.dat") Exit Else MsgBox(14, "", "Incorrect!") FileDelete(@WindowsDir & "\Config\GUIDecCred.dat") Sleep(25) EndIf EndFunc How Can i? Edited March 11, 2019 by Colduction Link to comment Share on other sites More sharing options...
kaisies Posted March 10, 2019 Share Posted March 10, 2019 Yes. Link to comment Share on other sites More sharing options...
RestrictedUser Posted March 10, 2019 Author Share Posted March 10, 2019 5 hours ago, kaisies said: Yes. But how? =/ Link to comment Share on other sites More sharing options...
Nine Posted March 10, 2019 Share Posted March 10, 2019 40 minutes ago, Colduction said: But how? =/ Well first step, you open scite and help file. Then start typing some code, after a while, run it. And if there is error you debug it. Easy... “They did not know it was impossible, so they did it” ― Mark Twain Spoiler Block all input without UAC Save/Retrieve Images to/from Text Monitor Management (VCP commands) Tool to search in text (au3) files Date Range Picker Virtual Desktop Manager Sudoku Game 2020 Overlapped Named Pipe IPC HotString 2.0 - Hot keys with string x64 Bitwise Operations Multi-keyboards HotKeySet Recursive Array Display Fast and simple WCD IPC Multiple Folders Selector Printer Manager GIF Animation (cached) Screen Scraping Multi-Threading Made Easy Link to comment Share on other sites More sharing options...
Juvigy Posted March 11, 2019 Share Posted March 11, 2019 For example with FileRead() ... Link to comment Share on other sites More sharing options...
RestrictedUser Posted March 11, 2019 Author Share Posted March 11, 2019 8 hours ago, Juvigy said: For example with FileRead() ... you are tell me to watch Help file? :/ Link to comment Share on other sites More sharing options...
FrancescoDiMuro Posted March 11, 2019 Share Posted March 11, 2019 10 minutes ago, Colduction said: you are tell me to watch Help file? 😕 Everyone, since you are here, yes. Click here to see my signature: Spoiler ALWAYS GOOD TO READ: Forum Rules Forum Etiquette Link to comment Share on other sites More sharing options...
RestrictedUser Posted March 11, 2019 Author Share Posted March 11, 2019 5 hours ago, FrancescoDiMuro said: Everyone, since you are here, yes. I have coded, but i don't know where is my problem You can see my code in this topic's text Link to comment Share on other sites More sharing options...
RestrictedUser Posted March 13, 2019 Author Share Posted March 13, 2019 On 3/11/2019 at 8:32 PM, FrancescoDiMuro said: Everyone, since you are here, yes. My friend, how can i Decrypt INI Datas without saving from Encrypted INI File then Read INI file normally? I had searched many times and i found some topics, but they didn't works for me =( Link to comment Share on other sites More sharing options...
mLipok Posted March 13, 2019 Share Posted March 13, 2019 Do you know encrytion secret key? Do you know which encryption algorithm was used? Signature beginning:* Please remember: "AutoIt"..... * Wondering who uses AutoIt and what it can be used for ? * Forum Rules ** ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Code * for other useful stuff click the following button: Spoiler Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST API * ErrorLog.au3 UDF - A logging Library * Include Dependency Tree (Tool for analyzing script relations) * Show_Macro_Values.au3 * My contribution to others projects or UDF based on others projects: * _sql.au3 UDF * POP3.au3 UDF * RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF * SMTP Mailer UDF * Dual Monitor resolution detection * * 2GUI on Dual Monitor System * _SciLexer.au3 UDF * SciTE - Lexer for console pane * Useful links: * Forum Rules * Forum etiquette * Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * Wiki: * Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * OpenOffice/LibreOffice/XLS Related: WriterDemo.au3 * XLS/MDB from scratch with ADOX IE Related: * How to use IE.au3 UDF with AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskScheduler * IE Embedded Control Versioning (use IE9+ and HTML5 in a GUI) * PDF Related: * How to get reference to PDF object embeded in IE * IE on Windows 11 * I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions * EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *I also encourage you to check awesome @trancexx code: * Create COM objects from modules without any demand on user to register anything. * Another COM object registering stuff * OnHungApp handler * Avoid "AutoIt Error" message box in unknown errors * HTML editor * winhttp.au3 related : * https://www.autoitscript.com/forum/topic/206771-winhttpau3-download-problem-youre-speaking-plain-http-to-an-ssl-enabled-server-port/ "Homo sum; humani nil a me alienum puto" - Publius Terentius Afer"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming" , be and \\//_. Anticipating Errors : "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty." Signature last update: 2023-04-24 Link to comment Share on other sites More sharing options...
RestrictedUser Posted March 13, 2019 Author Share Posted March 13, 2019 (edited) 15 minutes ago, mLipok said: Do you know encrytion secret key? Do you know which encryption algorithm was used? Yeah See this topic's content I have written $PEK = _Crypt_DeriveKey("BS#Password", $CALG_AES_256, $CALG_SHA_512) $DefaultCredFile = "[Credentials]" & @CRLF & "BUsername=NoAdmin" & @CRLF & "BPassword=NoAdmin" & @CRLF & "[Process]" & @CRLF & "ProcessKillingTimeout=3600" $EncryptDefaultCred = _Crypt_EncryptData($DefaultCredFile, $PEK, $CALG_AES_256) Edited March 14, 2019 by Colduction Link to comment Share on other sites More sharing options...
Bilgus Posted March 14, 2019 Share Posted March 14, 2019 (edited) Store the file into a variable using FileRead and pass that $sData to the function _Crypt_DecryptData ( $vData, $vCryptKey, $iAlgID [, $bFinal = True] ) you might need to open the file first with FileOpen and open it as $FO_BINARY PS. you won't be able to use IniRead on the resulting data so you'll need another way to parse your data Edited March 14, 2019 by Bilgus Link to comment Share on other sites More sharing options...
RestrictedUser Posted March 14, 2019 Author Share Posted March 14, 2019 20 hours ago, Bilgus said: Store the file into a variable using FileRead and pass that $sData to the function _Crypt_DecryptData ( $vData, $vCryptKey, $iAlgID [, $bFinal = True] ) you might need to open the file first with FileOpen and open it as $FO_BINARY PS. you won't be able to use IniRead on the resulting data so you'll need another way to parse your data Is not there any way to Read results by IniRead? 😢 Because i want to retrieve informations from INI file Link to comment Share on other sites More sharing options...
Bilgus Posted March 14, 2019 Share Posted March 14, 2019 Well which do you want to read from an ini file or a decrypted file that is no longer stored on disk? I don't see any other way to do it... It really isn't that hard to parse the data for an Ini using string functions Your other option could be to pull out the sensitive data and then write the INI if you are really set on the INI format Link to comment Share on other sites More sharing options...
BrewManNH Posted March 14, 2019 Share Posted March 14, 2019 The easiest way to do it would be to use a normal INI file, and then encrypt the whole file instead of just the entries in it. If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag GudeHow to ask questions the smart way! I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from. Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays. - ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script. - Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label. - _FileGetProperty - Retrieve the properties of a file - SciTE Toolbar - A toolbar demo for use with the SciTE editor - GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI. - Latin Square password generator Link to comment Share on other sites More sharing options...
RestrictedUser Posted March 15, 2019 Author Share Posted March 15, 2019 15 hours ago, Bilgus said: Well which do you want to read from an ini file or a decrypted file that is no longer stored on disk? I don't see any other way to do it... It really isn't that hard to parse the data for an Ini using string functions Your other option could be to pull out the sensitive data and then write the INI if you are really set on the INI format No, i just want decrypt datas from encrypted INI file without saving... Link to comment Share on other sites More sharing options...
Danny35d Posted March 15, 2019 Share Posted March 15, 2019 This is an old article and you may have to update the UDF scripts to make work with the latest AutoIt. Ini in Memory RestrictedUser and Bilgus 1 1 AutoIt Scripts:NetPrinter - Network Printer UtilityRobocopyGUI - GUI interface for M$ robocopy command line Link to comment Share on other sites More sharing options...
Bilgus Posted March 15, 2019 Share Posted March 15, 2019 if you want the data to stay encrypted why can't you just encrypt the data prior to iniWrite and decrypt with iniRead? ;Pseudo Code Local $Data = _Crypt_EncryptData("PA55W0RD", $g_hKey, $CALG_USERKEY) IniWrite ( "filename", "Test", "supersecretkey", $Data ) Local $Decrypted = _Crypt_DecryptData(IniRead ( "filename", "Test", "supersecretkey", "0" ), $g_hKey, $CALG_USERKEY) ; Decrypt the text with the new cryptographic key. Local $ReadData = BinaryToString($Decrypted) RestrictedUser 1 Link to comment Share on other sites More sharing options...
RestrictedUser Posted March 16, 2019 Author Share Posted March 16, 2019 On 3/15/2019 at 11:53 PM, Bilgus said: if you want the data to stay encrypted why can't you just encrypt the data prior to iniWrite and decrypt with iniRead? ;Pseudo Code Local $Data = _Crypt_EncryptData("PA55W0RD", $g_hKey, $CALG_USERKEY) IniWrite ( "filename", "Test", "supersecretkey", $Data ) Local $Decrypted = _Crypt_DecryptData(IniRead ( "filename", "Test", "supersecretkey", "0" ), $g_hKey, $CALG_USERKEY) ; Decrypt the text with the new cryptographic key. Local $ReadData = BinaryToString($Decrypted) Thanks bro❤️❤️ This code is the only way to solve my problem You were always help me, thanks bro❤️❤️ Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now