Хочу предложить еще 1 способ a.k.a. привязки программы.
Авторизация через ini файл на сайте, с шифровкой данных, а также запоминания логина и пароля в реестре, и тоже с шифровкой.
Приступим. Для начала создадим файл Login.ini, и в его же директории билдер логина и пароля в зашифрованном виде.
Компилим и запускаем. В программе вводим свой логин и пароль для доступа к программе, жмем Войти, программу писал на ходу если надо поправите сами). После кнопки Войти, программа выйдет, а в Login.ini, появится ваш login и пароль (пароль в зашифрованном виде).
В ini файле вы так же можете хранить множество логинов и паролей, для этого просто генерируйте их через билдер, и вставляйте в готовый ini файл, который вы сбилдили в 1 раз, в самый конец документа, без данной строчки [Login_password].
Когда все готово, заливаем файл к себе на сайт.
Теперь перейдем непосредственно к программе:
В самое начало добавляем этот код:
А в самый конец вашего кода это:
Все, меняем yourdomen.ru на ваш, и проверяем.
Авторизация через ini файл на сайте, с шифровкой данных, а также запоминания логина и пароля в реестре, и тоже с шифровкой.
Приступим. Для начала создадим файл Login.ini, и в его же директории билдер логина и пароля в зашифрованном виде.
Код:
#Region
#AutoIt3Wrapper_Res_requestedExecutionLevel=asInvoker
#EndRegion
#NoTrayIcon
#include <GUIConstantsEx.au3>
#include <String.au3>
$sPath_ini=@ScriptDir & "\Login.ini"
$gui = GUICreate ("Генератор by VanekZver", 230,100)
GUICtrlCreateLabel ("Ваш логин:", 10,10)
$Login = GUICtrlCreateInput ('', 80,7, 100)
GUICtrlCreateLabel ("Ваш Пароль:", 10,40)
$Password = GUICtrlCreateInput ('', 80,35, 100)
$user = "Login_Password"
GUISetState(@SW_SHOW)
$b = GUICtrlCreateButton('Войти', 10, 60, 42,20)
While 1
$username = GUICtrlRead($Login, 0)
$userpass = GUICtrlRead($Password, 0)
$msg = GUIGetMsg(1)
Select
Case $msg[0] = $b
GUISetState(@SW_SHOW, $msg[1])
If $msg[0] = $b Then
$user_pass_encoded = _StringEncrypt ( 1, $userpass,'DDos Client passw0rd 2019271523412321 OoO',1)
IniWrite($sPath_ini, $user, $username, $user_pass_encoded)
Exit
EndIf
Case $msg[0] = $GUI_EVENT_CLOSE
If $msg[1] = $gui Then
Exit
EndIf
EndSelect
WEnd
GUIDelete()
Компилим и запускаем. В программе вводим свой логин и пароль для доступа к программе, жмем Войти, программу писал на ходу если надо поправите сами). После кнопки Войти, программа выйдет, а в Login.ini, появится ваш login и пароль (пароль в зашифрованном виде).
В ini файле вы так же можете хранить множество логинов и паролей, для этого просто генерируйте их через билдер, и вставляйте в готовый ini файл, который вы сбилдили в 1 раз, в самый конец документа, без данной строчки [Login_password].
Когда все готово, заливаем файл к себе на сайт.
Теперь перейдем непосредственно к программе:
В самое начало добавляем этот код:
Код:
#Region
#AutoIt3Wrapper_Compression=0
#AutoIt3Wrapper_Res_Fileversion=1.0.0.0
#AutoIt3Wrapper_Res_LegalCopyright=Programm Created By #VanekZver) ©
#AutoIt3Wrapper_Res_requestedExecutionLevel=requireAdministrator
#EndRegion
#NoTrayIcon
#include <GUIConstants.au3>
#include <EditConstants.au3>
#include <IniString.au3>
#Region Объявление переменных
$username_checked = 0
$password_checked = 0
$username_startup = ''
$password_startup = ''
#EndRegion Объявление переменных
#Region Блок запоминания - инициализация
$reg_remember_username_confirm = RegRead("HKEY_CURRENT_USER\SOFTWARE\Autorisation", 'RememberUsername')
If $reg_remember_username_confirm = 1 Then
$username_checked = 1
$username_startup = RegRead("HKEY_CURRENT_USER\SOFTWARE\Autorisation", 'Username')
EndIf
$reg_remember_password_confirm = RegRead("HKEY_CURRENT_USER\SOFTWARE\Autorisation", 'RememberPassword')
If $reg_remember_password_confirm = 1 Then
$password_checked = 1
$password_startup = RegRead("HKEY_CURRENT_USER\SOFTWARE\Autorisation", 'Password')
$password_startup = _StringEncrypt ( 0, $password_startup,'SupePQ123 Client passw0rd 20192715234123212012qwerty OoO',1)
EndIf
#EndRegion Блок запоминания - инициализация
#Region ### START Koda GUI section ### Login
$hGUI = GUICreate('Авторизация', 195, 130)
GUICtrlCreateLabel("Логин", 10, 20)
$hLogin = GUICtrlCreateInput($username_startup, 50, 16, 120)
GUICtrlCreateLabel("Пароль", 10, 50)
$hPassword = GUICtrlCreateInput($password_startup, 50, 44, 120, 21, $ES_PASSWORD)
$remember_name = GUICtrlCreateCheckbox("Запомнить логин", 16, 70)
$remember_pass = GUICtrlCreateCheckbox("Запомнить пароль", 16,90)
$hButton = GUICtrlCreateButton('Войти', 130, 73, 42,40)
If $username_checked = 1 Then GUICtrlSetState($remember_name, $GUI_CHECKED)
If $password_checked = 1 Then GUICtrlSetState($remember_pass, $GUI_CHECKED)
#EndRegion ### END Koda GUI section ### Login
GUISetState()
While 1
$hLogin1 = GUICtrlRead($hLogin) ; читаем имя и пароль с инпутов
$hPassword1 = GUICtrlRead($hPassword)
If GUICtrlRead($remember_name) = 1 Then ; если галка запомнить имя
RegWrite("HKEY_CURRENT_USER\SOFTWARE\Autorisation", 'RememberUsername', 'REG_SZ', '1')
RegWrite("HKEY_CURRENT_USER\SOFTWARE\Autorisation", 'Username', 'REG_SZ', $hLogin1)
Else
RegWrite("HKEY_CURRENT_USER\SOFTWARE\Autorisation", 'RememberUsername', 'REG_SZ', '0')
EndIf
If GUICtrlRead($remember_pass) = 1 Then ; если галка запомнить пароль
RegWrite("HKEY_CURRENT_USER\SOFTWARE\Autorisation", 'RememberPassword', 'REG_SZ', '1')
$user_pass_encoded = _StringEncrypt ( 1, $hPassword1,'SupePQ123 Client passw0rd 20192715234123212012qwerty OoO',1)
RegWrite("HKEY_CURRENT_USER\SOFTWARE\Autorisation", 'Password', 'REG_SZ', $user_pass_encoded)
Else
RegWrite("HKEY_CURRENT_USER\SOFTWARE\Autorisation", 'RememberPassword', 'REG_SZ', '0')
EndIf
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
Exit
Case $msg = $hButton
$sLog = GUICtrlRead($hLogin)
$sPass = GUICtrlRead($hPassword)
$iControl = _Validate_Password($sLog, $sPass)
If Not @error Then
If $iControl Then
ExitLoop
Else
RegWrite("HKEY_CURRENT_USER\SOFTWARE\Autorisation", 'RememberUsername', 'REG_SZ', '0')
RegWrite("HKEY_CURRENT_USER\SOFTWARE\Autorisation", 'RememberPassword', 'REG_SZ', '0')
Exit
EndIf
Else
Exit
EndIf
EndSelect
WEnd
GUIDelete($hGUI)
А в самый конец вашего кода это:
Код:
Func _Validate_Password($s_Login, $s_Password)
Local $s_TextFromSite, $s_Url = 'http://yourdomen.ru/logpas.ini', _
$s_Control_Pass, $s_Section = 'Login_Password'
$s_TextFromSite = InetRead($s_Url, 17)
If @error Then Return SetError(1)
$s_TextFromSite = BinaryToString($s_TextFromSite)
$s_Control_Pass = _IniString_Read($s_TextFromSite, $s_Section, $s_Login, 'Error')
Return SetError(0, 0, $s_Control_Pass = $s_Password)
EndFunc
Все, меняем yourdomen.ru на ваш, и проверяем.