Русский
Русский
English
Статистика
Реклама

Вацап

Перевод Хакаем WhatsApp, чтобы следить за активностью контактов

26.04.2021 10:24:01 | Автор: admin
WhatsApp сообщает пользователю статус его контактов.

TL;DR: можно защититься от этого хака, изменив настройки конфиденциальности аккаунта. По умолчанию WhatsApp делится вашим статусом с другими людьми. Но так как в наши дни никто не меняет настройки, этот хак срабатывает практически всегда.

Дисклеймер: эта статья является proof of concept, призванной привлечь внимание к проблеме, а также попрактиковать свои технические навыки. Не используйте код для слежки за людьми.



WhatsApp на Android

Эксплойт функции


Я хочу создать эксплойт этой функции для слежения за пользователями (ради научного исследования, конечно). Возникает первый вопрос: как она работает?

Чтобы разобраться, я использую https://web.whatsapp.com/ в веб-браузере ноутбука вместо приложения в Android-смартфоне. То есть для создания эксплойта мне придётся иметь дело с обычным реверс-инжинирингом веб-приложения. Реверс-инжиниринг приложения для Android я оставлю на потом.

Я выбрал друга из контактов телефона, чтобы посмотреть, как ведёт себя его статус на моей стороне.

Изначально статус имеет значение Offline, и в этом случае WhatsApp передаёт вам абсолютную дату вида last seen 16/03/2020 at 15:40.


Разблокирую телефон друга и открываю приложение (не WhatsApp), занимаюсь этим минуту, на моей стороне ничего не происходит.

Ладно, теперь переключаемся на WhatsApp. 10 секунд спустя статус изменился на online. Я не перехожу в беседы, которые являются общими с этим телефоном/контактом, чтобы убедиться, что статус передаётся без этого условия.


Статус online сохраняется, пока я не выхожу из WhatsApp или не отключаю экран целевого телефона.

После этого приложение возвращается к новому last seen и состоянию offline.


Подведём итог:

  • Мы не сможем следить за местоположением пользователя в мире при помощи его телефона (надеюсь!)
  • Но мы можем отслеживать, пользуются ли WhatsApp те, кто находится в наших контактах
  • Утекающая информация представляет собой дату last seen и статус online для каждого контакта
  • Можно ожидать как минимум точность до минуты для даты last seen
  • А статус online отображается, если WhatsApp был открыт хотя бы в течение 5-10 секунд

Технический анализ


Открываю отладчик Firefox, чтобы посмотреть, как фронтенд веб-приложения WhatsApp получает нужные данные.

Фронтенд использует для получения данных в реальном времени связь через веб-сокеты, примерно через каждые 10-15 секунд.


Если внимательно следить, то можно заметить, что фронтенд пингует сервер примерно каждые 15 секунд строкой ?,,, и почти всегда за этим следует ответ !{timestamp}. Что-то типа проверки активности соединения. Нам это неинтересно.


Когда статус контакта меняется, сервер передаёт фронтенду сообщение другого типа.



Частично скрытое мной значение id это номер телефона, type это флаг доступен/недоступен, t это временная метка даты last seen. Вся полезная нагрузка инкапсулирована в объект Presence, который легко можно распознать.

Временная метка совпадает с тем, что мы видим в UI.


Преобразовано с помощью www.epochconverter.com

Ограничения


Для получения событий presence от сервера через веб-сокеты, мы (фронтенд) подписываемся на конкретный номер телефона (id). Это срабатывает, когда мы выбираем другую беседу/контакт при помощи веб-интерфейса.


Итак, в этой концепции мы можем получать только события presence активного контакта. Другими словами, мы можем отслеживать одновременно только один контакт через веб-сокетное подключение. Очень жаль!

Также WhatsApp не позволяет нам открывать несколько параллельных экземпляров приложения (с одинаковыми куки). То есть мы никак не сможем одновременно открыть два канала веб-сокетов. Это было бы слишком просто!


