ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

05.02.2010, 15:39
|
|
Новичок
Регистрация: 18.02.2008
Сообщений: 20
Провел на форуме: 362398
Репутация:
14
|
|
Код:
procedure TForm1.startClick(Sender: TObject);
begin
for I := 0 to 1 do
begin
icqclient1.UIN:=uin2[i];
icqclient1.Password:=pass2[i];
icqclient1.Login();
icqclient1.ChangePassword('ipc');
icqclient1.LogOff;
ShowMessage('ok');
end;
end;
Собственно вопрос, почему не коннектится к серверу и не меняет пасс?
//юзаю TICQClient
|
|
|

05.02.2010, 16:07
|
|
Постоянный
Регистрация: 12.05.2009
Сообщений: 395
Провел на форуме: 4761503
Репутация:
229
|
|
Данные шлёт, но не долго, пока комп не упадёт =))
Что тут можно сделать, чтобы он бесконечно посылал запрос на сервер при этом не нагружая компьютер и не открывая кучу ненужных соединений?
Попробуй из CreateThread вызывать свою функцию (в цикле while (если бесконечно требуется куда то слать пакеты))(ибо была такая же проблема (программа висла (а не перезагр. комп.)))
На счет будет ли нагружать комп. -> не знаю
Последний раз редактировалось wolmer; 05.02.2010 в 16:12..
|
|
|

05.02.2010, 16:38
|
|
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме: 5749763
Репутация:
1680
|
|
У меня проблемма не в потоках, а в одной функции.
Я не использую потоки, мне просто надо сделать так, чтобы через WinSock посылался запрос в бесконечном цикле.
делать задержку в 1 - 10 секунд так-же не вариант.
нужен бесконечный цикл без задержек и открытия кучи соединений.
|
|
|

