Авторские статьи Охотник за аськами

Discussion in 'Статьи' started by Ereee, 10 Dec 2011.

  1. Ereee

    Ereee Elder - Старейшина

    Joined:
    1 Dec 2011
    Messages:
    560
    Likes Received:
    370
    Reputations:
    267
    Охотник за аськами или "О, могучий, Google!"​

    0. INTRO
    В интернете полно сервисов с раздачой icq. Многие шлют на icq на почту. Сейчас напишем php-скрипт для получения асек.
    Для эксперимента я взял сервис:
    http://pux.su/icq/
    Для мыла будем юзать asdasd.ru. Его чудо в том, что, если перейти по ссылке:
    http://asdasd.ru/?u=chtoto
    Мы автоматически будем читать почту для chtoto@asdasd.ru.

    1. Инструменты
    1) Любой текстовой редактор
    2) http://google.ru для вопросов

    2. Начнем. Сбор инфы
    Перейдя по ссылке:
    http://pux.su/icq/
    видим одну форму "Ваш e-mail:" Смотрим исходник страницы:
    HTML:
    <form action="index.php" method="POST">
            Ваш e-mail: <br />
            <input type="text" name="mail" /> <br />
            <br />
            <input type="hidden" name="act" value="send" />
            <input type="submit" value="   Получить   " />
        </form>
    
    Из этого следует, что нужно передать POST-ом act = send, mail = nashemail@asdasd.ru на index.php
    Попробуем получить асью, вводим luboeslovo@asdasd.ru
    Видим:
    UIN отправлен на Ваш e-mail
    Проверяем почту:
    http://asdasd.ru/?u=luboeslovo
    Видим:
    [​IMG]
    Ура! Асья пришла, но открывать сообщение не спешим ;)
    Смотрим исходный код, нас интересует только эта строка:
    HTML:
    <td class="subj" onclick="location.href='/read/2935057?u=luboeslovo'; return false;"><div><div><a href="/read/2935057?u=luboeslovo">pux.su - Раздача ICQ</a></div></div></td>
    Это адрес сообщения с асьей, куда мы и перейдем. В глаза сразу попадается(это и нужно спарсить):
    Опять же смотрим исходник:
    HTML:
    --------------------<br />
    UIN: 558443096<br />
    Пароль: 82IZpcGQ<br />
    --------------------<br />
    <br />
    Информации для старта предостаточно!

    3. Реализация
    Первым делом, конечно, нужно сгенерировать адрес мыла. Поэтому взял генератор паролей :)
    PHP:
    /* Для мыла */
    $sim="qazxswedcvfrtgbnhyujmkiolp1234567890QAZXSWEDCVFRTGBNHYUJMKIOLP"//символы
    $max=10//длина
    $size=StrLen($sim)-1;
    $user=null
    while(
    $max--) 
    $user.=$sim[rand(0,$size)];
    $pref "@asdasd.ru"
    $mylo $user.$pref//готовый address@asdads.ru
    /*---------*/
    Теперь его надо передать на сайт POST-запросом. Для этого юзаем функцию на cURL:
    PHP:
    /* Функция отправки запроса */
    function make_http_post_request($url$post$ssl false$headers ''$uagent '') {
        if (empty(
    $url)) {
            return 
    false;
        }

        
    $_post = Array();

        if (
    is_array($post)) {
            foreach (
    $post as $name => $value) {
                
    $_post[] = $name.'='.urlencode($value);
            }
        }

        
    $ch curl_init($url);
        
        
    curl_setopt($chCURLOPT_RETURNTRANSFER1);
        
    curl_setopt($chCURLOPT_POST1);
        
    curl_setopt($chCURLOPT_HEADER0);
        
    curl_setopt($chCURLOPT_FOLLOWLOCATIONtrue);

        if (
    is_array($post)) {
            
    curl_setopt($chCURLOPT_POSTFIELDSjoin('&'$_post));
        }

        if (
    is_array($headers)) {
            
    curl_setopt($chCURLOPT_HTTPHEADER$headers);
        }

        if (!empty(
    $uagent)) { 
            
    curl_setopt($chCURLOPT_USERAGENT$uagent);
        }

        
    $result curl_exec($ch);

        if (
    curl_errno($ch) != && empty($result)) {
            
    $result false;
        }

        
    curl_close($ch);

        return 
    $result;
    }
    /*---------*/
    Функция готова, ну чтож, передаем мыло:
    PHP:
    /* Запрос для отправки ICQ на мыло */
    $post = Array('mail' => $mylo'act' => 'send'); //вот почему смотрели исходник в самом начале ;)
    $headers   = Array();
    $headers[] = "Content-type: application/x-www-form-urlencoded";

    $content make_http_post_request('http://pux.su/icq/index.php'$postfalse$headers'Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)'); //передача
    /*--------------------------*/
    Отлично! Осталось ждать прихода e-mail, делается это через sleep(); После парсим id сообщения(помните исходники?):
    PHP:
    sleep(5); // ждем 5 сек прихода e-mail
    /* Заходим в почту, колдуем */
    $pochta file_get_contents("http://asdasd.ru/?u=".$user);
    preg_match("#read(.*?)?u=#si"$pochta$matches); // парсим id сбщ с icq
    //print $matches[1]; // выводим id сообщения с icq
    /*-------------------------*/
    Тут немного говнокода... и самое главное - получение uin и pass :)
    PHP:
    /* Получаем сбщ с ICQ */
    $sep ="u="// мой говнокод.start
    $domain "http://asdasd.ru/read";
    $urlmsg $domain.$matches[1];
    $final file_get_contents($urlmsg.$sep.$user); // мой говнокод.end
    /* Вывод ICQ */
    preg_match("#UIN(.*?)-----#si"$final$match); //парсим UIN и пасс. У меня на денвере были траблы с кодировкой, решил строчкой ниже.
    $uin=str_replace("Пароль","Password",$match[0]); //замена кракозябра
    echo $uin//святая строка =)
    /*-------------------------*/
    Весь код:
    http://pastebin.com/VaRFSTRy
    Скрин результата:
    [​IMG]

    4. Нюансы
    ICQ дается людям с уник. IP. С денвера на 1 ip прошло 3-4 акка. Можно прикрутить proxies.txt и сохранять результат в текстовик. Но это защита от дурака, например от меня :D

    5. OUTRO
    Статья писалась человеком, который на 99% не знаком с php :D Юзал гугл, поэтому "О, могучий, Google!". Спасибо...
    (c) Ereee​
     
    #1 Ereee, 10 Dec 2011
    Last edited: 11 Dec 2011
    10 people like this.
  2. altblitz

    altblitz Elder - Старейшина

    Joined:
    5 Jun 2009
    Messages:
    3,697
    Likes Received:
    3,138
    Reputations:
    236
    ТС, зачем это?

    пасс вернётся обладателю уина. без твоего спроса.
     
    1 person likes this.
  3. Fepsis

    Fepsis Elder - Старейшина

    Joined:
    17 Sep 2008
    Messages:
    791
    Likes Received:
    391
    Reputations:
    72
    Да всё гуд, для практики в каком нить ЯПе такие релизы самое то... Думаю именно этим ТС и занимается...
     
    1 person likes this.
  4. Xalid

    Xalid New Member

    Joined:
    20 Jul 2010
    Messages:
    0
    Likes Received:
    1
    Reputations:
    -5
    Неплохая статейка для новичков
     
  5. Kontik

    Kontik Banned

    Joined:
    25 Nov 2010
    Messages:
    190
    Likes Received:
    28
    Reputations:
    -10
    да нормальная
    тема..
    дайте челу развиться
    не рубите с плеча..
     
Loading...