И, наконец, это поведение вида одна веб-сессия WhatsApp за раз сохраняется при попытке создания двух независимых сессий (с разными куки). Новая сессия заставляет старую закрыться, в частности, на слое веб-сокетов.

Ещё одно ожидаемое ограничение: валидность сессии ограничена по времени. Срок моей истёк 22.10.2020, спустя шесть с лишним месяцев. Странно, что можно так получить подобную информацию на фронтенде. Возможно, я что-то не так понял.


Наивная реализация


Теперь, когда мы определили, в чём заключается функция status WhatsApp и как её можно злонамеренно использовать для слежения за пользователями, настало время писать код. Также мы взглянем на техническую реализацию и поищем возможные простые уязвимости безопасности.

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

Мне хочется увидеть, чего можно добиться дешёвым хакингом, а уже потом приступать к более сложным вещам.

Я разобью proof of concept на три этапа:

  • Получение данных
  • Сохранение данных (легко)
  • Визуализация данных (легко, но у меня вызовет сложности)

Скрейпить данные я буду с помощью Node.js и Puppeteer; Puppeteer позволяет нам управлять браузером и взаимодействовать также, как это бы делал пользователь с мышью и клавиатурой. Это позволяет нам избежать сложного реверс-инжиниринга на уровне веб-сокетов, и именно поэтому я выбрал этот способ. Вообще я больше привык работать с Selenium + C#. Это мой первый эксперимент с Puppeteer, так что не судите строго.

const puppeteer = require('puppeteer');// The contact name to track (mind the case).const contactTarget = "Jean-Mich";(async () => {    const browser = await puppeteer.launch({         headless: false, // No headless to scan the QR code.         userDataDir: 'data/userdata' // Persist the session.    });    const page = await browser.newPage();    await page.goto('https://web.whatsapp.com/');    await page.waitFor(5000);    console.log('Awaiting/Checking peering with WhatsApp phone');    await page.waitFor('#side', { timeout: 60000 }).then(() => { // Scan the QR code within the next minute.        console.log('Connected !');    }).catch((res) => {        console.log('Not connected !', res);        return -1;    })    await page.waitFor(1000);    await page.focus('._2S1VP'); // Focus search input form.    await page.keyboard.type(contactTarget, { delay: 100 });    await page.waitFor(6000);    let contactElt = (await page.$x(`//*[@class="_25Ooe" and . = "${contactTarget}"]`))[0]; // Select the best result.    contactElt.click();    await page.waitFor(5000);        let statusElt = await page.$('.O90ur');    let status = await statusElt.evaluate(x => x.textContent);    console.log(`Status for ${contactTarget} is '${status}'.`); // `last seen today at 13:15` format.    await browser.close();})();

Мы реализовали базовую функциональность в 38 строках кода.

Чтобы двигаться дальше, нам нужно спарсить формат last seen today at 13:15 в формат даты. Для этого я использую замечательный npm-пакет chrono-node.

const chrono = require('chrono-node');// ...let status = await statusElt.evaluate(x => x.textContent);  // `last seen today at 13:15` format.let lastSeenDate = chrono.parseDate(status);// ...

Наконец, я реализовал в коде цикл, постоянно сканирующий статус и сохраняющий его в InfluxDB 2.0.

InfluxDB это база данных временных рядов (time-series database). Она идеально нам подходит.

Я на основании даты last seen я запишу UInteger в переменную offline since. Это будет счётчик секунд, прошедших после даты last seen.

Если статус online, то offline since будет иметь значение 0.

Извлечение наших данных это превращение данных событий в данные временных рядов.

Такая структура лучше подходит для InfluxDB и особенно для Grafana, которая будет отображать наши данные. К тому же она не хранит состояния, мне это нравится.

Для сохранения данных в InfluxDB 2.0 я использую клиент Node.js с форматом line protocol базы данных InfluxDB.

measurementName,tagKey=tagValue fieldKey="fieldValue" 1465839830100400200--------------- --------------- --------------------- -------------------       |               |                  |                    |  Measurement       Tag set           Field set            Timestamp

Сохраняемые данные выглядят так:

