ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

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

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

Стремясь к Халяве?!
  #1  
Старый 13.05.2010, 02:16
fantme
Новичок
Регистрация: 20.12.2009
Сообщений: 4
Провел на форуме:
7573

Репутация: 0
Question Стремясь к Халяве?!

Пытаюсь написать прогу для рассылки смс по всем операторам. Так как шлюзы рабочие не у всех есть (разные страны - разные операторы) использую ICQclient, конкретней функцию SendSms компонент юзаю 1.35 от царя... К сожалению компонент именно в плане рассылки смс не доработанный. Царь не расположен работать с платными сервисами (его слова). А мне с моими знаниями разобраться отчего не работает отправка не светит. Подскажите что можно сделать. И еще... www.sms-send.org.ua на данном сайте смотрел доступные шлюзы, у меня так сформировалось мнение что те шлюзы которые "несуществующие" просто неизвестны, но смс на некоторые операторы с "отсутствующим" шлюзом с аси приходят... т.е передача все таки идет, значит как то ее можно отловить? что скажете?

P.s не бейте слишком я вродь как еще новичек))))
 
Ответить с цитированием

  #2  
Старый 13.05.2010, 03:37
090808
Познающий
Регистрация: 15.03.2009
Сообщений: 87
Провел на форуме:
893829

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

В icqclient функция SendSMS,не работает. Об этом обсуждалось уже давно .
А ещё точнее это платная возможность

Последний раз редактировалось 090808; 13.05.2010 в 03:40..
 
Ответить с цитированием

  #3  
Старый 13.05.2010, 12:27
Jingo Bo
Познающий
Регистрация: 25.10.2009
Сообщений: 97
Провел на форуме:
604635

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

Если что то понимаешь ICQ протоколе, то могу скинуть свой код на Java, когда то давно со сниффером расшифровывал трафик от офиц. клиента. Привяжешь к TIcqClient
 
Ответить с цитированием

  #4  
Старый 14.05.2010, 00:00
fantme
Новичок
Регистрация: 20.12.2009
Сообщений: 4
Провел на форуме:
7573

Репутация: 0
Lightbulb

Цитата:
А ещё точнее это платная возможность
Возможность то платная, но помойму около 30 сообщений начальных есть, и за каждое сообщение отправленное с телефона +5 смс на асю... америку я не открываю, просто хотелось бы как то это воплотить в программу.

Цитата:
Если что то понимаешь ICQ протоколе
Понимаю чисто теоретичесики, но разобраться думаю смогу...

