СКРИПТ: Регистрация Google аккаунтов

Авторегистрация аккаунтов, почтовых ящиков, автозаполнение различных веб-форм.
Ответить
Аватара пользователя
XwebDeveloper
Сообщения: 51
Зарегистрирован: 13 ноя 2017, 12:53

СКРИПТ: Регистрация Google аккаунтов

Сообщение XwebDeveloper » 18 фев 2020, 23:26

Версия программы: Human Emulator Studio 7.0.44.

Для работы скрипта требуется наличие аккаунта в сервисах онлайн телефонов sms-activate.ru или 5sim.net и установленный тор. По желанию по аналогии можно использовать и другие сервисы.

Логика: Скрипт переходит на сайт google.ru, после переходит оттуда на регистрацию и выполняет регистрацию с помощью сервисов онлайн телефонов sms-activate.ru или 5sim.net.
Все зарегистрированные аккаунты записываются в результирующий файл. Вместо прокси используется tor.

Скрипт состоит:
Запускаемый файл - reg_google.php.
В папке tools находится файл functions.php, в котором содержатся все основные функции скрипта.
В папке data файл last_ip.txt c последним используемым ip.
В папке res файл res.csv с аккаунтами в формате одна строка один аккаунт.

Работа скрипта по шагам:
1. Задаём ip, если такой уже использовали, перезапускаем TOR и следом программу и получаем новый IP.
2. Генерируем данные для аккаунта.
3. Заполняем все поля.
4. Получаем телефон с сервиса и подставляем его.
5. Вводим полученный код.
6. Заполняем остальные данные.
7. Ставим галочки и нажимаем кнопку Создать Аккаунт.
8. После это проверяем, если зашли в аккаунт, то пишем данные ip и аккаунта в файлы.

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

Вот это место в коде.
$div->get_by_inner_text("Я принимаю Условия использования Google", true)->send_mouse_click(mt_rand(1,10),mt_rand(1,10));
sleep($wt);
$div->get_by_inner_text("Я даю согласие на обработку своей информации в соответствии с приведенными выше условиями. Примечание. Подробнее о том, как используются данные, рассказано в Политике конфиденциальности.", true)->send_mouse_click(mt_rand(1,10),mt_rand(1,10));
sleep($wt);
$span->click_by_inner_text("Создать аккаунт");
sleep($wt);


Плата за не использованные номера не снимается, но если вы заказали телефон и получили код, то плата снимается. Также нужно дожидаться отмены работы с номером телефона (вызов команды $smsactivate->set_status(8); ), если вы получаете номер и прерываете работу скрипта руками, то номер подвисает в сервисе, если вы подвесите так несколько номеров вы можете попасть в бан.

Разберём скрипт reg_google.php по частям.

Настройки.
/ ////////////////////// настройки /////////////////////
// sms active или  5sim.net
$sms_key='';

// 0 - Россия, 1 - Украина, 2 - Казахстан, 3 - Китай, 4 - Филиппины, 5 - Мьянма, 6 - Индонезия, 7 - Малайзия, 8 - Кения, 10 - Вьетнам, 11 - Кыргызстан, 12 - США, 13 - Израиль, 14 - Гонконг, 15 - Польша, 16 - Англия, 17 - Мадагаскар, 18 - Конго, 19 - Нигерия, 20 - Макао, 21 - Египет, 22 - Индия, 23 - Ирландия, 24 - Камбоджа, 25 - Лаос, 26 - Гаити, 27 - Кот д'Ивуар, 28 - Гамбия, 29 - Сербия, 30 - Йемен, 31 - ЮАР, 32 - Румыния, 33 - Колумбия, 34 - Эстония, 35 - Азербайджан, 36 - Канада, 37 - Марокко, 38 - Гана, 39 - Аргентина, 40 - Узбекистан, 41 - Камерун, 42 - Чад, 43 - Германия, 44 - Литва, 45 - Хорватия, 46 - Швеция, 47 - Ирак, 48 - Нидерланды, 49 - Латвия, 50 - Австрия, 51 - Беларусь, 52 - Таиланд, 53 - Сауд. Аравия, 54 - Мексика, 55 - Тайвань, 56 - Испания, 57 - Иран, 58 - Алжир, 59 - Словения, 60 - Бангладеш, 61 - Сенегал, 62 - Турция, 63 - Чехия, 64 - Шри-Ланка, 65 - Перу, 66 - Пакистан, 67 - Новая Зеландия, 68 - Гвинея, 69 - Мали, 70 - Венесуэла, 71 - Эфиопия, 72 - Монголия, 73 - Бразилия, 74 - Афганистан, 75 - Уганда, 76 - Ангола, 77 - Кипр, 78 - Франция, 79 - Папуа-Новая Гвинея, 80 - Мозамбик, 81 - Непал, 82 - Бельгия, 83 - Болгария, 84 - Венгрия, 85 - Молдова, 86 - Италия, 87 - Парагвай,
$country=1;
// промежуток проверки получения кода
$wt_code=15;

