Два простых способа защиты от WM_GETTEXT. |
|
|
Motorcode, 2009
Uraniumcode@gmail.com
Два простых способа защиты от WM_GETTEXT.
Бывает натолкаешь кучу антиотладочных приёмов в программу, сделаешь различные приёмы в неё, а какой — нибудь умник просто вызовет SendMessage с параметром WM_GETTEXT и получит себе важную инфу. Так вот, чтобы это не произошло, рассмотрим 2 очень простых способа как этому помешать.
1.Убираем имя окна.
Чтобы получить доступ например к Tedit, надо сначала найти то самое окно с этим. А когда имени окна нет, то найти его будет довольно сложно. Поэтому в настройках проекта оставляем пустое поле, где надо вводить имя. Если кому — то режет глаз отсутствие заголовка у окна, то можно написать маленькую программу по генерации этого заголовка(рандомно) например каждые 5 секунд. Но смотреться это будет довольно глупо.
2.Вижу одно, а думаю другое.
Если надо защитить поле для ввода пароля, то можно сделать обработчик событий для нажатия любой кнопки, чтобы при вводе отображались совершенно другие символы. А как собственно говоря читать то что надо? А очень просто, Создаём два Edit один выставляем на форму(как и другой), a второй делаем не видимым(Visible:= false). И для обработчика события для первого Edit, то что мы нажали перебрасываем во второй. А левые символы выоводим на экран. Примерно так:
Листинг 1.1
I:Integer;
…...
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
I:=Key; //Записываем в переменную код очередной клавиши
Edit2.SelText:= I; //Записываем её
Random; //Вызов
Key:= char(Random(120)); //И левые символы в Edit1
end;
Всё довольно просто, комментарии написаны.
Вот два самых простых способа как противостоять WM_GETTEXT. На этом они конечно не заканчиваются, но это может сделать каждый вне зависимости от квалификации. Удачи!
Автор: Motorcode | Добавлено: 12.10.2009, 12:16 | Просмотров: 12930
Добавить комментарий
|
|
|
|
Копилка MaxLim. |
|
Если Вам понравилась наша программа, Вы можете купить нам кофе (или кофемашину) или пивка для поднятия настроения и ускорения написания новых программ и обновлений :), Пополните копилку и разработка программ ускорится :)...
Пополнить копилку можно несколькими способами:
1. Переводом через Сбербанк Онлайн - Платежи, Перевод клиенту сбербанка по номеру телефона "Номер телефона - +79284741288" -сумма перевода в рублях.
2. Кошелек Яндекс Деньги - 41001737394948
3. Через донаты...
Контакты для связи:
Skype - go_ramalex
mail - maxlim_soft@mail.ru |
|
|
|
|
Copyright MaxLim © 2007-2023
|
|