Вы получаете сообщения от друзей с просьбой отправить куда-нибудь СМС или заглянуть в галерею, где ваш друг позирует обнаженным? А все потому, что они используют сомнительный софт и заходят на сомнительные сайты.
Теперь мы напишем скрипт, который будет размещать на стене изображения граффити.
Писал для себя, так что для тех, кто любит удобство, хватайте напильник и удачи.
Давайте напишем на PHP (да, на этом дурацком медленном языке для дерьмовых кодеров и школьников) и заодно научимся работать с cURL и загружать с его помощью файлы на сервер.
Итак, нужные нам инструменты — это сниффер и декомпилятор флеша.
Сниффер выдаст нам следующие параметры запроса: «Подпись» => цифровая подпись изображения, отправленного на сервер, 'Filedata' => фактическое изображение в формате PNG и размером 586X293, 'Загрузить' => строка 'Отправить запрос' … и флеш-декомпилятор, чтобы узнать, как формируется цифровая подпись: Подпись = md5 из первого килобайта кода base64 изображения PNG Фактический код: УПД: В связи с изменением системы авторизации в контакте скрипт больше не работает. Я переделаю это в будущем.
Рядом со скриптом поместите PNG-файл размером 586X293 и именем graffiti.png. Запускаем из консоли.<? // http://vkontakte.ru/graffiti.phpЭact=last $userID = 'komu_ID'; $myID = 'otkogo_ID'; $myEMail = 'moi_login_v_kontakte%40mail.ru'; $myRemixId = 'f2a72a32c5b112da4e1701b0815614f34c680278918fbc08c4d3ed70'; $myPassword = md5('pass'); $graffitiFile = 'graffiti.png'; $vh = curl_init(); $options = Array ( CURLOPT_URL => ' http://vkontakte.ru/graffiti.phpЭto_id= ' .
$userID .
'&group_id=0', CURLOPT_POST => 1, CURLOPT_POSTFIELDS => Array ( 'Signature' => md5(substr(base64_encode(file_get_contents($graffitiFile)), 0,1024)), //'Filedata' => file_get_contents($graffitiFile), 'Filedata' => '@' .
realpath($graffitiFile), 'Upload' => 'Submit Query', ), CURLOPT_REFERER => ' http://vkontakte.ru/swf/Graffiti.swf?15 ', CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.8 ) Gecko/2009032609 Firefox/3.0.8 (.
NET CLR 3.5.30729) FirePHP/0.2.4', CURLOPT_COOKIE => 'remixlang=0; remixchk=5; remixautobookmark=14; remixmid=' .
$myID. '; remixemail=' .
$myEMail. '; remixpass=' .
$myPassword .
'; remixid=' .
$myRemixId .
';', CURLOPT_HTTPHEADER => Array ( 'Host: vkontakte.ru', 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Language: ru,en-us;q=0.7,en;q=0.3', 'Accept-Encoding: gzip,deflate', 'Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7', 'Keep-Alive: 300', 'Connection: keep-alive', ), CURLOPT_RETURNTRANSFER => true, ); curl_setopt_array($vh, $options); curl_exec($vh); curl_close($vh); Header("Location: http://vkontakte.ru/graffiti.phpЭact=last "); ?>
Когда скрипт заработает, вам нужно перейти по адресу vkontakte.ru/graffiti.phpЭact=last и подтвердите загруженное изображение.
Если оно не загружается, возможно, изображение имеет слишком большой вес.
Ограничение по весу не рассчитывал, но 100-150 килобайт помещаются легко.
Спасибо всем.
С Днем Победы.
Теги: #вконтакте #curl #php
-
Две Мыши И Две Указки На Одном Пк
19 Oct, 24 -
Highscreen Alex — Читалка С Android Внутри
19 Oct, 24 -
Первое Знакомство С Windows 7
19 Oct, 24