// файл с последним ip
$last_ip_file='data/last_ip.txt';
// задаём tor в качестве прокси
$cur_proxy = "socks5://127.0.0.1:9150";

// путь к tor
$path_tor='C:\\tor browser new\Tor Browser\Browser\firefox.exe';
// путь к файлу с результатами
$path_res='res/res.csv';

// ожидаем на перезагрузку tor
$wt_tor =15;
// пауза между шагами
$wt =3;

Перезапуск Tor и получение нового IP выполнено на основе скрипта перезапуска тора

Генерируем данные для формы:
// пол случайным образом
$gnd=mt_rand(0,1);
$sex = "woman";

// вставка имени и фамилии
if ($gnd == 1) $sex = "man";

// сгенерировать имя
$name = $submitter->generate_random_name("RU",$sex);
// фамилия
$LastName= $submitter->generate_random_second_name("RU",$sex);
// год рождения
$year=mt_rand(1970,2000);
// для двойных имён убираем пробел
$name=str_replace(' ','',$name);
// получим email на основе имени и фамилии
$email = rus2translit($name.$LastName);
$email = strtolower($email).$year;
// пароль сгенерировать
$password = generate_password(mt_rand(8,10));

// строка с результатами
$res_str = "$name;$LastName;$email;$password";
echo "$res_str<br>";

Заполнение полей до телефона:
// переходим на гугл
$browser->navigate("https://google.ru");
sleep($wt);
$anchor->click_by_href("https://accounts.google.com/Se", false);
sleep($wt);

// создём аккаунт
$span->click_by_inner_text("Создать аккаунт");
sleep($wt);
$div->get_by_inner_text("Для себя")->send_mouse_click(mt_rand(5,10),mt_rand(5,10));

sleep($wt);
// ожидаем элемент
//$h1->is_exist_by_inner_text("Создайте аккаунт Google", false);
wait_on_element_by_text($h1,"Создайте аккаунт Google");

// заполняем поля формы
// имя
$input->set_focus_by_name("firstName");
$input->send_keyboard_input_by_name("firstName",$name, "20:40");
// фамилия
$input->set_focus_by_name("lastName");
$input->send_keyboard_input_by_name("lastName",$LastName, "20:40");
// имя пользователя
$input->set_focus_by_name("Username");
$input->send_keyboard_input_by_name("Username",$email, "20:40");
// пароль
$input->set_focus_by_name("Passwd");
$input->send_keyboard_input_by_name("Passwd",$password , "20:40");
$input->set_focus_by_name("ConfirmPasswd");
$input->send_keyboard_input_by_name("ConfirmPasswd",$password , "20:40");
// нажимаем далее
$span->click_by_inner_text("Далее");
sleep($wt);
// $h1->click_by_inner_text("Подтвердите номер телефона", false);
// загрузка страницы с вводом телефона
$b_load=wait_on_element_by_text($h1,"Подтвердите номер телефона");
if(!$b_load)
{
  echo 'Не перешли на страницу с вводом телефона<br>';
  quit();
}

Работа с телефоном:
// заполняем телефон 
// получаем телефон из сервиса sms active
$phone = get_phone($sms_key,$country,$wt_code);
// получаем телефон из сервиса 5sim.net
//$phone = get_phone($sms_key,$country,$wt_code,'http://sms-activate.api.5sim.net');

// проверка на телефон
if($phone=='')
{
  echo 'Не получили телефон из сервиса<br>';
  quit();
}
// вводим номер телефона
$input->send_keyboard_input_by_attribute("id", "phoneNumberId", true,'+'.$phone, "20:40");
sleep(1);
// нажимаем далее
$span->click_by_inner_text("Далее");
sleep($wt);

if($div->is_exist_by_inner_text("Этот номер нельзя использовать", false) || $div->is_exist_by_inner_text("Неизвестный формат.", false))
{
  echo "Этот номер $phone нельзя использовать<br>";
  // сообщаем сервису что освобождаем номер
  $smsactivate->set_status(8); 
  quit();
}

