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

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

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

Ошибка из-за того что ты обращаешься к несуществующему символу:
Edit2.Text[1]
Прежде чем обращаться к эдиту сделай проверку наподобие
if Edit2.Text = '' then
begin
ShowMessage('Идите в жопу, поля снача заполнять надо!');
exit;
end;
и так перед обращением к каждому эдиту

Можно еще проверять по Length(Edit2.Text) = 0

Ах да, если тебе нужно чтобы в полях было количество символов не больше чем N то выстави свойства у эдитов MaxLength равным N

Последний раз редактировалось GhostOnline; 16.04.2010 в 15:45..
 
Ответить с цитированием

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

Репутация: 1680


Отправить сообщение для Nightmarе с помощью ICQ
По умолчанию

Цитата:
Сообщение от Pr0mo  
Ты при отсылки данных указываешь Connection:Close, то есть после закрытия очередного - каждый раз создается новое соединение. Можно открыть сокет, отправив Connection:Keep Alive, а дальше отсылать Get запрос только.
Увы, не помогает, и менял его, и вообще убирал сократив до:
send_buf:='GET '+p+' HTTP/1.0'#13#10'Host: '+h+#13#10#13#10#13#10;

Этот тоже не канает... крайне странно, но код глючный 100%, ибо тестировал на всех трёх системах, XP, Vista, Win7, везде одно и тоже, а на XP компьютер вообще падает.
 
Ответить с цитированием

IDC СМС Спамер...
  #6153  
Старый 16.04.2010, 17:15
Аватар для slesher
slesher
Banned
Регистрация: 30.11.2009
Сообщений: 1
Провел на форуме:
12739

Репутация: -5
Cool IDC СМС Спамер...

Всем привет! У меня такой вопрос...
Есть оператор мобильной связи IDC. Так же у них на серваке есть сайт для отправления СМС-Сообщений на телефоны подключенные к их компании... Вот ссылка: http://sms.idknet.com... Отсюда я и собираюсь отправлять СМС спам...
Немного подумав как это проще сделать я нашел самый оптимальный вариант, и перешел к действиям...
1) Снифером HTTP Analyzer 5.0 отсканировал post запрос, который отправляется на файлик отбработчика: http://sms.idknet.com/sms.php
Оказалось, что при отправке в обработчик поступают следующие параметры:
prefix - Код оператора
txtAddr - Номер телефона
sum - Оставшееся колличество символов
txtSM - Текст СМС Сообщения
code - Код Капчи
Submit2.x - Абсцысса кнопки "Отправить" (Оставить по умолчанию 35)
Submit2.y - Ордината кнопки "Отправить" (Оставить по умолчанию 15)
Submit2 - Надпись на кнопке (Оставить по умолчанию Отправить)

Если все это дело отправлять Get запросом, то выходит что то вроде такова: http://sms.idknet.com/sms.php?prefix=777&txtAddr=12345&sum=160&txtSM=%C2 %E2%E5%E4%E8%F2%E5+%F1%EE%EE%E1%F9%E5%ED%E8%E5.+%C 4%EB%E8%ED%E0+%F1%EE%EE%E1%F9%E5%ED%E8%FF+%ED%E5+% E4%EE%EB%E6%ED%E0+%EF%F0%E5%E2%FB%F8%E0%F2%FC+160+ %F1%E8%EC%E2%EE%EB%EE%E2.&code=&Submit2.x=35&Submi t2.y=15&Submit2=%CE%F2%EF%F0%E0%E2%E8%F2%FC

Но после нескольких эксперементов, убедился, что Get запросом тут не обойтись, пишет, что незаполнены поля...

Я стал юзать Post...
КОД:
procedure TForm1.Button2Click(Sender: TObject);
var data: tstringlist;
ssylka,STR: string;
begin
idhttp1.HandleRedirects:=true;
STR:=idhttp1.Get('http://sms.idknet.com');
ssylka:='http://sms.idknet.com/sms.php';
data:=tstringlist.Create;
data.Add('code='+edit3.text);
data.Add('prefix='+st);
data.Add('Submit2=Отправить');
data.Add('Submit2.x=27');
data.Add('Submit2.y=6');
data.Add('sum=160');
data.Add('txtAddr='+edit1.text);
data.Add('txtSM='+edit2.text);
str:=idhttp1.Post(ssylka, data);
showmessage(idhttp1.URL.URI);
if pos('class="bad"', STR) <> 0 then
label5.Caption:='Сообщение неотправленно!'
else
label5.Caption:='Сообщение отправленно!';
end;

