![]() |
Модераторы: Snowy, Poseidon, MetalFan |
![]() ![]() ![]() |
|
Jakeroid |
|
||||||||
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 15.3.2009 Репутация: нет Всего: нет |
Предыстория:
Недавно мне понадобилось авторизоваться вконтакте программно. Я попробовал, но потом началась сессия... И так не закончил. Но вот теперь я закрыл сессию на стипендию. Да, поздравьте меня ![]() Цель: Получить доступ к персональной части страницы vkontakte.ru. То есть заиметь злой rmixsid! Кто пробовал, тот поймет. Примечание: Статья объясняет принцип авторизации, я не выкладываю готовый код, или программу, в этом нет смысла. Кто понимает в программировании, тот сможет это сделать и на Delphi и на C++. Тем кому не понятны слова, прошу на этот замечательный СЕКРЕТНЫЙ сайт, о котором не знают новички! Я вам раскрываю секрет откуда черпают знания трУхАцкЕры. _http://google.com/ Что использовал я? Среда разработки:----------------------Delphi 7 Язык программирования:----------------Object Pascal Библиотека для протокола HTTP:------Indy 10 Библиотека для парсинга текста:-----TRegExpr Сниффер:--------------------------------HTTP Analyzer V5 И так приступим! Let's go! Let's Rock! Разобрав что и как, я выяснил. Браузер отправляет 2 пост запроса. При этом данные передаваемые серверу одинаковые всегда для одного и того же пользователя. Копнув глубже я увидел, что в куках сидит remixsid. Он же ведь где то генерируется? Да. Это происходит после первого пост запроса. Сервер редиректид браузер на другую страницу, пустую, но в коде java скрипт. В скрипте генерятся куки. Поскольку Indy не захотела скачать этот скрипт. Я решил не заморачиваться. Ведь есть простой путь. Пройти авторизацию на мобильной версии вконтакте. А потом добавить куки, и получить доступ к полноценной. Авторизация мобильной версии проходит тоже в два пост запроса. Первый очень простой, нам следует передать только два параметра:
Где email - мыло пользователя, pass - пароль(и дураку понятно). В ответе приходит "мНогАбУкФ". Например:
Как мы сдесь видим, нас интересуют несколько параметров. Каждый из них имеет свой "name" и "value". Что бы спарсить их я использовал следующую функцию:
Зачем же я добавил в CustomHeaders remixsid? А что бы мы смогли после авторизации на m.vkontakte.ru, зайти на любую страницу полной версии. А вот как примерно должна выглядеть функция авторизации:
Вот собственно и все. Для особо продвиннутых, пищущих на сокетах, не обязательно авторизоваться сначала на мобильной версии. Вы можете сразу в ответе первого пост запроса распарсить значения и передавать их потом как кукисы. УДАЧИ! ;) P.S. Тему создал для уменьшения количества вопросов по поводу авторизации вконтакте. Я думаю новичкам теперь не создаст трудностей разобраться что и как. Это сообщение отредактировал(а) Jakeroid - 10.1.2011, 15:23 |
||||||||
|
|||||||||
Mifody |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 5.8.2008 Репутация: 2 Всего: 2 |
Доброго времени суток.
Глупый вопрос можно? А зачем такие танцы с бубном??? И зачем "танцы" с мобильным контактом ??? По моему намного проще авторизоваться сразу на нормальном контакте, на не искать заднюю дверь ![]() |
|||
|
||||
Jakeroid |
|
|||
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 15.3.2009 Репутация: нет Всего: нет |
Потому что статья только для новичков в программировании. А моя indy не захотела качать скрипт ПК версии.
НО! Как я отписался в статье, там главное понять откуда берется remixsid. Если вы умеете работать с сокетами в С++, никто вам не мешает сделать это через ПК версию, по своему. Елегантно и красиво. Ну а если вы школьник, и вчера установили делфи. То статья максимально ориентированна на вас ;). |
|||
|
||||
Mifody |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 5.8.2008 Репутация: 2 Всего: 2 |
Тогда сори, не знал что Инди такое не умеет, сам синапсом пользуюсь
![]() А так, неплохая статейка ;). |
|||
|
||||
bagos |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 275 Регистрация: 17.6.2006 Репутация: нет Всего: 1 |
Да, молодец парень что написал, но имхо много лишнего, rmixsid так и не понял зачем он нужен для получения доступа к странице, я не профи в этом вопросе, но когда то делал прогу визуально работающую как icq, только для вконтакте, и никакой rmixsid мне не понадобился;) хотя может там многое поменялось, но не думаю)))
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Сети" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Сети | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |