HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 05.02.2010, 15:39
BenZeR
Новичок
Регистрация: 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
 
Ответить с цитированием

  #2  
Старый 05.02.2010, 16:07
wolmer
Постоянный
Регистрация: 12.05.2009
Сообщений: 395
Провел на форуме:
4761503

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

Цитата:
Данные шлёт, но не долго, пока комп не упадёт =))
Что тут можно сделать, чтобы он бесконечно посылал запрос на сервер при этом не нагружая компьютер и не открывая кучу ненужных соединений?
Попробуй из CreateThread вызывать свою функцию (в цикле while (если бесконечно требуется куда то слать пакеты))(ибо была такая же проблема (программа висла (а не перезагр. комп.)))

На счет будет ли нагружать комп. -> не знаю

Последний раз редактировалось wolmer; 05.02.2010 в 16:12..
 
Ответить с цитированием

  #3  
Старый 05.02.2010, 16:38
Nightmarе
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме:
5749763

Репутация: 1680


По умолчанию

У меня проблемма не в потоках, а в одной функции.
Я не использую потоки, мне просто надо сделать так, чтобы через WinSock посылался запрос в бесконечном цикле.
делать задержку в 1 - 10 секунд так-же не вариант.
нужен бесконечный цикл без задержек и открытия кучи соединений.
 
Ответить с цитированием

  #4  
Старый 05.02.2010, 17:01
wolmer
Постоянный
Регистрация: 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..
 
Ответить с цитированием

  #5  
Старый 05.02.2010, 22:20
AlexTheC0d3r
Постоянный
Регистрация: 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);
сколько раз отошлет?
поэксперементируй с задержкой...
 
Ответить с цитированием

  #6  
Старый 05.02.2010, 22:51
wolmer
Постоянный
Регистрация: 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..
 
Ответить с цитированием

  #7  
Старый 05.02.2010, 22:55
AlexTheC0d3r
Постоянный
Регистрация: 25.07.2008
Сообщений: 454
Провел на форуме:
1229135

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

Цитата:
Сообщение от wolmer  
а вот так уже делать не правильно
почему?
 
Ответить с цитированием

  #8  
Старый 06.02.2010, 17:30
Nightmarе
Познавший АНТИЧАТ
Регистрация: 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..
 
Ответить с цитированием

  #9  
Старый 06.02.2010, 01:59
cLauZ
Познающий
Регистрация: 22.10.2009
Сообщений: 72
Провел на форуме:
861032

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

Есть откомп. дельфийский файл в exe , исходников нету=(
Нада сменить кнопочку...точнее надпись на ней...ресурс хакер не помог...
Как мне ент сделать?!народ нужно срочно до утра!!!
 
Ответить с цитированием

  #10  
Старый 06.02.2010, 02:07
[stranger]
Участник форума
Регистрация: 02.02.2010
Сообщений: 107
Провел на форуме:
612028

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

попробуй winhex
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Wi-Fi, BT] Задай вопрос - получи ответ! Alexsize Беспроводные технологии/Wi-Fi/Wardriving 2569 10.05.2026 13:27
[jQuery] - Задай вопрос, получи ответ Isis PHP 62 25.12.2009 03:25



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


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




ANTICHAT ™ © 2001- Antichat Kft.