Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

09.04.2010, 18:29
|
|
Участник форума
Регистрация: 10.08.2009
Сообщений: 238
Провел на форуме: 724939
Репутация:
108
|
|
Вопрос:
Подскажите что такое DPAPI (Data Protection Application Programming Interface). Облазил весь гугл, ничего конкретно не нашел. Это модуль? Если да, то может он у кого-то есть? Мне нужна функция DPAPI_Decrypt().
|
|
|

09.04.2010, 19:32
|
|
Участник форума
Регистрация: 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..
|
|
|

09.04.2010, 19:52
|
|
Banned
Регистрация: 23.09.2009
Сообщений: 5
Провел на форуме: 70690
Репутация:
0
|
|
Ммм... Вроде понял. Ну а вообще, это же не критично, что используется свободная часть процессора, так как потоки у меня все равно низкого приоритета..., а хотя если программа должна быть основной, например какие-нибудь драйвера, то это неприемлимо?
Все супер работает как часы. 
Последний раз редактировалось trigada; 09.04.2010 в 20:36..
|
|
|

09.04.2010, 20:26
|
|
Участник форума
Регистрация: 20.12.2008
Сообщений: 277
Провел на форуме: 828081
Репутация:
84
|
|
Какая разница какого приоритета потоки? Код потока от этого работать быстрее не будет.
Я везде стараюсь сократить расходы ресурсов. Вот представь: этот цикл у тебя крутится, потоки медленно уничтожаются, а пользователь тем временем запустил еще один ресурсоемкий процесс. Это приведет к зависанию, и как следствие к плохому мнению о тебе как разработчике.
UPD:
И все же я считаю использовать такой цикл неверно.
Главный поток приложения имеет средний приоритет. Ты запускаешь в этом потоке цикл, в то время как у тебя есть потоки с низким приоритетам которым нужно коректно завершиться. Но процессорного времени им на это не хватает ибо много отъедает цикл в главном потоке. В итоге имеем к нагрузке процессора еще и медленное завершение потоков.
Последний раз редактировалось GhostOnline; 09.04.2010 в 20:32..
|
|
|

10.04.2010, 10:35
|
|
Участник форума
Регистрация: 12.11.2008
Сообщений: 146
Провел на форуме: 592199
Репутация:
21
|
|
Скажите в какую сторону рыть?
Нужно перехватывать пароли и логины в браузерах.
Возможно перехватить POST запрос в котором идут логин и пароль?
Как это на Delphi делается?
|
|
|

10.04.2010, 10:53
|
|
Участник форума
Регистрация: 01.03.2009
Сообщений: 121
Провел на форуме: 4022236
Репутация:
38
|
|
denjf что значит перехватить? может тебе нужен сниффер?
|
|
|

10.04.2010, 10:59
|
|
Участник форума
Регистрация: 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
Реализовать че то не могу ((
|
|
|

10.04.2010, 11:36
|
|
Участник форума
Регистрация: 01.03.2009
Сообщений: 121
Провел на форуме: 4022236
Репутация:
38
|
|
вот пример сниффера который перехватывает заголовки, только впиши свой ip через который ты в инете сидишь. Вот из него можешь сделать то что тебе нужно клац
лично проверил сейчас - работает отлично!
|
|
|

10.04.2010, 12:41
|
|
Новичок
Регистрация: 27.11.2008
Сообщений: 23
Провел на форуме: 73459
Репутация:
3
|
|
пишу программу на дельфине.. (работаю с компонентом веббраузер)
в процессе работы программы появляется ошибка.. ("Ошибка сценария.. продолжить выполнение сценариев на этой страницы ? да или нет варианты ответов..")
как от неё избавиться или как её скрыть ?
нельзя чтоб она появлялась !
|
|
|

10.04.2010, 12:42
|
|
Познающий
Регистрация: 29.08.2008
Сообщений: 86
Провел на форуме: 789539
Репутация:
53
|
|
Пытаюсь загрузить на фтп файл. пользуюсь indy ftp
вот код:
PHP код:
procedure TForm2.Button1Click(Sender: TObject);
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;
выдаёт ошибку 
что делать?)
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|