Показать сообщение отдельно

  #10  
Старый 23.01.2010, 15:48
Solker
Участник форума
Регистрация: 04.05.2006
Сообщений: 161
С нами: 10537558

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

Изначально, срочно нужен был антивирус, залез на torrents.ru и качнул Avira. Позже в поисках кряка в той же теме, узнал, что Avira раздает триальные ключи по 3 месяца на каждое мыло. Оттуда же узнал о забавном сервисе, которые генерирует мыло на 10 минут.

Краткая инструкция для получения ключа выглядела так:
Цитата:
1. Заходим на http://10minutemail.com/10MinuteMail/index.html и получаем временный почтовик.
2. Заходим на https://license.avira.com/en/promotion-hylm9fbv7chaxs8zbl83 , заполняем форму и вставляем мыло, после жмем кнопочку и в течении 2-3 мин на почтовике смотрим письмо, в котором находим ссылку на получение ключа.
3. Получаем удовольствие.
Тут естественно в голове всплыло, что бы генерировать эти ключи каждые день автоматически. И по необходимости просто заходить на страницу и брать ключ с максимальным временем использования. Собственно нужна была база фамилий и имен, что бы это выглядело более менее правдоподобно, хотя потом оказалось, в те поля хоть мыло можно вписывать. Для этого и накатал скрипт представленный в первой темы.

А вот собственно код сервиса, который я и хотел реализовать.
PHP код:
<?php

set_time_limit
(0);

$names file('name.txt');
$name $names[rand(0,count($names))];

$familys file('family.txt');
$family $familys[rand(0,count($familys))];

list(
$mail,$cookie) = reg_new_mail();

if(
submit_form_avira($name,$family,$mail))
{
    for(
$i=0;$i<20;$i++)
    {
        if(
check_mail($cookie))
        {
            echo 
'Latter!'.chr(10);
            
$link read_letter($cookie);
            list(
$location,$cookie) = avira_login($link);
            
$file get_avira_key($location,$cookie);
            
$file_name 'Hbedv(Avira_Premium_Security_Suite_Valid_Until_'.date('d-m-Y',time()+60*60*24*90).').key';
            
file_put_contents('keys/'.$file_name,$file);
            
            echo 
$file_name.' created!';
            break;
        }        
        else
        {
            echo 
'Wait...'.chr(10);
            
sleep(10);
        }    
    }
}

function 
submit_form_avira($name,$family,$mail)
{
    
$url 'https://license.avira.com/en/promotion-hylm9fbv7chaxs8zbl83';

    
$ch curl_init();  
            
curl_setopt($chCURLOPT_URL$url); 
            
curl_setopt($chCURLOPT_HEADER1);
            
curl_setopt($chCURLOPT_SSL_VERIFYPEERfalse);
            
curl_setopt($chCURLOPT_SSL_VERIFYHOSTfalse);
            
curl_setopt($chCURLOPT_RETURNTRANSFER1);
            
$res_curl curl_exec($ch);
            
curl_close($ch);
            
    
preg_match_all('#action="(.+?)"#',$res_curl,$matches);
    
$action $matches[1][1];

    
preg_match('/^Set-Cookie: (.*)/m'$res_curl$source_cookie);
    
$cookie trim($source_cookie[1]);

    
$post "customerSalutationId=MIS&customerFirstname=$name&customerLastname=$family&customerEmail=$mail&customerCountryId=BI&buttonActivate=Request license now";
    
$url 'https://license.avira.com/'.$action;

    
$ch curl_init();  
                
curl_setopt($chCURLOPT_URL$url); 
                
curl_setopt($chCURLOPT_HEADER1);
                
curl_setopt($chCURLOPT_RETURNTRANSFER1);
                
curl_setopt($chCURLOPT_SSL_VERIFYPEERfalse);
                
curl_setopt($chCURLOPT_SSL_VERIFYHOSTfalse);
                
curl_setopt($chCURLOPT_FOLLOWLOCATION1);
                
curl_setopt($chCURLOPT_COOKIE$cookie);
                
curl_setopt($chCURLOPT_POST1);
                
curl_setopt($chCURLOPT_POSTFIELDS$post);
                
$res_curl curl_exec($ch);
                
curl_close($ch);
                
    return 
$res_curl;
}

function 
reg_new_mail()
{
    
$url 'http://10minutemail.com/10MinuteMail/index.html';
    
    
$ch curl_init();  
        
curl_setopt($chCURLOPT_URL$url); 
        
curl_setopt($chCURLOPT_HEADER1);
        
curl_setopt($chCURLOPT_RETURNTRANSFER1);
        
$res_curl curl_exec($ch);
        
curl_close($ch);
        
    
preg_match('/^Set-Cookie: (.*)/m'$res_curl$source_cookie);
    
$cookie trim($source_cookie[1]);
    
    
preg_match('#<br \/>(.+) is your temporary e-mail address#i',$res_curl,$source_mail);
    
$mail $source_mail[1];
    
    return 
$array = array($mail,$cookie);
}

