VKontakteウォールへの写真のアップロード

また、友人からメッセージを受信して​​、どこかにSMSを送信するか、友人がヌードのポーズをとるギャラリーを見るように求めていますか? そして、彼らは疑わしいソフトウェアを使用し、疑わしいサイトに行くからです。



壁に落書き写真を配置するスクリプトを作成します。 彼は自分のために書いたので、便利さを愛する人のために、彼の手にファイルと幸運があります。 PHPで記述し(はい、govnokoderと学童用のこの鈍いスローダウン言語で)、同時にcURLを操作する方法を学び、その助けを借りてサーバーにファイルをアップロードします。



そのため、ツールにはスニファーとフラッシュデコンパイラーが必要です。 Sniferはリクエストパラメータを提供します。

'Signature' =>サーバーに送信された画像のデジタル署名、

'Filedata' =>実際の画像はPNG形式で、サイズは586X293です。

'Upload' => string 'Submit Query'

...およびデジタル署名がどのように形成されるかを調べるためのフラッシュデコンパイラ:

署名=最初のキロバイトのbase64コードPNGイメージからのmd5



実際のコード:



UPD:連絡先の認証システムの変更により、スクリプトは機能しなくなりました。 将来的にやり直します。



<? //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"); ?>
      
      







スクリプトの横に、サイズ586X293のPNGファイルと名前graffiti.pngを配置します。 コンソールから実行します。

スクリプトを実行したら、 vkontakte.ru / graffiti.php?act = lastにアクセスして、ダウンロードしたイメージを確認する必要があります。 ロードされていない場合、画像の重量が大きすぎる可能性があります。 私は体重制限を計算しませんでしたが、100-150キロバイトが静かに収まります...



どうもありがとう。 幸せな勝利の日。



All Articles