Оглавление
С чего всё началось
Все мы знаем, что у ВК есть API, и я уверен, что большинство людей пыталось им воспользоваться в своих целях. Лично у меня полно проектов, связанных с ним: штук 5 мощных ботов, составление масштабных датасетов из постов групп и т.д. И не удивительно, что мои знакомые просили меня пару раз выкачать песни из вложений диалога, фотографии или же сохранить текст переписок с каким-нибудь человеком в отдельный файл.
Но однажды пришло «оно», и с того момента выполнение таких небольших просьб перестало быть тривиальной задачей:
Android (java)
Еще одна официальная библиотека, на этот раз — для Android. Написана на Java и позволяет сильно упростить работу с API ВКонтакте из этого языка.
Пример отправки запроса:
request.executeWithListener(new VKRequestListener() {
@Override
public void onComplete(VKResponse response) {
//Do complete stuff
}
@Override
public void onError(VKError error) {
//Do error stuff
}
@Override
public void onProgress(VKRequest.VKProgressType progressType,
long bytesLoaded,
long bytesTotal)
{
//I don't really believe in progress
}
@Override
public void attemptFailed(VKRequest request, int attemptNumber, int totalAttempts) {
//More luck next time
}
});
Golang
Как ни странно, была написана обёртка для VK API и на языке Go. Так же, как и остальные, она доступна на Github. Hello World на ней выглядит так:
Ios (objective c)
Официальная библиотека от ВКонтакте, предназначенная для написания приложений под iOS. Написана на Objective-C.
Пример кода с отправкой запроса:
Node.js
Node-vkapi — современная библиотека для JavaScript, основанная на промисах. Она доступна так же в npm:
npm install node-vkapi --only=prod --save
Вот пример кода, который публикует текст на стену пользователя с помощью node-vkapi:
Topchatwords for vk
Если рейтинг в Play Market предыдущего приложения не переваливает за 2.4, то эта утилита оценивается намного выше, около 4.5. Стоит отдать ей должное: действительно, она работает куда шустрее и загрузить ее можно также бесплатно в Google Play или со сторонних ресурсов по аналогичной инструкции. Поговорим о преимуществах программы:
Чтобы начать пользоваться программой, после ее установки с Гугл Плей, выполните несколько простых действий:
Vk messages visual statistics (для chrome, яндекс.браузера)
- Установите плагин исключительно с официального магазина Хром, чтобы избежать потери персональных данных, перейдя по этой ссылке.
- Кликните левой кнопкой мыши на кнопку «Установить» напротив названия утилиты.
- Значок данной утилиты представлен в виде синего квадратика с диаграммами. Он отобразится в верхней панели браузера, после установки софта.
- Чтобы провести активацию дополнения, нужно нажать на его иконку и пройти авторизацию.
- Статистика будет предоставлена в виде таблицы, диаграмм и графиков.
Программа обладает автоматическим счетчиков сообщений и знаков, которым можно воспользоваться в любое время суток. То есть, в итоговую сумму войдут все вариации месседжей. Пользователь может выбрать свой интервал по времени, а также просмотреть интерактивную анимацию своего общения — очень забавная штука, советуем посмотреть.
Vkontakte stats (chrome, opera, яндекс.браузер)
Хорошее приложение при помощи которого, можно вывести статистику личных месседжей в беседе ВКонтакте, сформировать список пользователей, с которыми вы чаще всего ведете переписку. Дополнение работает «как часики» — корректно, без подвисаний. Советуем вам ознакомиться с краткой инструкцией по настройке данной утилиты:
- Для браузера Опера, можно перейти по ссылке и установить утилиту. Если у вас другой браузер, то вам нужно перейти в магазин расширений и вбить название приложения. Сделать это просто — в случае с Хромом, нажмите на иконку трех полос, чтобы зайти в меню обозревателя. Следом, кликните на «Загрузить расширение». В поисковой строке вбейте название программы.
- Нажмите на «Установить» или «Добавитьв Опера».
- После, появится новый значок в панели инструментов, которая располагается справа от адресной строки. Нажмите на него.
- Авторизуйтесь в ВК, чтобы продолжить работу. Разрешите доступ к вашим данным.
- Нажмите на кнопку «Поехали».
- Вся доступная информация отобразится в течении нескольких секунд. Довольствуйтесь полученными результатами.
Windows phone (c#)
Последняя в этом списке официальная разработка: написанная на C# базовая библиотека для разработки на WP, похожая по функциональности на свои аналоги под Android и iOS.
Отправка запроса на список друзей:
Бот для получения данных об общении пользователей в вконтакте по id
Многие люди, зарегистрированные в ВК, хотели бы получить копию переписки определённого человека. Людьми может управлять чувство беспокойства о родных, ревность, злоба на врагов и прочее. Но на самом деле существует не так уж и много способов узнать, что обсуждают другие люди. Ведь социальная сеть существует уже более 15 лет. За это время разработчики уничтожили практически все «дыры», с помощью которых раньше такая возможность была вполне реальна.
Видео-инструкция
Если вы хотите прочитать чью-то чужую переписку в приложении ВК, то парень покажет, как это сделать в режиме онлайн на вашем телефоне бесплатно по ID в этом ролике.
Внуттер (wnutter)
Еще пару лет назад это приложение создавало настоящий фурор среди пользователей социальной сети ВКонтакте, так как Внуттер одним из первых ввел у себя возможность просмотра детальной статистики сообщений ВКонтакте. Данный софт находится в свободном доступе в Google Play, поэтому, с его загрузкой не должно возникнуть вовсе никаких проблем. Чтобы загрузить Внуттер на свой смартфон, выполните несколько простых действий:
- Зайдите в приложение Play Market на вашем смартфоне. Введите в поисковой строке название нужной утилиты.
- В качестве иконки для Внуттера, разработчики установили синий желудь. Как только вы увидите эту иконку — нажмите на кнопку «Установить».
- Когда установка завершится, тапните на вкладку «Открыть».
- Далее, вам нужно разрешить доступ к информации с вашего персонального профиля ВКонтакте.
- Тапните на «Начать обработку».
- Дождитесь, пока пончик перестанет вращаться (обрабатывать данные) и выдаст вам результат.
К сожалению, программа славится подвисаниями и «вечным вращением пончика». Разработчики же уверяют, что приложение работает, нужно подождать для того, чтобы появился результат. Намного быстрее узнать статистику по конкретной переписке:
- Тапните на иконку трех полосок в левом верхнем углу окна приложения.
- Выберите вкладку «Статистика».
- В новом окне тапните на плюс.
- Теперь вам отобразятся данные по отдельным перепискам, причем они будут удобно отсортированы по размеру (по нарастанию).
Моё личное мнение
Запрет раздела messages не привнёс кардинальных изменений в безопасность пользователей. Он всего-лишь обозначил границу и отсёк группу «недо-хакеров», которые даже не понимая того, что делают, могли получить полный доступ к данным. Для остальных же людей, более опытных в программировании, получение доступа к перепискам — это всего лишь вопрос времени.
И я уже в первой части статьи доказал на собственном примере, создав программку для выкачивания вложений, что появление библиотеки, которая сможет притворяться пользователем, не за горами. Может я и сам доведу её до конца, а разработчикам ВК нужно быть готовыми к этому и придумать способы распознавания слишком подозрительной активности пользователей, если для них конфиденциальность наших данных действительно важна.
Можно ли прочитать переписку пользователей бесплатно без программ?
Самый простой способ увидеть переписку является вполне реализуем для тех, кто хочет знать круг общения своих родных. Если вы живёте с таким человеком под одной крышей, то способов появляется гораздо больше – как платных, так и бесплатных. К бесплатным относится по большей степени такие хитрости, как срочный телефонный звонок. Попросите у брата, ребёнка, жены телефон, чтобы сделать срочный звонок, ведь на вашем закончились деньги, заблокировали СИМ-карту, смартфон сломался и т.д.Желательно выбирать момент, когда человек находится в ВКонтакте. Хотя это не обязательно, если вы точно знаете, что в приложении не установлен пароль для входа. Программа на телефоне всегда готова к использованию. Здесь не нужно каждый раз вводить свои данные. В тот момент, когда телефон окажется у вас, откройте сообщения и прочитайте всю переписку на смартфоне.
Теперь у вас появилась возможность привязать свою почту к аккаунту по ID пользователя. Тогда все лайки, сообщения, уведомления в аккаунте будут приходить на привязанный электронный адрес.
Что нужно сделать:
- Откройте настройки чужой страницы и на вкладке «Общее» найдите привязанный Email;
- Нажмите на кнопку «Изменить»;
- Введите в строку новый адрес и в меню выберите пункт «Уведомления»;
- Просмотрите все пункты, если нужно, включите их.
После этих настроек можно будет узнать, кто часто ставит лайки пользователю, комментирует посты и общается в чате.
На смартфоне
Мобильные расширения устанавливаются на устройство, наряду с другими приложениями. Да, чтобы просмотреть детальную статистику ваших месседжей через телефон, необходимо загрузить специальные программы. О них мы поговорим далее.
Неожиданное открытие
Я работал на ноутбуке, когда ко мне подошёл знакомый и спросил, чем я занимаюсь. Так как у меня не получилось ему объяснить всю проблему быстро на пальцах, я открыл официальную документацию на разделе messages, и обомлел, когда увидел, что находится под главным описанием у этих «запрещённых» методов:
Нет, вы поймите меня правильно, я не первый раз вижу эту возможность. Я много раз пользовался ею у других методов, но я даже и подумать не мог, что функция «пример запроса» останется у методов раздела messages. И ещё более сильным было моё удивление, когда я проснифферил трафик.
За несколько минут я понял, что хэш-айди — это просто строка, находящаяся в атрибуте data-hash тэга кнопки, а ещё через пару минут я уже вовсю пытался реализовать эмуляцию «тестовых запросов» и до конца не верил, что будет работать. Ведь наверняка у этих запросов есть какое-то ограничение по количеству или что-то подобное.
import requests, pickle, re, json
with open('cookies_vk_auth.pickle', 'rb') as handle:
cookies_final = pickle.load(handle)
session = requests.Session()
peer_id = int(input('Введите айди пользователя: '))
response = session.get(f'https://vk.com/dev/messages.getHistoryAttachments', cookies=cookies_final)
hash_data = re.findall(r'data-hash="(S*)"', response.text)[0]
session = requests.Session()
response = session.post(f'https://vk.com/dev',
data=f'act=a_run_method&al=1&hash={hash_data}&method=messages.getHistoryAttachments¶m_count=20¶m_max_forwards_level=45¶m_media_type=photo¶m_peer_id={peer_id}¶m_photo_sizes=0¶m_preserve_order=0¶m_v=5.103', cookies=cookies_final)
count=20
for i in range(200):
response_json = json.loads(json.loads(response.text[4:])['payload'][1][0])['response']['items']
for photo in response_json:
ph = photo['attachment']['photo']['sizes'][-1]['url']
r = session.get(ph, timeout=10)
if r.status_code == 200:
with open(f'D://dev/' str(ph.split('/')[-1]), 'wb') as f:
f.write(r.content)
m_id = photo['message_id']
response = session.post(f'https://vk.com/dev',
data=f'act=a_run_method&al=1&hash={hash_data}&method=messages.getHistoryAttachments¶m_count=20¶m_start_from={m_id}¶m_max_forwards_level=45¶m_media_type=photo¶m_peer_id={peer_id}¶m_photo_sizes=0¶m_preserve_order=0¶m_v=5.103', cookies=cookies_final)
Плагины для браузеров
К сожалению, ВКонтакте не предоставляет своим пользователям опций по просмотру статистики в социальной сети. Но на помощь в этом плане приходят плагины и всевозможные вспомогательные программы, которые способны расширить ваши возможности в социальных сетях.
С помощью компьютера
В этом разделе мы поговорим о том, как провести своеобразную инвентаризацию своих сообщений ВКонтакте, в конкретном диалоге или посмотреть полную статистику по входящим и исходящим месседжам, используя компьютер.
Способ 1: скачивание страницы
Каждый современный браузер позволяет вам не только просматривать содержимое страниц, но и сохранять его. При этом сохранению могут быть подвергнуты любые данные, включая переписки из социальной сети ВКонтакте.
- Находясь на сайте ВКонтакте, перейдите к разделу «Сообщения» и откройте сохраняемый диалог.
- Так как сохранению будут подвергнуты только заранее загруженные данные, вам нужно пролистать переписку до самого верха.
- Выполнив это, кликните правой кнопкой мыши в любом месте окна, за исключением области видеороликов или изображений. После этого из списка выберите пункт «Сохранить как…» или же воспользуйтесь сочетанием клавиш «Ctrl S».
- Укажите место сохранения конечного файла на вашем компьютере. Но учтите, что скачано будет несколько файлов, включая все изображения и документы с исходным кодом.
- Время загрузки может существенно отличаться, исходя из количества данных. Однако сами файлы, за исключением основного HTML-документа, будут попросту скопированы в ранее указанное место из кэша браузера.
- Для просмотра скачанного диалога перейдите к выбранной папке и запустите файл «Диалоги». При этом в качестве программы следует использовать любой удобный веб-браузер.
- На представленной странице будут отображены все сообщения из переписки, имеющие базовое оформление сайта ВКонтакте. Но даже при сохраненном дизайне большинство элементов, например, поиск, работать не будет.
- Вы также можете получить доступ напрямую к изображениям и некоторым другим данным, посетив папку «Диалоги_files» в той же директории, где расположен HTML-документ.
С прочими нюансами вам лучше всего ознакомиться самостоятельно, а данный метод можно считать завершенным.
Подводим итоги
И так, думаю, все уже осознали, что это — брешь в защите наших персональных данных, которая висела в документации целый год и не известно сколько людей уже воспользовались ей. Причём эта брешь очень крупная, и её нужно скорее закрыть. И чтобы ещё раз доказать, что это не должно так работать, процитирую самих разработчиков ВК:
Если Вы планируете начать разработку мессенджера, после 15 февраля 2022 года для этого потребуется получить в Поддержке тестовый доступ, подразумевающий работу методов секции Messages с ключами администраторов Вашего Standalone-приложения.
Заключение
На этой ноте мы и завершаем свое путешествие по программам и утилитам, которые позволяют просматривать статистику месседжей. Надеемся, что теперь вы знаете как узнать сколько сообщений в диалоге ВК и у вас больше не осталось никаких вопросов, касаемо данной темы.