function 
check_mail($cookie)
{
    
$url 'http://10minutemail.com/10MinuteMail/index.html';
    
    
$ch curl_init();  
        
curl_setopt($chCURLOPT_URL$url); 
        
curl_setopt($chCURLOPT_HEADER1);
        
curl_setopt($chCURLOPT_COOKIE$cookie);
        
curl_setopt($chCURLOPT_RETURNTRANSFER1);
        
$res_curl curl_exec($ch);
        
curl_close($ch);
    
    if(
preg_match('#avpe@avira.com#',$res_curl,$match))
        return 
$res_curl;
    else return 
false;
}

function 
read_letter($cookie)
{
    
$url 'http://10minutemail.com/10MinuteMail/index.html?dataModelSelection=message%3Aemails%5B0%5D&actionMethod=index.xhtml%3AmailQueue.select';
    
    
$ch curl_init();  
        
curl_setopt($chCURLOPT_URL$url); 
        
curl_setopt($chCURLOPT_HEADER1);
        
curl_setopt($chCURLOPT_COOKIE$cookie);
        
curl_setopt($chCURLOPT_FOLLOWLOCATION1);
        
curl_setopt($chCURLOPT_RETURNTRANSFER1);
        
$res_curl curl_exec($ch);
        
curl_close($ch);
    
    
preg_match('#^https:\/\/license\.avira\.com\/en\/hs-(.+)\.#m',$res_curl,$matches);
    
$link 'https://license.avira.com/en/hs-'.$matches[1];
    return 
$link;
}

function 
avira_login($link)
{
    
$url $link;

    
$ch curl_init();  
        
curl_setopt($chCURLOPT_URL$url); 
        
curl_setopt($chCURLOPT_HEADER1);
        
curl_setopt($chCURLOPT_SSL_VERIFYPEERfalse);
        
curl_setopt($chCURLOPT_SSL_VERIFYHOSTfalse);
        
curl_setopt($chCURLOPT_COOKIESESSION1);
        
curl_setopt($chCURLOPT_FOLLOWLOCATION0);
        
curl_setopt($chCURLOPT_RETURNTRANSFER1);
        
$res_curl curl_exec($ch);
        
curl_close($ch);
    
    
preg_match('/^Set-Cookie: (.*)/m'$res_curl$source_cookie);
    
$cookie trim($source_cookie[1]);

    
preg_match('/^Location: (.*)/m'$res_curl$source_location);
    
$location trim($source_location[1]);
    
    return 
$array = array($location,$cookie);
}

function 
get_avira_key($location,$cookie)
{
    
$url 'https://license.avira.com/en/'.$location;

    
$ch curl_init();  
        
curl_setopt($chCURLOPT_URL$url); 
        
curl_setopt($chCURLOPT_HEADER1);
        
curl_setopt($chCURLOPT_SSL_VERIFYPEERfalse);
        
curl_setopt($chCURLOPT_SSL_VERIFYHOSTfalse);
        
curl_setopt($chCURLOPT_COOKIE$cookie);
        
curl_setopt($chCURLOPT_FOLLOWLOCATION0);
        
curl_setopt($chCURLOPT_RETURNTRANSFER1);
        
$res_curl curl_exec($ch);
        
curl_close($ch);
    
    
preg_match('#href="\/customer\/(.+?)"#',$res_curl,$matches);

    
$key_link 'https://license.avira.com/customer/'.$matches[1];
    
$url $key_link;
    
    
$ch curl_init();  
        
curl_setopt($chCURLOPT_URL$url); 
        
curl_setopt($chCURLOPT_HEADER0);
        
curl_setopt($chCURLOPT_SSL_VERIFYPEERfalse);
        
curl_setopt($chCURLOPT_SSL_VERIFYHOSTfalse);
        
curl_setopt($chCURLOPT_COOKIE$cookie);
        
curl_setopt($chCURLOPT_FOLLOWLOCATION0);
        
curl_setopt($chCURLOPT_RETURNTRANSFER1);
        
$res_curl curl_exec($ch);
        
curl_close($ch);
        
    return 
$res_curl;
}
?>
Это дело кидается в крон и выполняется каждые сутки для генерации нового ключа.

И собственно готовый результат.
http://solker.spb.ru/avira/
 
Ответить с цитированием