ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #6071  
Старый 09.04.2010, 18:29
Аватар для =Zeus=
=Zeus=
Участник форума
Регистрация: 10.08.2009
Сообщений: 238
Провел на форуме:
724939

Репутация: 108
Отправить сообщение для =Zeus= с помощью ICQ
По умолчанию

Вопрос:
Подскажите что такое DPAPI (Data Protection Application Programming Interface). Облазил весь гугл, ничего конкретно не нашел. Это модуль? Если да, то может он у кого-то есть? Мне нужна функция DPAPI_Decrypt().
 
Ответить с цитированием

  #6072  
Старый 09.04.2010, 19:32
Аватар для GhostOnline
GhostOnline
Участник форума
Регистрация: 20.12.2008
Сообщений: 277
Провел на форуме:
828081

Репутация: 84
По умолчанию

Цитата:
Сообщение от trigada  
Такой вопросик:
Имеется Button1, при ее нажатии создаем и запускаем потоки, также имеется переменная count_threads_on (кол-во работающих потоков), соответсвенно при запуске потока увеличиваем count_threads_on, при завершении уменьшаем count_threads_on, потом Button1.Enabled:=False;
В Button1, поставил такой код (ждем пока не завершатся все потоки, возобновляем Button1)
Код:
 while count_threads_on<>0 do Application.ProcessMessages;
if count_threads_on=0 then
Button1.Enabled:=True;
Так вот этот цикл конкретно выгружает процессор while count_threads_on<>0 do Application.ProcessMessages;
Может есть какой то выход? Или я что то не так сделал?
Еще у меня есть таймер, он обновляется каждую секунду, выполняет кое-что, может сделать проверку там (if count_threads_on=0 then Button1.Enabled:=True; ) ?

Короче говоря насколько я знаю, то это не критично?
Так как, ничего не подвисает, а просто глянул на загрузку процессора, и начал сомневатся что все норм.
Не обязательно использовать этот цикл
В обработчике события класса потока OnTerminate можно просто проверять количество потоков и если оно равно нулю то включать кнопку Но обязательно надо сначала уменьшать счетчик. Например:
Dec(count_threads_on);
if count_threads_on = 0 then ...

А с таймером - тоже далеко не элегантное решение.

Последний раз редактировалось GhostOnline; 09.04.2010 в 19:40..
 
Ответить с цитированием

  #6073  
Старый 09.04.2010, 19:52
Аватар для trigada
trigada
Banned
Регистрация: 23.09.2009
Сообщений: 5
Провел на форуме:
70690

Репутация: 0
По умолчанию

Ммм... Вроде понял. Ну а вообще, это же не критично, что используется свободная часть процессора, так как потоки у меня все равно низкого приоритета..., а хотя если программа должна быть основной, например какие-нибудь драйвера, то это неприемлимо?
Все супер работает как часы.

Последний раз редактировалось trigada; 09.04.2010 в 20:36..
 
Ответить с цитированием

  #6074  
Старый 09.04.2010, 20:26
Аватар для GhostOnline
GhostOnline
Участник форума
Регистрация: 20.12.2008
Сообщений: 277
Провел на форуме:
828081

Репутация: 84
По умолчанию

Какая разница какого приоритета потоки? Код потока от этого работать быстрее не будет.
Я везде стараюсь сократить расходы ресурсов. Вот представь: этот цикл у тебя крутится, потоки медленно уничтожаются, а пользователь тем временем запустил еще один ресурсоемкий процесс. Это приведет к зависанию, и как следствие к плохому мнению о тебе как разработчике.

UPD:
И все же я считаю использовать такой цикл неверно.
Главный поток приложения имеет средний приоритет. Ты запускаешь в этом потоке цикл, в то время как у тебя есть потоки с низким приоритетам которым нужно коректно завершиться. Но процессорного времени им на это не хватает ибо много отъедает цикл в главном потоке. В итоге имеем к нагрузке процессора еще и медленное завершение потоков.

Последний раз редактировалось GhostOnline; 09.04.2010 в 20:32..
 
Ответить с цитированием

  #6075  
Старый 10.04.2010, 10:35
Аватар для denjf
denjf
Участник форума
Регистрация: 12.11.2008
Сообщений: 146
Провел на форуме:
592199

Репутация: 21
По умолчанию

Скажите в какую сторону рыть?

Нужно перехватывать пароли и логины в браузерах.

Возможно перехватить POST запрос в котором идут логин и пароль?
Как это на Delphi делается?
 
Ответить с цитированием

  #6076  
Старый 10.04.2010, 10:53
Аватар для SkyLine32
SkyLine32
Участник форума
Регистрация: 01.03.2009
Сообщений: 121
Провел на форуме:
4022236

Репутация: 38
Отправить сообщение для SkyLine32 с помощью ICQ Отправить сообщение для SkyLine32 с помощью AIM Отправить сообщение для SkyLine32 с помощью MSN Отправить сообщение для SkyLine32 с помощью Yahoo
По умолчанию