status,contactName=Toto offlineSince=8275u 1465839830100400200status,contactName=Toto offlineSince=8280u 1465839830100400200status,contactName=Toto offlineSince=0u 1465839830100400200status,contactName=Tata offlineSince=0u 1465839830100400200------ ---------------  ----------------- -------------------  |            |                |                  |Measurement Tag set         Field set          Timestamp


Реализация кода:

const { InfluxDB, FluxTableMetaData } = require('@influxdata/influxdb-client')let client = new InfluxDB({ url: 'http://localhost:9999', token: process.env.INFLUXDB_TOKEN });const writeApi = client.getWriteApi(process.env.INFLUXDB_ORG, process.env.INFLUXDB_BUCKET);//...let offlineSince = (lastSeenDate === null) ? 0 : ((new Date().getTime() - lastSeenDate.getTime()) / 1000).toFixed(0);if (offlineSince < 0)    offlineSince = 0;let data = `status,contactName=${contactTarget} offlineSince=${offlineSince}u`;writeApi.writeRecord(data);

Существует пограничный случай, который бы я хотел обрабатывать: иногда в WhatsApp статус вообще не отображается.

В таком случае мы не введём в базу данных значение offlineSince, потому что у нас его нет. Вместо этого мы при каждом сканировании статуса будем записывать значение statusAvailable (которое равно 0 или 1).

Теперь мы подключим Grafana к InfluxDB и создадим дэшборд для слежения за полученными данными.


Исходный код этого proof of concept можно найти здесь.

Часть 2. Отслеживаем 5000 случайных телефонов


В предыдущей части мы выяснили, что достаточно легко взломать онлайн-статус контакта WhatsApp. Простую информацию Online или last seen yesterday at 19:00 реверс-инжинирингом можно заставить выполнять утечку пользования телефоном с точностью в несколько секунд.

Но я ещё не сказал о гораздо более странной вещи: можно отслеживать любой мобильный телефон! Давайте поиграем и увеличим масштабы слежения до 5000 случайных номеров.

Как и в первой части, я делюсь исходным кодом как PROOF OF CONCEPT. Если вам больше интересны результаты, чем технические подробности, то можете сразу переходить в конец статьи. Мы снова будем использовать предыдущий код на основе Node.js, Puppeteer и Grafana.

Мои друзья, мои контакты


WhatsApp считывает контакты в телефоне и позволяет чатиться с теми, кто тоже добавлен в список. Поэтому мы можем свободно добавить в качестве контакта случайный номер и найти его в WhatsApp.


Хотя для добавления номера в список контактов не требуется, WhatsApp защищает пользователей, предлагая им согласиться на ответ или сообщить о спаме при первом обмене сообщениями. Безусловно, это помогает бороться с ботами.

Как ни удивительно, это не относится к статусу Last Seen.


Ой, а почему я вижу эти данные last seen?

Как мы видели в первой части, существует препятствующая этому настройка конфиденциальности. По умолчанию она имеет значение Everyone, но никто его не меняет.


Если вы не хотите делиться своим статусом Last Seen, то WhatsApp отключает эту функцию в обоих направлениях

Экспериментируем с 5000 контактов


Мне стало любопытно, как далеко мы сможем зайти с этой уязвимостью. Я не хочу отслеживать конкретных людей и не буду спрашивать разрешения у 5000 людей, как мог это сделать в первом хаке.

Поэтому я усложню задачу, вычислю анонимную статистику и запишу данные. Давайте увеличим масштаб до 5000 телефонов.

Генерируем 5000 контактов


Чтобы расширить proof of concept до 5000 контактов, мне нужно будет зарегистрировать 5000 контактов в телефоне! И я не собираюсь делать это вручную.

Для этого я перешёл в свой аккаунт Google на десктопном веб-сайте, зашёл на страницу Contacts и нашёл там кнопку import a CSV.


Документация выглядит очень запутанной и длинной. Я не стал её изучать и экспортировал уже имеющиеся контакты, чтобы изучить модель данных. И она действительно оказалась сложной. После нескольких попыток мне удалось импортировать пару контактов с минимально возможным количеством заполненных полей.

Name,Given Name,Additional Name,Family Name,Yomi Name,Given Name Yomi,Additional Name Yomi,Family Name Yomi,Name Prefix,Name Suffix,Initials,Nickname,Short Name,Maiden Name,Birthday,Gender,Location,Billing Information,Directory Server,Mileage,Occupation,Hobby,Sensitivity,Priority,Subject,Notes,Language,Photo,Group Membership,Phone 1 - Type,Phone 1 - ValueContactA,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Mobile,06 01 02 03 04ContactB,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Mobile,06 01 02 03 05ContactC,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Mobile,06 01 02 03 06

Additional Name Yomi?


На случай, если вы больше привыкли к CSV в Excel

Я написал скрипт для генерации CSV из 5000 контактов:

const fs = require("fs");require("dotenv").config();const startingNumber = process.env.STARTINGNUMBER;const fileName = "5000contacts.csv";const csvHeader =  "Name,Given Name,Additional Name,Family Name,Yomi Name,Given Name Yomi,Additional Name Yomi,Family Name Yomi,Name Prefix,Name Suffix,Initials,Nickname,Short Name,Maiden Name,Birthday,Gender,Location,Billing Information,Directory Server,Mileage,Occupation,Hobby,Sensitivity,Priority,Subject,Notes,Language,Photo,Group Membership,Phone 1 - Type,Phone 1 - Value";fs.appendFileSync(fileName, csvHeader + "\n");let numbers = startingNumber.split(" ");let counter2 = Number(numbers[2]);let counter3 = Number(numbers[3]);let counter4 = Number(numbers[4]);for (let index = 0; index < 5000; index++) {  if (counter4 == 99) {    counter4 = 0;    counter3++;  }  if (counter3 == 99) {    counter3 = 0;    counter2++;  }  let number = `${numbers[0]} ${numbers[1]} ${twoDigit(counter2)} ${twoDigit(    counter3  )} ${twoDigit(counter4)}`;  let csvRow = `Unknown${index},,,,,,,,,,,,,,,,,,,,,,,,,,,,,Mobile,${number}`;  fs.appendFileSync(fileName, csvRow + "\n");  counter4++;  console.log(`${index} -> ${number}`);}function twoDigit(number) {  var twodigit = number >= 10 ? number : "0" + number.toString();  return twodigit;}


Набор из 5000 французских номеров

И импортировал их в Gmail.


Почему это так легко, Google, ты что, крэйзи?

Затем я убедился, что мой телефон их синхронизировал (бедному телефону потребовался на синхронизацию целый час, не думаю, что он сможет выдержать ещё пять тысяч контактов).


Получение данных


Я модифицировал свой код так, чтобы он обходил в цикле все 5000 импортированных неизвестных контактов, и запустил его.


Оставил этот краулер на пару дней. (На самом деле на шесть дней, и это при помощи совершенно тупого кода! Серьёзно, здесь нет никакой защиты.) И вот какие получились красивые данные в дэшборде Grafana, взятом из предыдущего проекта.


Исходная выборка в 100 контактов. Каждое падение до 0 означает, что контакт пользовался смартфоном.

Также мы можем проверять, зарегистрирован ли номер в WhatsApp, выполняя запросы, как показано на скриншоте ниже.


Заключение


Мне удалось продолжать сканировать 5000 телефонов непрерывно в течение месяца при помощи простого кода скрейпинга.

Очевидно, WhatsApp не проверяет и не предупреждает злонамеренное использование этой функции. Мне удалось 15 000 раз использовать движок поиска для получения данных last seen за одну веб-сессию.

Для исследования я наскрейпил множество данных из 112 тысяч записей.

Моё исследование показало, что можно:

  • Определить, зарегистрирован (или был ли зарегистрирован) номер телефона в WhatsApp
  • Действителен (или был ли действителен) номер телефона и привязан ли он к телефонной сети
  • Получать фото профиля пользователя WhatsApp (можно извлекать версию в большом размере)
  • Получать сами данные last seen

Важно указать, что я не знаю, какие из 5000 контактов действительны.

Я использовал французский диапазон номеров 06xxxxxxxx (или 00336xxxxxxxx), который переполнился 10 лет назад (поэтому тогда появился диапазон 07xxxxxxxx). Поэтому, вероятно, можно допустить, что по крайней мере 80% номеров телефонов действительно.

Вот визуализация пользователей, сгруппированных по дате last seen, дающей представление о пользовании WhatsApp. Я собрал данные примерно в первую неделю февраля.


Снижение с 1357 активных пользователей в прошлом месяце до 281 на прошлой неделе довольно значительно, его можно связать с критикой WhatsApp в конце декабря 2020 года. Мне не очень интересно изучать эти данные подробнее, на этом всё, спасибо за внимание.

Messenger, Signal и Telegram (бонус)


(Facebook) Messenger не использует номеров телефонов контактов для поиска пользователей, потому что пользуется для этого аккаунтами Facebook. Совершенно иная структура, поскольку это социальная сеть и она меньше похожа на мобильный сервис VOIP. Думаю, множество похожих хаков с получением информации можно реализовать и в Messenger. Но это уже другая история, возможно, оставим её на следующий раз?

Signal и Telegram больше похожи на WhatsApp с точки зрения работы с контактами. Однако утечки там не так велики.

Данные last seen из Telegram менее доступны публично и менее подробны, например, они сообщают, что пользователь был онлайн около месяца назад. Движок поиска не имеет утечек, позволивших бы оценить количество пользователей во время моего исследования. Но теперь, спустя шесть недель, похоже, что это возможно. Меня это немного расстроило.

У Signal вообще нет функции last seen, здесь он чист. Однако посчитать пользователей было просто. Signal имеет уведомление {x} is on Signal!, когда контакт начинает им пользоваться. Это помогает отслеживать переход пользователей на Signal.


В первый день исследования из 5000 пользователей 94 было в Signal, и каждый последующий день появлялось по 1-2 новичка. Никто не использует Signal во Франции, очевидно, влияние Илона Маска здесь не так велико.


Да, это картинка, чтобы за вами не могли следить.



На правах рекламы


VDSina предлагает безопасные серверы с посуточной оплатой. Возможно установить любую операционную систему, в том числе из своего образа. Каждый сервер подключён к интернет-каналу в 500 Мегабит и бесплатно защищён от DDoS-атак!

Подробнее..

Перевод Как избежать блокировки в WhatsApp для того чтобы

14.08.2020 04:10:43 | Автор: admin


чтобы отправлять сообщения каждые 30 секунд (120 сообщений в час).
Надеюсь что мистер Цукенберг не заходит на этот ресурс :)

WhatsApp самый популярный в мире мессенджер (свыше 1.3 миллиарда пользователей), но почему нельзя общаться с большим количеством пользователей в этом приложении?

Да, это проблема.
WhatsApp похож на чрезмерно опекающую своих детей мамашу, которая не хочет расстраивать своих пользователей спамом и рассылками и поэтому банит направо и налево все подряд, что хоть как-то отдаленно напоминает спам.
И если у вас много пользователей и вы ведете бизнес в WhatsApp, то это может быть большой проблемой.


С точки зрения WhatsApp, боты это нормально, но вы должны только отвечать на сообщения, но никогда не начинать общение первым.

Но у вас нет выбора, вы должны все-таки начинать общение первым и если вам знакома эта проблема, то надеюсь что эта статья будет для вас полезна.

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

Не спамьте и следуйте следующим правилам, которые я вывел после огромного количества забаненных аккаунтов.

Что можно и чего нельзя делать:

1. Высылайте интересный контент, опросы показывают что пользователи нормально к этому относятся по сравнению с рекламой, даже если они получают сообщения в субботу вечером.

2. Добавляйте каждый контакт, которому вы шлете сообщения, в свой контакт лист.