Цитата:
код на Java
А вот с этим малехо проблематично... Я сугубо на дельфях пока програмлю. С++ знаю чуть-чуть а с джавой вообще никогда не работал( Код кидай, буду безумно благодарен. И может подскажете что почитать чтоб иметь хоть малейшее представление о джаве и как она взаимодействует с борландским кодом?
 
Ответить с цитированием

  #5  
Старый 14.05.2010, 01:38
Jingo Bo
Познающий
Регистрация: 25.10.2009
Сообщений: 97
Провел на форуме:
604635

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

Цитата:
А вот с этим малехо проблематично... Я сугубо на дельфях пока програмлю. С++ знаю чуть-чуть а с джавой вообще никогда не работал( Код кидай, буду безумно благодарен. И может подскажете что почитать чтоб иметь хоть малейшее представление о джаве и как она взаимодействует с борландским кодом?
Ну уж завтра тогда, там нужно мой мидлет нарыть и декомпилировать, основные исходники уже как год пропали(хард накрылся), благо не подвергал обфускации, так что читабельно. Если разбрешься - там весь протокол был расшифрован вплоть до полной расшифровки SNAC 4 7 Щас не пишу т.к. одна(точнее не одна) не хорошая история сложилась.
 
Ответить с цитированием

  #6  
Старый 17.05.2010, 22:08
fantme
Новичок
Регистрация: 20.12.2009
Сообщений: 4
Провел на форуме:
7573

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

эмм... ну как там с исходниками?
 
Ответить с цитированием

  #7  
Старый 18.05.2010, 01:09
Jingo Bo
Познающий
Регистрация: 25.10.2009
Сообщений: 97
Провел на форуме:
604635

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

Извиняюсь что позабыл, короче нашёл, вот код на яве :
Код:
    public void _sendSMS(String phoneNumber, String content)
    {
        if(phoneNumber == null || content == null || phoneNumber.length() == 0 || content.length() == 0)
        {
            new kException(289, 6, "\u041E\u0448\u0438\u0431\u043A\u0430 \u043E\u0442\u043F\u0440\u0430\u0432\u043A\u0438 SMS, \u043D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u044B\u0435 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B!");
            return;
        }
        if(phoneNumber.startsWith("+7"))
        {
            new kException(289, 7, "\u041E\u0448\u0438\u0431\u043A\u0430 \u043E\u0442\u043F\u0440\u0430\u0432\u043A\u0438 SMS, \u043D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u044B\u0439 \u043D\u043E\u043C\u0435\u0440(\u0434\u043E\u043B\u0436\u0435\u043D \u043D\u0430\u0447\u0438\u043D\u0430\u0442\u044C\u0441\u044F \u0441 +7)");
            return;
        }
        if(!isLogged())
        {
            return;
        } else
        {
            Pack pkt = new Pack(++SEQ1, 2);
            pkt.packetAppendSnac(21, 2);
            Pack raw = new Pack(-1, -1);
            raw.packetAppend16(0, false);
            raw.packetAppend32(Integer.valueOf(user.UIN).intValue(), false);
            raw.packetAppend16(2000, false);
            raw.packetAppend16(++SEQ2, false);
            raw.packetAppend16(5250, false);
            byte unk[] = {
                0, 1, 0, 22, 0, 0, 0, 0, 0, 0, 
                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
                0, 0
            };
            raw.packetAppend(unk);
            String xml = String.valueOf(String.valueOf((new StringBuffer("<icq_sms_message><destination>")).append(phoneNumber).append("</destination><text>").append(content).append("</text><encoding>utf8</encoding><senders_UIN>").append(user.UIN).append("</senders_UIN><senders_name>").append(user.NICK).append("</senders_name><delivery_receipt>Yes</delivery_receipt><time>").append(utl.getDateStringForSMS()).append("</time><ICQVersion>prili</ICQVersion><ICQBuildID>2321</ICQBuildID><ICQPartner></ICQPartner></icq_sms_message>")));
            raw.packetAppendString16(xml, true, false, true);
            utl.putWord(raw.data, 0, raw.getFullLength() - 2, false);
            pkt.TLVAppend(1, raw.getFullLength(), raw.getAllData());
            scktBos.sendPacket(pkt);
            return;
        }
    }
На делфи переводить не буду, т.к. не работал с IcqClient. Объясню как код работает.
Создаётся новый пакет канала 2(обычного).
В него добавляется SNAC 21, 2. Теперь про этот пакет забываем.

Создаём пакет-буфер, в него запихиваем :
1. WORD, значение - 0
2. INT, значение - наш UIN(LE)
3. WORD, значение 2000(LE)
4. WORD, значение - счётчик пакетов(LE)
5. WORD, значение - 5250(LE)
6. 22 неизвестных байта(они не меняются ни когда и не расшифрованы) - 0, 1, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
7. Создаём строку - "<icq_sms_message><destination>" + phoneNumber + "</destination><text>" + текст смски + "</text><encoding>utf8</encoding><senders_UIN>" + свой UIN + "</senders_UIN><senders_name>" + свой ник + "</senders_name><delivery_receipt>Yes</delivery_receipt><time>" + процедура возвращающяя текущее время для СМС +"</time><ICQVersion>prili</ICQVersion><ICQBuildID>2321</ICQBuildID><ICQPartner></ICQPartner></icq_sms_message>"
8. WORD, значение - длинна предыдущецй строки(BE)
9. Сама строка из 7-ого пункта.(NullTerminated)
Теперь в буфер-пакете в нулевой позиции пишем WORD со значением длинны самого буфер-пакета - 2(LE)
И самое последнее - возвращаемся к нашему главному пакету, в него пишем TLV с типом - 1, длинной - длинна буфер пакета, и данными - данные буфер пакета. Если не знаешь что такое TLV - TypeLengthValue, то есть в пакет пишется Type - WORD(BE), Length - WORD(BE), Value - data длинный Length.
Если не знаешь что такое LE, BE - обычные данные и перевёрнутые. К примеру у перевёрнутого WORD байты будут подменены местами.
Как полчить текущее время для СМС - читай как создаётся текущаяя дата в HTTP заголовках, к примеру expires в куках. В Indy Есть такая функция(посмотри IdCookieManager).

Теперь пакет отправляем. Принцип описал

Последний раз редактировалось Jingo Bo; 18.05.2010 в 01:13..
 
Ответить с цитированием

  #8  
Старый 18.05.2010, 20:13
fantme
Новичок
Регистрация: 20.12.2009
Сообщений: 4
Провел на форуме:
7573

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

спасибо Огромное. Принцып понял буду реализовать на делфях))

Последний раз редактировалось fantme; 18.05.2010 в 20:47..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Уязвимости скрипта Bux DIMON4G Уязвимости 24 31.05.2010 00:42
Почта на халяве jaim PHP, PERL, MySQL, JavaScript 3 10.04.2006 16:40



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


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




ANTICHAT.XYZ