denjf что значит перехватить? может тебе нужен сниффер?
 
Ответить с цитированием

  #6077  
Старый 10.04.2010, 10:59
Аватар для denjf
denjf
Участник форума
Регистрация: 12.11.2008
Сообщений: 146
Провел на форуме:
592199

Репутация: 21
По умолчанию

Цитата:
Сообщение от SkyLine32  
denjf что значит перехватить? может тебе нужен сниффер?

Мне нужен код на Delphi. или любая инфа о том как можно написать.

Суть программы:

Человек заполняет форму допустим на mail.ru вводит Логин и пароль. Нажимает на батон. Пошел HTTP POST запрос...
Так вот надо из этого запроса выдрать логин и пароль, т.е. его надо перехватить.

Нагуглил вот
Цитата:
необходимо просто напросто поставить хуки на:

функции Send (WSOCK32.DLL) и SendTo (WSOCK32.DLL)

Затем в обработчике отлавливать приходящий буфер, а именно http запрос

структура у него приблизительно такая (Iexplore):Код

GET http://forum.vingrad.ru/html/translit_only.js HTTP/1.0
Accept: */*
Referer: http://forum.vingrad.ru/index.php?showtopic=73775
Accept-Language: ru
Cookie: proforumforum_read=a%3A1%3A%7Bi%3A85%3Bi%3A1135668 044%3B%7D; proforummember_id=13023; proforumpass_hash=1efa643c0b56892ad056737dd9299bd3 ; proforumsession_id=5b9df56ccf5748242307a8f1de82eab 1; CookieIp=80.84.179.174
If-Modified-Since: Sat, 23 Jul 2005 09:40:01 GMT
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
Host: forum.vingrad.ru
Proxy-Connection: Keep-Alive


или такая(Opera):Код

GET http://www.umc.ua/ HTTP/1.0
User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows XP) Opera 6.01 [ru]
Host: www.umc.ua
Accept: text/html, image/png, image/jpeg, image/gif, image/x-xbitmap, */*
Accept-Language: ru, en
Accept-Charset: windows-1251;q=1.0, utf-8;q=1.0, utf-16;q=1.0, iso-8859-1;q=0.6, *;q=0.1
Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0
Proxy-Connection: Keep-Alive



т.е. просто необходимо витягивать первую строку, проверять на "Содержание GET, OPTIONS, POST
Реализовать че то не могу ((
 
Ответить с цитированием

  #6078  
Старый 10.04.2010, 11:36
Аватар для SkyLine32
SkyLine32
Участник форума
Регистрация: 01.03.2009
Сообщений: 121
Провел на форуме:
4022236

Репутация: 38
Отправить сообщение для SkyLine32 с помощью ICQ Отправить сообщение для SkyLine32 с помощью AIM Отправить сообщение для SkyLine32 с помощью MSN Отправить сообщение для SkyLine32 с помощью Yahoo
По умолчанию

вот пример сниффера который перехватывает заголовки, только впиши свой ip через который ты в инете сидишь. Вот из него можешь сделать то что тебе нужно клац
лично проверил сейчас - работает отлично!
 
Ответить с цитированием

  #6079  
Старый 10.04.2010, 12:41
Аватар для Axeee
Axeee
Новичок
Регистрация: 27.11.2008
Сообщений: 23
Провел на форуме:
73459

Репутация: 3
По умолчанию

пишу программу на дельфине.. (работаю с компонентом веббраузер)

в процессе работы программы появляется ошибка.. ("Ошибка сценария.. продолжить выполнение сценариев на этой страницы ? да или нет варианты ответов..")

как от неё избавиться или как её скрыть ?

нельзя чтоб она появлялась !
 
Ответить с цитированием

  #6080  
Старый 10.04.2010, 12:42
Аватар для S[N]EP
S[N]EP
Познающий
Регистрация: 29.08.2008
Сообщений: 86
Провел на форуме:
789539

Репутация: 53
По умолчанию

Пытаюсь загрузить на фтп файл. пользуюсь indy ftp
вот код:
PHP код:
procedure TForm2.Button1Click(SenderTObject);

begin
idFTP1
.Host:=ftphost.Text;   //FTP-сервер
idFTP1.Port:=21;                  //порт ФТП сервера
idFTP1.Username:=ftplogin.Text;
idFTP1.Password:=ftppass.Text;
idFTP1.Connect;
idFTP1.Put(edit1.Text);
idFTP1.Disconnect;

end
выдаёт ошибку
что делать?)
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Wi-Fi, BT] Задай вопрос - получи ответ! Alexsize Беспроводные технологии/WPAN/WLAN 2564 06.04.2026 23:31
[ *NIX ] Задай вопрос - получи ответ. Xszz *nix 1547 15.06.2010 15:41
[jQuery] - Задай вопрос, получи ответ Isis PHP, PERL, MySQL, JavaScript 62 25.12.2009 03:25
ЕсТь ВоПрос Guma Чаты 4 26.10.2005 21:48



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