что бы не спрашивал как узнать запущен ли снифер
Лови [Ссылки могут видеть только зарегистрированные пользователи. ]
затем всё просто, ищешь в загруженном списке имя_снифера.exe и затем выполняешь код типо:
а всё это прописано в таймере
С интервалом примерно 5000-10000
Цитата:
=тут твой if=
//если находит снифер
Timer1.interval:=0; // останавливаем дабы не запустилось много ошибок "обнаружен снифер" да и прога зависнет.
ShowMessage('Обнаружен запущенный снифер, закройте его и запустите заново программу');//выводишь сообщение о том что запущен снифер.
sleep(5000); // ожидание 5секунд для того что бы человек успел прочитать.
Form1.close; //закрываем программу.
end;
//если не нашёл, то и не надо ничего выполнять.
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]
Последний раз редактировалось KlimVoroshilov; 15.11.2012 в 19:39.
что бы не спрашивал как узнать запущен ли снифер
Лови [Ссылки могут видеть только зарегистрированные пользователи. ]
затем всё просто, ищешь в загруженном списке имя_снифера.exe и затем выполняешь код типо:
а всё это прописано в таймере
С интервалом примерно 5000-10000
=тут твой if=
//если находит снифер
ShowMessage('Обнаружен запущенный снифер, закройте его и запустите заново программу');
sleep(5000);
Form1.close;
end;
//если не нашёл, то и не надо ничего выполнять.
Это я знаю, но тогда придется искать и добавлять все возможные снифферы.
А если учесть снифферы, которых нету в шаре или сниффер написанные самим пользователем и имеющийся только у создателя.
Последний раз редактировалось Erstown; 15.11.2012 в 19:41.
А если учесть снифферы, которых нету в шаре или сниффер написанный самим пользователем и имеющийся только у создателя.
1) Мною указанным способом ты защитишь программу от популярных снифером. Может быть кто то будет использовать приватные / созданные самим пользователем.
2) Ты никак не сможешь защитить программу от перехвата GET запроса.
3) Если ты хочешь защитить программу, то защищай её нормально. С помощью платных компонентов и программ для лицензирования либо поищи на жуке есть примеры. Правда они врятли будут понятны тебе.
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]
Да? И почему же ты так думаешь?
Или у тебя с рождения ставить себя выше других?
Кто вам сказал что я ставлю себя выше других? я сам разобраться не могу. Вообще я имел введу, что вам будет проще по тем примерам сделать генерацию ключа, а активацию по get. не обижайтесь, ничего такого не имел введу.
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]
Кто вам сказал что я ставлю себя выше других? я сам разобраться не могу. Вообще я имел введу, что вам будет проще по тем примерам сделать генерацию ключа, а активацию по get. не обижайтесь, ничего такого не имел введу.
Я не понял что ты написал, имею ввиду при чем тут генерация ключа и т.д
procedure TForm3.Button1Click(Sender: TObject);
var
Wnd: hWnd;
buff: array[0..127] of Char;
begin
Wnd := GetWindow(Handle, gw_HWndFirst);
while Wnd <> 0 do begin {Не показываем:}
if (Wnd <> Application.Handle) and {-Собственное окно}
IsWindowVisible(Wnd) and {-Невидимые окна}
(GetWindow(Wnd, gw_Owner) = 0) and {-Дочернии окна}
(GetWindowText(Wnd, buff, sizeof(buff)) <> 0) {-Окна без заголовков}
then begin
GetWindowText(Wnd, buff, sizeof(buff));
if pos('ИМЯСНИФЕРА_МОЖНОБЕЗ_EXE', buff)<>0 then
Form1.close;
end;
Wnd := GetWindow(Wnd, gw_hWndNext);
end;
end;
end.
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]
Listbox1.item[i]:=Text.txt[i];
ну хз как объяснить по другому)
Написал там код.
Код:
var
f: TStringList;
i: integer;
begin
f:= TStringList.Create;
f.LoadFromFile('file.txt');
for i := 0 to f.Count-1 do
begin
ListBox1.Items.Add(f.Strings[i]);
end;
f.free;
end;
end.
var
f: TStringList;
i: integer;
begin
f:= TStringList.Create;
f.LoadFromFile('file.txt');
for i := 0 to f.Count-1 do
begin
ListBox1.Items.Add(f.Strings[i]);
end;
f.free;
end;
end.
спасибо
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]