3. Высылайте каждый раз как бы разные сообщения, можно сделать скрипт, который бы рандомно ставил пробелы в сообщения и вставлял бы имя получателя.

4. После отправки первого сообщения используйте рандомный таймаут (от 30 до 60 секунд) перед отправкой следующего сообщения.

5. WhatsApp ожидает что вы пользуетесь его вебверсией на десктопе в той же самой сети, что и ваш телефон.
Поэтому если вы запустили WhatsApp на реальном телефоне, а вебверсию где-то на хостинге, то вы будете заблочены.

6. Если вы не знаете как хакнуть валидацию регистрации (в сети много туториалов по этому вопросу), то лучше использовать реальный телефон, а не эмулятор.
7. Прокси маст хев, удостоверьтесь что реальный телефон и бот имеют одинаковые IP адреса и эти адреса привязаны к той же стране, номера которой у вас в контакт листе.

8. Старайтесь группировать контакты по коду страны или региона, WhatsApp ожидает что реальный пользователь в основном общается в пределах одной страны или региона, совпадающего с регионом регистрации вашего номера и регионом большинства контактов.

9. Используйте какую-нибудь картинку в профиле, это не относится к Whatsapp Bots Catcher, просто люди могут пометить контакт без фото как спам.

10. Не надо продолжать слать сообщения тем пользователям, которые уже вас заблокировали, я предлагаю делать проверку на блокировку перед отправкой сообщения контакту.

11. Хотя вы можете пытаться отправить сообщения тем у кого нет WhatsApp, крайне не рекомендую это делать.
Всегда проверяйте имеет ли контакт WhatsApp аккаунт или нет.

12. У WhatsApp существуют специальные номера для тестов и если вы вышлете сообщение на 00@c.us официальный маркетинговый аккаунт вацапа, то это тоже самое что пытаться продать кокаин полиции.

13. Не позволяйте своему скрипту делать запросы туда, куда не делает их обычный клиент Whatsapp Web все логи таких ошибок сохраняются.

14. Всегда шлите уведомление прочитано после принятия сообщения или выключите это уведомление в настройках.

15. Не отвечайте мгновенно на сообщение нормальный таймаут ответа 5-10 секунд.

16. Хорошая практика ответа на сообщение открыть чат, выслать нотификацию прочитано, затем выслать статус typing, потом подождать несколько секунд и отправить сообщение.

17. Очищайте кэш в браузере всякий раз, когда вы открываете Whatsapp Web, да это головная боль каждый раз вводить новый QR код, но без этого ваш бот нормально не перезагрузится.

18. Избегайте высылать ссылки, которые уже были помечены кем-то как спам и избегате слать ссылки без https. Хорошая идея использовать сокращатель ссылок.

19. Важно: Плохая идея слать сообщения 24/7 без перерыва.
Рандомной задержки недостаточно, шлите разумное количество сообщений например шлите максимум 4 сообщения в час каждому контакту кто ответил вам, затем перерыв на час и затем опять.

20. В начале разговора шлите только одно короткое сообщение, не нужно слать длинный текст или несколько сообщений без реакции пользователя на них.

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

22. Не шлите разным людям разные сообщения одновременно, шлите такие сообщения по очереди.

23. Избегайте использования префиксов в сообщениях.

24. Не используйте yowsup-cli

25. Ставьте пометку online при отправке сообщения.

Имейте ввиду:

1. Каждый человек, кому вы отправляете сообщение и у которого вы не находитесь в контактах, будет спрошен на предмет спама.
Если вас выделят как спам 5-10 раз, вы будете заблокированы.

2. Помните WhatsApp записывает каждое движение, которое вы делаете, чтобы проверить это вышлите письмо в их суппорт они могут выслать логи.
Поэтому ведите себя как человек.

3. Не замечено никаких банов когда вы проверяете есть тот или иной контакт в вацапе или когда вы скачиваете фото профайлов и т.д.
Это можно делать без таймаутов.

4. Использовать приложения которые дублируют вацап тоже плохая идея вацап это видит и блокирует.

5. Старайтесь вовлекать в чат с собеседника и если сразу вас не пометили как спам, то все ок и можно продолжать. Чем чаще отвечают вам люди тем меньше шансов у вас попасть под бан.

6. Думайте об этом как о балльной системе если вас внесли в список контактов, то вы получили 1 балл, если пометили как спам вы потеряли 1 балл и т.д.

7. Не позволяйте вашему боту быть запущенным долго время от времени выключите WhatsApp Web, откройте вацап на телефоне, потом снова запустите вебверсию и т.д.

8. Виртуальные номера в некоторых странах знакомы вацапу, поэтому вы не сможете там зарегестрироваться, вы получите сообщение Not a valid number for country XX

9. Если вацап по каким то причинам стал недоступен на телефоне, а Whatsapp Web этого не заметил, то вы еще можете отправлять какие-то команды, но будете забанены, т.о. избегайте пользоваться Whatsapp Web если ваш телефон не в сети.

10. Если у вас несколько вацап аккаунтов под одним IP адресом и вы заметили что один из них заблокирован, немедленно закройте другие аккаунты, иначе они тоже будут заблокированы.

11. Если ваш контент чистый спам, то неважно как вы отправляете сообщения вы будете

заблокированы.

Если вас все-таки заблокировали, но вы не хотите сдаваться:

1. Удалите вацап и все что с ним связано.

2. Сделайте сброс к заводским настройкам, если это возможно.

3. Подключитесь с новым IP адресом

4. Скачайте вацап

5. Первые сообщения сделайте с тем номером, который давно имеет вацап например с вашим собственным телефоном.

6. Некоторые люди говорят что нужно ждать 12-36 часов после первого сообщения, другие говорят что если вы не шлете сообщения в течении дня, то после первого сообщения вы будете забанены я делаю так регистрируюсь, шлю первое сообщение, потому жду несколько часов и затем уже шлю сообщения как обычно.

Что будет если вы напишете в суппорт WhatsApp с вопросом о причинах блокировки?

Есть небольшой шанс быть разбаненным, у меня было несколько случаев разблокировки через 1 день и несколько случаев блокировок с прошедшими месяцами после письма и до сих пор неразблокированными.

Отвечают быстро, но всегда одно и тоже:

## WhatsApp Support ##
Hello,
Thanks for getting in touch with us!
Your WhatsApp account has been disabled because you have violated our Terms of Service when using an unauthorized app or an unsupported device.
Please remove the application and install an authorized version on a compatible device at: www.whatsapp.com/download
Please keep in mind that we do not allow support for unofficial or jailbroken / rooted clients (including emulators) and unsupported devices.
To use WhatsApp on your computer, visit our website from your computer's browser. Then open WhatsApp and scan the QR code using the WhatsApp application on your phone (look for WhatsApp Web in the WhatsApp settings on your device). WhatsApp can only be installed on your computer if you are using Windows operating systems 8.0 and higher or Mac OSX.9 and above. If you are experiencing problems installing WhatsApp on a supported operating system, disable your anti-virus and try again.
You have the option to access WhatsApp through your browser here if you are using non-compatible operating systems.
Your account will be permanently disabled, and without the possibility of appeal if you continue to violate our Terms of Service.Cheers,
Roshan
WhatsApp Support Team
Take a look at our FAQ.

Финальные соображения и заключения.

После нескольких месяцев тестирования различных способов отправки сообщений могу сказать одно нужно следовать Whatsapps policy, не слать спам, не начинать первым разговор и через обычную СМС слеть им линк для чата, чтобы они ответили первыми.

Note: Я не использую API для рассылки спама или маркетинговых предложний и не люблю тех кто это делает.
Я всегда пишу только тем, кто подтвердил желание общаться со мной, но на самом деле WhatsAppу плевать на это.

Все описанное выше может перестать работать завтра и никто не знает когда вацап начнет жестко банить всех кто не платит им за их официальное API.
Но если вы не следовали всем советам и у вас все работает, это означает что вы шлете мало сообщений и вацап не замечает этого.
Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru