информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Страшный баг в WindowsГде водятся OGRы
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[Win32] Как отправить SMS через инет? 03.12.01 04:22  Число просмотров: 1363
Автор: lukash Статус: Незарегистрированный пользователь
<"чистая" ссылка>
меня просто это убивает все об этом говорят, но толком 0
звонишь своему оператору и спрашиваешь
например, киевстар
для тел номера xxxxxxxxxx
мэил такой xxxxxxxxxx@2sms.kyivstar.net
а для твоего позвони и узнай
<programming>
[Win32] Как отправить SMS через инет? 02.12.01 19:44  
Автор: Паша Федорцов Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Как отправить SMS через инет? Каким серваком и протоколом пользоваться, может кто подскажет?
[Win32] Как отправить SMS через инет? 02.12.01 22:38  
Автор: OverKill <::.0v3rK1LL.::> Статус: Member
<"чистая" ссылка>
> Как отправить SMS через инет? Каким серваком и протоколом
> пользоваться, может кто подскажет?
Советую поискать эту тему в ранее задававшихся вопросах.
А вообще, ася умеет смс рассылать.
[Win32] Как отправить SMS через инет? 03.12.01 04:22  
Автор: lukash Статус: Незарегистрированный пользователь
<"чистая" ссылка>
меня просто это убивает все об этом говорят, но толком 0
звонишь своему оператору и спрашиваешь
например, киевстар
для тел номера xxxxxxxxxx
мэил такой xxxxxxxxxx@2sms.kyivstar.net
а для твоего позвони и узнай
[Win32] Как отправить SMS через инет? 03.12.01 04:55  
Автор: BXS Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> меня просто это убивает все об этом говорят, но толком 0
> звонишь своему оператору и спрашиваешь
> например, киевстар
> для тел номера xxxxxxxxxx
> мэил такой xxxxxxxxxx@2sms.kyivstar.net
> а для твоего позвони и узнай

Очень просто!
1. Найди сайт оператора который тебе нужен...
2. глянь внутрь формы (изучи просто html формат для отсылки. может придеца некоторые поля выкинуть а некоторые генерить самому (типа браузер, печенье итд))
3. пиши простейшего tcp клиента и спихивай на сайт форму...
4. можешь даже принимать ответ и проверь на код возврата (обычно на пагебудет написано доставлено или нет)

Недостаток такого метода - каждый раз как на сайте изменица протокол передачи вероятно придеца переписывать и клиента.

На этом простейшем принципе основаны все проги этого класса...
Я как то тоже хостил один такой проект...
BXS !!!!!! 03.12.01 21:06  
Автор: Паша Федорцов Статус: Незарегистрированный пользователь
<"чистая" ссылка>
BXS отсавь свое мыло плз.... !!!! или напиши подробнее на disappearpf@mail.ru
возног гарат !!!!! *-)) beer and "><<((@)>"
идея + исходник !!!!!! 03.12.01 22:02  
Автор: BXS Статус: Незарегистрированный пользователь
<"чистая" ссылка>
вот я тебе выдрал часть исходника для подобных затей.
(практически это было реализовано в первых версиях P-SMS клиента. Правда проект я уже закрыл но прогу можно найти по сети...)
идея тут следующая:
Задача - послать мессагу на трубу МТС.
Скрипт на МТСе требует на входе: номера абонента, тело сообщения, время и дату. Замечу - что время и дата - существенные показатели... Мессага может не отсылаца если она просрочена итд... Если ты будешь сам вводить время и дату - то исходник которыя я приведу внизу можно будет упростить (выкинуть часть загрузки времени и даты). Предположим что ты хочешь чтобы прога полностью за тебя формировала запросы к МТС. Для реализации тебе нужно просто сэмитировать работу браузера:
1. Запросить страничку с формой
2. извлечь из нее дату и время
3. сформировать свой заголовок
4. скинуть ответ скрипту
*. отсылать можно как напрямую так и с халявных проксей (все это показано внизу)

Итак, приступаем:

// некоторые переменные может не нужны а некоторых может не хватать тут - просто я не особо церемонился... если нету - значит объяви недостающие глобальными... остальное очевидно...

#define MTS_SERVER "www.mts.ru"
#define MTS_URL "http:\/\/www.mts.ru/sms"
#define MTS_PATH "/sms/sent.html"
in_addr MTS_IP;
SOCKET MsgSock;
PHOSTENT phe;
char Request[3000], Temp_Request[2000],RecvBuffer[520]="\0", *Ptr, *Ptr2 *MTS_BUFFER, Proxy[255], IP[16], Temp_Path[64];
BYTE Return;
WORD PORT;
int Offset=0, Result, count, Action_Len, Session_Value_Len;


struct send_properties{
char Id[12]; // тут будет телефон
char Message[500]; // мессага
char SendAfter[20];
char Repeat[5];
char Transliterate[15];
char Hour[3];
char Minute[3];
char Day[3];
char Month[3];
char Year[5];
}Send_Properties;




// заполняем адрес
if((phe=gethostbyname(MTS_SERVER))!=0){
memcpy(&MTS_IP,phe->h_addr, phe->h_length);
MTS_IP_FOUND=TRUE;
}
// заполняем поле прокси если она вааще нужна
if(PROXY_ON ==1){
wsprintf(Proxy," http://%s",MTS_SERVER);
wsprintf(IP,"%s",RegData.Proxy_Ip);
PORT = RegData.Proxy_Port;
}
else{
wsprintf(Proxy," ");
wsprintf(IP,"%s",inet_ntoa(MTS_IP));
PORT = SERVER_PORT;
}

