https://github.com/rsherstnev/vktoolkit
Some scripts to extract data from VK
https://github.com/rsherstnev/vktoolkit
privacy-bypass vk-api vkontakte-api
Last synced: about 2 months ago
JSON representation
Some scripts to extract data from VK
- Host: GitHub
- URL: https://github.com/rsherstnev/vktoolkit
- Owner: rsherstnev
- Created: 2020-03-25T08:04:01.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2022-12-08T09:31:43.000Z (over 2 years ago)
- Last Synced: 2025-02-19T05:37:15.247Z (3 months ago)
- Topics: privacy-bypass, vk-api, vkontakte-api
- Language: Python
- Homepage:
- Size: 35.2 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# vktoolkit
Набор скриптов для получения информации из Вконтакте.## vkextractiontools
Cкрипт написан в рамках изучения **Python**, **API VK** и **Git**.
Позволяет извлекать некоторые данные из профилей Вконтакте в обход их настроек приватности.### Описание работы скрипта
Работа данного скрипта основана на том, что поиск в ВК игнорирует настройки приватности пользователей.
Для извлечения данных используется подход, аналогичный blind SQL injection:
1. Выполняем поиск по пользователям с определенным значением критерия;
2. Интересующий нас профиль присутствует в результатах поиска?
- Если да - значение критерия для интересующего профиля верное;
- Иначе - изменяем значение критерия и повторяем поиск.### Возможные проблемы
- API VK ограничивает выдачу поиска 1000 профилями. метод Execute допускает использование максимум 25 обычных методов.
В случае брутфорса распространенного профиля, например, Ивана Иванова, необходимо изменить скрипт для уточнения
параметров поиска такими значениями, как город и т.п, чтобы результат выдачи укладывался в 25000 профилей.- API VK ограничивает количество выполнений метода API за неизвестную еденицу времени, обойти данное
ограничение возможно путем модификации скрипта балансировкой нагрузки по нескольким профилям,
из под которых осуществляются запросы к API.### Возможные улучшения скрипта
- Возможно ускорить проверку наличия интересующего профиля в результатах поиска;
На текущий момент в скрипте используется полный перебор. Возможно добавить критерий к users.search,
чтобы API возвращал отсортированные результаты и применить алгоритм бинарного поиска.
- Возможно ускорить извлечение параметров путем распараллеливания задач по нескольким потокам.### Использование скрипта
Опции `--day`, `--month`, `--year`, `--status`, `--religion` и `--reg-date` являются флагами и не требуют после себя аргументов.
Аргументы для опций `--year-from` и `--year-to` должны представлять из себя натуральные числа,
при этом аргумент опции `--year-from` должен быть >= 1900 и <= аргумента опции `--year-to`.В конечном результате программа выводит None:
- Если вы извлекали год рождения, попробуйте изменить с помощью опций `--year-from` и / или `--year-to` диапазон перебора года рождения.
Возможно, дата на рассматриваемом аккаунте старее или моложе параметров по-умолчанию.
- Возможно, вы ввели слишком общий запрос и искомый аккаунт не попал в выдачу 25000 от execute , тогда измените скрипт для уточнения деталей поиска.
- Возможно, вас заблокировал VK API за слишком частые обращения. Измените учетные данные, используемые для обращений к API,
либо отдохните некоторое время и запустите скрипт позже.Опции `--login` и `--password` не являются обязательными, если вы не хотите светить учетными данными в истории
командного интерпретатора, их можно выпустить, тогда скрипт запросит учетные данные интерактивно.### Примеры
Извлечь день, месяц и год рождения профиля https://vk.com/rsherstnev:
```
vkextractiontools.py --login +79632286969 --password yourverysecurepassword --id rsherstnev --day --month --year --year-from 1990 --year-to 2000
```
Извлечь семейное положение, религиозные взгляды и дату регистрации https://vk.com/rsherstnev:
```
vkextractiontools.py --login +79632286969 --password yourverysecurepassword --id rsherstnev --status --religion --reg-date
```## mutualfriends
Cкрипт позволяет узнать общих друзей двух и более профилей в ВК, при этом необязательно, чтобы один из профилей был вашим.### Возможные проблемы
- Запросы к API VK выполняются из под определенного профиля, и если хотя бы у одного из перечисленных профилей доступ к друзьям
данному профилю закрыт, то скрипт выведет ошибку;### Использование скрипта
Аргументы опции `--ids` необходимо отделять друг от друга пробеламиОпции `--login` и `--password` не являются обязательными, если вы не хотите светить учетными данными в истории
командного интерпретатора, их можно выпустить, тогда скрипт запросит учетные данные интерактивно.### Примеры
Вывести общих друзей профилей https://vk.com/rsherstnev и https://vk.com/id1337228:
```
mutualfriends.py --login +79632286969 --password yourverysecurepassword --ids rsherstnev id1337228
```