// ожидаем код
$code=wait_code();

if($code=='')
{
  echo 'Не получили код из sms<br>';
  quit();
}
// вводим код полученный с сайта
$input->set_focus_by_name("code");
$input->send_keyboard_input_by_name("code",$code, "20:40");

// нажимаем кнопку подтвердить
$span->click_by_inner_text("Подтвердить");
sleep($wt);

Заполнение данных день месяц год рождения и пол:
// вводим поля
$input->send_keyboard_input_by_attribute("id", "day", true,mt_rand(1,28), "20:40");

$lb=$listbox->get_by_id("month");
$lb->send_mouse_click(mt_rand(1,10),mt_rand(1,10));
sleep($wt);
// получить месяц
$month=mt_rand(1,12);

echo $month;
// выбрать
for($ii=$month;$ii>0;$ii--)
   $keyboard->send_key(40, false);

  $keyboard->send_key(13, false);

$input->send_keyboard_input_by_attribute("id", "year", true,$year, "20:40");

// выбор пола
$gnd+=1;
$lb_g=$listbox->get_by_id("gender");
$lb_g->send_mouse_click(mt_rand(1,10),mt_rand(1,10));
sleep($wt);

for($ii=$sex;$ii>0;$ii--)
   $keyboard->send_key(40, false);

$keyboard->send_key(13, false);
sleep($wt);

$span->click_by_inner_text("Далее", false);
sleep($wt);

Остальные данные:
// загрузка страницы с вводом телефона
$b_load=wait_on_element_by_text($h1,"Используйте номер телефона в с");
if(!$b_load)
{
  echo 'Используйте номер телефона в с<br>';
  quit();
}

$btn->click_by_inner_text("Пропустить");
sleep($wt);

// загрузка страницы с вводом телефона
$b_load=wait_on_element_by_text($h1,"Конфиденциальность и Условия и");
if(!$b_load)
{
  echo 'Конфиденциальность и Условия и<br>';
  quit();
}

// пока нет кнопки создать
while(!$span->is_exist_by_inner_text("Создать аккаунт"))
{
  $div->get_by_attribute("role","button")->send_mouse_click(mt_rand(1,10),mt_rand(1,10));
  sleep(1);
}

$div->get_by_inner_text("Я принимаю Условия использования Google", true)->send_mouse_click(mt_rand(1,10),mt_rand(1,10));
sleep($wt);
$div->get_by_inner_text("Я даю согласие на обработку своей информации в соответствии с приведенными выше условиями. Примечание. Подробнее о том, как используются данные, рассказано в Политике конфиденциальности.", true)->send_mouse_click(mt_rand(1,10),mt_rand(1,10));
sleep($wt);
$span->click_by_inner_text("Создать аккаунт");
sleep($wt);

Сохраняем после проверки в файлы:
// проверка
if($anchor->is_exist_by_attribute("title","$email@gmail.com", false))
{
    echo "зарегистрировали аккаунт с данными $res_str";
    // запишем удачный ip
    $textfile->write_file($last_ip_file, $last_ip);
    // запишем результат в файл
    $textfile->write_file($path_res, $res_str."\r\n");
}

Скачать скрипт:
reg_google.zip
(8.08 КБ) 406 скачиваний
Запрос на создание скриптов viewforum.php?f=61

Аватара пользователя
super
Сообщения: 146
Зарегистрирован: 03 ноя 2017, 13:58

Re: СКРИПТ: Регистрация Google аккаунтов

Сообщение super » 19 фев 2020, 18:06

Спасибо!

Аватара пользователя
XwebDeveloper
Сообщения: 51
Зарегистрирован: 13 ноя 2017, 12:53

Re: СКРИПТ: Регистрация Google аккаунтов

Сообщение XwebDeveloper » 19 фев 2020, 20:28

super писал(а):
19 фев 2020, 18:06
Спасибо!
Если есть идеи скриптов или частей скриптов, которые было бы интересно написать в качестве примера, пишите, подумаем.
Запрос на создание скриптов viewforum.php?f=61

Аватара пользователя
Support
Site Admin
Сообщения: 1000
Зарегистрирован: 10 апр 2009, 17:45
Контактная информация:

Re: СКРИПТ: Регистрация Google аккаунтов

Сообщение Support » 11 мар 2020, 23:04

Вопрос перенесён в отдельную тему viewtopic.php?f=2&t=2578

Ответить