wsprintf(Temp_Request,"GET%s%s HTTP/1.0",Proxy,MTS_PATH); // тут уже в Temp_Request есть весь HTTP GET заголовок. Тепреь добавим разной стандартной дряни

GenerateHeader(Request, Temp_Request,MTS_URL,IP); // тело этой ф-ции находица в самом низу

if((Result=Transmit_Packet(IP, PORT, Request, TRUE, MTS_BUFFER, MTS_BUFFER_SIZE))<0){
LocalFree(MTS_BUFFER);
Return=1;
goto Exit_Thread;
} // эта функция просто по открытому сокету трансферит данные. возвращает -1 если ошибка и размер трансчеренных байтов если все зашибись.

// На этом этапе мы получили стандартную страничку с сервера (ту которую ты получаешь заходя через браузер). теперь надо оттуда выдрать время и дату (по умолчанию они присылаюца сервером в скрытых полях формы)

Ptr=MTS_BUFFER;
for(count=0;count!=5;count++){
if((Ptr=strstr(Ptr,"selected value="))==0){
LocalFree(MTS_BUFFER);
Return=1;
goto Exit_Thread;
}
Ptr+=16;
Offset=0;
UNTIL_QUOTE:
if(Offset>5){
LocalFree(MTS_BUFFER);
Return=1;
goto Exit_Thread;
}
if(Ptr[Offset]=='"')
goto GET_NEXT_FIELD;
MTS_TIME[count].Item[Offset]=Ptr[Offset];
Offset++;
goto UNTIL_QUOTE;
GET_NEXT_FIELD:
Offset=0;
}

wsprintf(Send_Properties.Hour,"%s",MTS_TIME[0].Item);
wsprintf(Send_Properties.Minute,"%s",MTS_TIME[1].Item);
wsprintf(Send_Properties.Day,"%s",MTS_TIME[2].Item);
wsprintf(Send_Properties.Month,"%s",MTS_TIME[3].Item);
wsprintf(Send_Properties.Year,"%s",MTS_TIME[4].Item);

LocalFree(MTS_BUFFER);

if(PROXY_ON ==1){
wsprintf(Proxy," http://%s",MTS_SERVER);
wsprintf(IP,"%s",RegData.Proxy_Ip);
PORT = RegData.Proxy_Port;
}
else{
wsprintf(Proxy," ");
wsprintf(IP,"%s",inet_ntoa(MTS_IP));
PORT = SERVER_PORT;
}

// формируем уже настоящий запрос с сообщением wsprintf(Temp_Request,"GET%s%s?Posted=1&To=%s&Msg=%s&count=%d&SMSHour=%s&SMSMinute=%s&SMSDay=%s&SMSMonth=%s&SMSYear=%s HTTP/1.0",
Proxy,MTS_PATH, Send_Properties.Id,Send_Properties.Message, lstrlen(буфер с твоей мессагой),Send_Properties.Hour,Send_Properties.Minute,Send_Properties.Day,Send_Properties.Month,Send_Properties.Year);
GenerateHeader(Request, Temp_Request,MTS_URL,IP);

if((Result=Transmit_Packet(IP, PORT, Request, FALSE, 0, 0))<0){
Return=1;
goto Exit_Thread;
}
Return=0;
goto Exit_Thread;


// отослано :))

// далее можно получить ответ от скрипта и проверить на наличие фразы "сообщение отправлено" - success и failure иначе... сам решишь стоит ли...


-------------------
int GenerateHeader(char *Output, char *Input, char *Referer, char *Ip){
//эта ф-цтя гененит заголовки для закоса под разные браузеры... извращайся тут как хочешь.. в примере токо 2 case

switch(rand()%8){
case 1:
wsprintf(Output,"%s\r\nUser-Agent: Opera/4.02 (Windows 98; U) [en]\r\n\
Host: %s\r\n\
Referer: %s\r\n\
Accept: text/html, image/png, image/jpeg, image/gif, image/x-xbitmap, image/vnd.wap.wbmp;level=0, */*\r\n\
Accept-Language: en\r\n\
Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0\r\n\
Connection: Keep-Alive\r\n\r\n",Input,Ip,Referer);
break;
case 2:
wsprintf(Output,"%s\r\n\
User-Agent: Mozilla/4.0 (Windows 4.10;US) Opera 3.60 [en]\r\n\
Accept: image/gif, image/x-xbitmap, image/jpeg, image/png, */*\r\n\
Referer: %s\r\n\
Host: %s\r\n\r\n",Input,Referer,Ip);
break;
case ДО_ХРЕНА:
итд.


// Оговорюсь сразу - это старый исходник, вероятно МТС поменяла пути к нужным файлам или переименовала - поэтому может не будет работать.... но это просто техническая проблема которая решаеца за 30- минут.

Юзай на здоровье!
Но а если мелодии или логотипы? 04.12.01 07:06  
Автор: Паша Федорцов Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Спасибо большое! Но так я смогу послать текстовую SMS а мне нужно послать на трубу мелодию. Я так понимаю, что сервак MTC формирует SMS как текстовую и таким образом ничего не выйдет, или я ошибаюсь?
Но а если мелодии или логотипы? 04.12.01 08:56  
Автор: BXS Статус: Незарегистрированный пользователь
<"чистая" ссылка>
А с сервака по ходу и незя сливать картинки (( (по крайней мере у МТС). К тому же я описал кустарный способ для мессаг...
ася похоже совершенно иначе коннектица....
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach