|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
22.04.2009, 16:06 | #31 |
Пользователь
Регистрация: 06.04.2009
Сообщений: 80
|
а в чём собственно дело? По подробнее , какой пароль сгенерировать? если просто нужно сгенерить пароль отвечающий какимто требованиям то тут ни чего сложного нет есть полно софта для этог, точно не помню но помоему SafePassword называется. По подробней какой пароль нужно сгенерировать?
|
22.04.2009, 16:07 | #32 |
Пользователь
Регистрация: 06.04.2009
Сообщений: 80
|
Или ты на делфях генереатор паролей хочеш своять? Говори что именно надо то
|
22.04.2009, 16:56 | #33 |
Proger Man
Форумчанин
Регистрация: 07.03.2009
Сообщений: 584
|
Что небуть такое что пока не ведеш пароль и логин программа не запустится тоесть
Код:
ShowMessage('Добро пожаловать!');
|
22.04.2009, 17:13 | #34 |
Пользователь
Регистрация: 06.04.2009
Сообщений: 80
|
Всё ясно, если пофиг на взлом дальнейший. То тогда слушай один из вариантов. На форму своего приложения кидай во весь размер окна панель, на эту панель размещай 2 едита и 2 лейбела один под имя пользователя второй под сн. В TForm.FormCreate пишешь Panel1.Visible:=True; А далее сравнивай то что юзер ввёл и то что должно быть если юзер ввёл правильно сн то Panel1.Visible:=False; если не правильно то ShowMessage "Проверьте правильность ввода, возможно включон CapsLock". Кстати чтоб не надоедало при каждом запуске приложения вводить сн, надо после первого правильного ввода создался к примеру файлик в каталоге программ с какимто значением а дальше при FormCreate перед Panel1.Visible:=True; приложение должно обратится к этому файлику и прочитать его содержимое если содержимое не верное или файла вобще нет то Panel1.Visible:=True; иначе Panel1.Visible:=False; и при последующем запуске панели не будет если сн правильный был введён. Вроде всё но это очень приметивно!!!
|
22.04.2009, 17:19 | #35 |
Форумчанин
Регистрация: 22.02.2009
Сообщений: 875
|
Вот код главной формы:
Код:
Код:
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
|
22.04.2009, 17:46 | #36 |
Пользователь
Регистрация: 06.04.2009
Сообщений: 80
|
Зачем так сурово Application.Terminate :D , может сначала сообщение вывести что типа проверьте правильность или возможно включен CapsLock
|
22.04.2009, 17:49 | #37 |
Пользователь
Регистрация: 06.04.2009
Сообщений: 80
|
С двумя формами посимпотичней будет, а если пользователь просто убьёт окно с вводом пароля или просто задвинти его за предела рабочего стола (конечно его можно сделать неперемещаемым но это не выход его можно будет просто убить и всё, а само приложение продолжит работу).
|
22.04.2009, 19:55 | #38 |
Форумчанин
Регистрация: 15.07.2008
Сообщений: 615
|
А если мой пароль будет генерироваться по какой нибудь сложной формуле?То
Код:
xor eax, eax
xchg [eax], eax Последний раз редактировалось MalCer; 22.04.2009 в 20:04. |
23.04.2009, 08:18 | #39 |
Пользователь
Регистрация: 06.04.2009
Сообщений: 80
|
Смотря как он генерироваться будет, и что в этоге получится, то возможно будет к примеру такой вид if (edit1.Text <> 'login') and (edit2.Text <> s*i-g) then. где s-то что ввёл пользователь, i - какя нибудь постоянная привязанная к какому либо статическому значению, g- по аналогии с i. Ну это очень просто, нужен более сложный алгоритм, и по тексту надо раскидать аналогичных вещей но ложных, а самую результирующую проверку отнести как можно дальше от непосредственного кода, а ещё лучше, использовать онлайн регистрацию. Пример сообщение о вводе сн, введите сн, пользователь вводит сн, затем через некоторое время приложение отправляет на сервер неую последовательность коман в которой ко всему будет содержаться серийный номер к примеру винчестера, сервер это всё дело принимает , если регистрация прошла успешно отправляет юзеру ещё один код сгенерированный сервером, в котором в каком либо виде будет содержаться серийный номер винчечтера юзера и прочая инфа. Пользователь его либо сам вводит, а лучше чтобы он сам добовлялся в приложение и всё, у вас есть зарегистрированное приложение и которое будет работать тока на вашей машине, копирование исключено.(практически )
|
23.04.2009, 08:30 | #40 |
Пользователь
Регистрация: 06.04.2009
Сообщений: 80
|
Что то я отвлёкся, нас же интересует что то попроще. Что я там выше написал будет актуально если СН integer, если же СН будет содержать и цифры и буквы то скорее всего нужно использовать string. Сдесь ещё интереснее, существуют функции к примеру для отображеия строки наоборот, для отображения какойто части наоборот и т.д. Пример: programm - mmargorp. Плюсом можно использовать сдвиг к примеру на 359, т.е. сначало сдвиг а пототом переворот. Про сдвиг у каждой клавиши или исмвола есть свой код #13 - если память не изменяет это Enter и т.д., (остальные не помню можно для отображения всех ченить быстро накидать но это сейчас никчему). Будем считать что код буквы p = #73 если используем сдвиг то получаем что её код становится #432 и у нас получается не буква а вобще какойто иероглиф, далее всё это проводим для всех символов нашего сн а затем ещё и меняем всё наоборот, и сравниваем с введённым. После всего этого получаем то что наш СН хранится в программе но имеет совершенно нечитаемый вид.
Со здвигом понадёжнее будет. Делай лучше так. Я бы пример набросал, тут не сложно, но к сожалению, я сейчус на работе, под рукой Делфей нету. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Лицензия Антивирус Касперского | delphin100 | Безопасность, Шифрование | 6 | 25.03.2009 16:04 |
Запуск программы на выполнение из другой программы. | ViNcHeStEr | Паскаль, Turbo Pascal, PascalABC.NET | 6 | 18.06.2008 14:33 |
программы | koyot | Фриланс | 1 | 14.03.2008 13:10 |
лицензия BDS 2006 | Романнн | Свободное общение | 0 | 09.12.2007 22:16 |
Помогите с делфи (лицензия найдена, но недопустима) | DeDoK | Софт | 2 | 24.11.2007 10:42 |