05.02.2010, 17:01
|
|
Постоянный
Регистрация: 12.05.2009
Сообщений: 395
Провел на форуме: 4761503
Репутация:
229
|
|
У меня проблемма не в потоках, а в одной функции.
Я не использую потоки, мне просто надо сделать так, чтобы через WinSock посылался запрос в бесконечном цикле.
делать задержку в 1 - 10 секунд так-же не вариант.
нужен бесконечный цикл без задержек и открытия кучи соединений.
Хорошо, если winsock+while открывает так много соединений, то просто пиши код чтобы ждал завершения функции и начинал заного с функции (больше не знаю как помочь):
Пиши в uses -> SYNCOBJS
Заводи переменную cs:TCriticalSection;
(на всю программу)
(и в formcreate пиши -> cs:=tcriticalsection.create
Ты вызываешь функцию в while цикле как я понял, верно? Если да то код должен был примерно таким:
Код:
while true do
begin
fWSRecv('localhost',
'GET /log/ass.php' + #13#10 +
'Host: localhost' + #13#10 +
'User-Agent: Mozilla/5.0' + #13#10 +
'Accept: text/html' + #13#10 +
'Accept-Language: ru' + #13#10 +
'Accept-Charset: windows-1251' + #13#10 +
'Connection: close' + #13#10#13#10);
end;
Теперь берешь и дополняешь его:
Код:
while true do
begin
cs.Enter;
fWSRecv('localhost',
'GET /log/ass.php' + #13#10 +
'Host: localhost' + #13#10 +
'User-Agent: Mozilla/5.0' + #13#10 +
'Accept: text/html' + #13#10 +
'Accept-Language: ru' + #13#10 +
'Accept-Charset: windows-1251' + #13#10 +
'Connection: close' + #13#10#13#10);
cs.Leave;
end;
Тем самым он будет ждать пока функция завершится, как она завершилась -> стартует заного! (или же попробуй еще cs.Leave; поставить в конце функции (если выше приведенный код -> не канает))
По другому -> увы не знаю как сделать
Последний раз редактировалось wolmer; 05.02.2010 в 17:05..
|
|
|

05.02.2010, 22:20
|
|
Постоянный
Регистрация: 25.07.2008
Сообщений: 454
Провел на форуме: 1229135
Репутация:
425
|
|
Код:
var i:integer;
...................
connect(hSocket, hAddr, SizeOf(hAddr));
for i:=0 to 2147483646 do begin
Send(hSocket, wRequest[1], length(wRequest), 0);
sleep(10);
end;
FillChar(hBuffer, SizeOf(hBuffer), 0);
iRead := Recv(hSocket, hBuffer, length(hBuffer), 0);
// hData := hData + copy(hBuffer, 0, iRead);
if (iRead <= 0) then break;
CloseSocket(hSocket);
сколько раз отошлет?
поэксперементируй с задержкой...
|
|
|

05.02.2010, 22:51
|
|
Постоянный
Регистрация: 12.05.2009
Сообщений: 395
Провел на форуме: 4761503
Репутация:
229
|
|
for i:=0 to 2147483646 do begin
Send(hSocket, wRequest[1], length(wRequest), 0);
sleep(10);
end;
а вот так уже делать не правильно (если не ошибаюсь)
Последний раз редактировалось wolmer; 05.02.2010 в 22:56..
|
|
|

05.02.2010, 22:55
|
|
Постоянный
Регистрация: 25.07.2008
Сообщений: 454
Провел на форуме: 1229135
Репутация:
425
|
|
Сообщение от wolmer
а вот так уже делать не правильно
почему?
|
|
|

06.02.2010, 17:30
|
|
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме: 5749763
Репутация:
1680
|
|
Код:
function fWSRecv():string;
var
hSocket: TSocket;
hHost: PHostEnt;
hAddr: TSockAddrIn;
hTimeout: TTimeVal;
samzapros,kuda:string;
begin
kuda:='localhost';
samzapros:='GET /log/ass.php' + #13#10 +
'Host: localhost' + #13#10 +
'User-Agent: Mozilla/5.0' + #13#10 +
'Accept: text/html' + #13#10 +
'Accept-Language: ru' + #13#10 +
'Accept-Charset: windows-1251' + #13#10 +
'Connection: close' + #13#10#13#10;
hSocket := socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
hHost := gethostbyname(PChar(kuda));
hAddr.sin_family := AF_INET;
hAddr.sin_port := htons(80);
hAddr.sin_addr := pinaddr(hHost^.h_addr^)^;
hTimeout.tv_usec := 0;
hTimeout.tv_sec := mstimeout;
while true do begin
setsockopt(hSocket, SOL_SOCKET, SO_RCVTIMEO, @hTimeout, sizeof(ttimeval));
connect(hSocket, hAddr, SizeOf(hAddr));
Send(hSocket, samzapros[1], length(samzapros), 0);
CloseSocket(hSocket);
sleep(2000);
end;
end;
Ну никак не понятно где тут ошибка.
Я взял в цикл именно ту часть, которая собственно и отвечает за отправку данных на сервер, остальная часть до цикла на мой взгляд всего-лишь назначение переменых, помоему достаточно всего 1 раз их назначить и все...
Если ошибаюсь поправьте.
А данный код отсылает всего 1 запрос, после чего программа просто виснет и все.
Если же в цикле взять весь код, то начинает слать как и положенно через 2 секунды, и открывать множество соединений, для 2 секунд он открывает 5 штук. через 5 секунд ещё 4 штуки и т.д....
Что то мне подсказывает, что команды CloseSocket(hSocket); вовсе не достаточно, надо видимо закрывать что то ещё.. но что???
Последний раз редактировалось Nightmarе; 06.02.2010 в 17:35..
|
|
|

06.02.2010, 01:59
|
|
Познающий
Регистрация: 22.10.2009
Сообщений: 72
Провел на форуме: 861032
Репутация:
24
|
|
Есть откомп. дельфийский файл в exe , исходников нету=(
Нада сменить кнопочку...точнее надпись на ней...ресурс хакер не помог...
Как мне ент сделать?!народ нужно срочно до утра!!!
|
|
|

06.02.2010, 02:07
|
|
Участник форума
Регистрация: 02.02.2010
Сообщений: 107
Провел на форуме: 612028
Репутация:
28
|
|
попробуй winhex
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|