И функция парса:
function tform1.pars(T_, ForS, _T:string):string;
var a, b: integer;
begin
Result:='';
if (T_ = '') or (ForS='') or (_T = '') then
exit;
a:=pos(T_,ForS);
if a = 0 then exit
else
a:=a+length(T_);
fors:=copy(ForS, a, length(ForS) - a + 1);
if b > 0 then
result:=copy(ForS,1,b-1);
end;

Все вродебы не плохо, но осталась одна нерешенная проблема!...(( Что делать с капчей...
Подумав, я не стал заморачиваться, и решил просто сделать так, чтобы капча выводилась в программу, и я сам ее каждый раз вводил...
Код примерно такой:

procedure TForm1.Label3Click(Sender: TObject);
var _Captcha : TJPEGImage;
F_body : TMemoryStream;
id, a:string;
MyIdHTTP : TIdHTTP;
begin
MyIdHTTP:=TIdHTTP.Create(Self);
F_body := TMemoryStream.Create;
_Captcha:=TJPEGImage.Create;
try
MyIdHTTP.Get('http://sms.idknet.com/code.php', F_body);
F_body.Seek(0, soFromBeginning);
_Captcha.LoadFromStream(F_body);
Image1.Picture.Assign(_Captcha);
Image1.Width:=_Captcha.Width;
Image1.Height:=_Captcha.Height;
finally
F_body.Free;
_Captcha.Free;
end;
end;

Сама капча находится на главной страничке http://sms.idknet.com, но вытаскивается туда она со странички http://sms.idknet.com/code.php

Все вроде бы замечательно, капчу программа в себя вытаскивает нормально, но когда я ее ввожу (и ввожу правильно) всеравно отправка не идет, и пишет что капча введена неверно!

Сначала не мог понять в чем прикол, потом догнал... Капча та каждый раз при обновление меняется...
Я получается вытаскиваю капчу одну, ввожу ее, а отом при Post запросе вытаскивается страница целиком вместе с капчей, следовательно и капча меняется...

Что мне делать в таком случае? Подскажите пожалуйста!!!
 
Ответить с цитированием

  #6154  
Старый 16.04.2010, 18:32
Аватар для HakaR
HakaR
Участник форума
Регистрация: 23.07.2009
Сообщений: 261
Провел на форуме:
4435957

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

slesher
idhttp + idcookiemanager + jpeg
у мну работает, можешь предпоследнию строчку расскоментировать, что бы смотреть резултат...
PHP код:
procedure TForm1.Button1Click(SenderTObject);
var
posttstringlist;
captchatextresultstring;
msTMemoryStream;
begin
ms 
:= TMemoryStream.Create;
post:=tstringlist.Create;
http.Get('http://sms.idknet.com/code.php'ms);
ms.SaveToFile('captcha_temp.jpeg');
ms.Clear;
captcha.Picture.LoadFromFile('captcha_temp.jpeg');
InputQuery('Captcha','Enter captcha',captchatext);
post.Add('prefix=777');
post.Add('txtAddr=13212');
post.Add('txtSM=test');
post.Add('sum=155');
post.Add('code='+captchatext);
result:=http.Post('http://sms.idknet.com/sms.php',post);
if 
AnsiPos('ОТПРАВЛЕНО'result) > 0 then
showmessage
('Отправлено') else showmessage('ХУЙ!');
//showmessage(result);
//cookie.CookieCollection.Clear;
ms.Free;
end

Последний раз редактировалось HakaR; 16.04.2010 в 18:37..
 
Ответить с цитированием

  #6155  
Старый 16.04.2010, 21:14
Аватар для [stranger]
[stranger]
Участник форума
Регистрация: 02.02.2010
Сообщений: 107
Провел на форуме:
612028

Репутация: 28
Отправить сообщение для [stranger] с помощью ICQ
По умолчанию

Цитата:
Сообщение от Nightmarе  
Увы, не помогает, и менял его, и вообще убирал сократив до:
send_buf:='GET '+p+' HTTP/1.0'#13#10'Host: '+h+#13#10#13#10#13#10;

Этот тоже не канает... крайне странно, но код глючный 100%, ибо тестировал на всех трёх системах, XP, Vista, Win7, везде одно и тоже, а на XP компьютер вообще падает.
нифига код не глючный! попробуй не себя ддосить, тогда все ок будет
для того чтобы убить апач(под виндой) достаточно нескольких секунд флуда этой функцией из-под 20 потоков, при том что флуд идет не на поиск а на на индекс
 
Ответить с цитированием

  #6156  
Старый 16.04.2010, 23:29
Аватар для Life7
Life7
Banned
Регистрация: 14.06.2009
Сообщений: 256
Провел на форуме:
260151

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

798180
 
Ответить с цитированием

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

Репутация: 1680


Отправить сообщение для Nightmarе с помощью ICQ
По умолчанию

Цитата:
Сообщение от [stranger]  
нифига код не глючный! попробуй не себя ддосить, тогда все ок будет
для того чтобы убить апач(под виндой) достаточно нескольких секунд флуда этой функцией из-под 20 потоков, при том что флуд идет не на поиск а на на индекс
В этом случае всё практически тоже самое, за исключением маленькой детали, а именно, соединений открывается примерно 100 штук, но выше уже не поднимается, то есть добегает до 100, и на этой планке стабильно висит.
Проверяю через Outpost, ну а на сколько это систему грузит, я к сожалению в Win7 на глаз определить не могу, но помоему всё равно не катит.
 
Ответить с цитированием

  #6158  
Старый 17.04.2010, 00:57
Аватар для ntldr
ntldr
Постоянный
Регистрация: 04.12.2007
Сообщений: 424
Провел на форуме:
2364957

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

Цитата:
Сообщение от Nightmarе  
В этом случае всё практически тоже самое, за исключением маленькой детали, а именно, соединений открывается примерно 100 штук, но выше уже не поднимается, то есть добегает до 100, и на этой планке стабильно висит.
Проверяю через Outpost, ну а на сколько это систему грузит, я к сожалению в Win7 на глаз определить не могу, но помоему всё равно не катит.
1)потоки не тру?
2)Это бы я вынес перед циклом.
PHP код:
hHost := gethostbyname(PChar(kuda));
 
hAddr.sin_family := PF_INET;
 
hAddr.sin_port := htons(80);
 
hAddr.sin_addr := pinaddr(hHost^.h_addr^)^;
 
hTimeout.tv_usec := 0;
 
hTimeout.tv_sec := mstimeout
я делфи не очень понимаю, но так вроде верно.
 
Ответить с цитированием

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

Репутация: 1680


Отправить сообщение для Nightmarе с помощью ICQ
По умолчанию

Цитата:
Сообщение от ntldr  
1)потоки не тру?
2)Это бы я вынес перед циклом.
PHP код:
hHost := gethostbyname(PChar(kuda));
 
hAddr.sin_family := PF_INET;
 
hAddr.sin_port := htons(80);
 
hAddr.sin_addr := pinaddr(hHost^.h_addr^)^;
 
hTimeout.tv_usec := 0;
 
hTimeout.tv_sec := mstimeout
я делфи не очень понимаю, но так вроде верно.
ну мне бы сначало с одним потоком разобраться, а уже потом многопоточность, а так по логике 10 потоков в 10 раз больше нагрузку сделают, и вместо 100 соединений будут 1000.
По поводу перед циклом, это без разницы.
 
Ответить с цитированием

  #6160  
Старый 17.04.2010, 01:15
Аватар для ntldr
ntldr
Постоянный
Регистрация: 04.12.2007
Сообщений: 424
Провел на форуме:
2364957

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

А зачем тебе
setsockopt(hSocket, SOL_SOCKET, SO_RCVTIMEO, @hTimeout, sizeof(ttimeval));

ты же ничего не recv'ишь
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[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