2009-09-19 3 views
1

Начиная с AIM 7 beta 2 и теперь на AIM 7 beta 6, а GM - AIM начал использовать новый формат файла .aba для хранения файлов. Используемые файлы для размещения в папке, доступ к которой мы могли бы получить в программных файлах, однако из-за «повышения производительности» AOL решил поместить их в этот файл .aba вместо этого. Файл не извлекается с помощью winRAR или любого другого универсального экстрактора, который я пробовал.AIM 7 использует файл .aba - необходимо извлечь его

Есть ли способ извлечь его? Кто-то сказал мне, что он уверен, что файл .aba использует ZLIB. Но никто этого не может подтвердить. Кто-то на другом сайте собирался попытаться использовать AIM сам, чтобы извлечь файлы, и прочитать их - но так и не сделал.

Надеюсь, умные люди могут понять, как их извлечь. В частности, я хотел бы иметь файл bl.dtd, расположенный в нем. Если вы откроете файл в блокноте, вы увидите, что он содержит в основном тарабарщину, но также перечисляет файлы в нем - который включает этот файл.

Нет необходимости сжимать его обратно в файл aba, как только они будут извлечены, но если это возможно - это не помешает сделать.

Вы можете скачать файл .aba здесь: http://www.filedropper.com/en-us

спасибо!

ответ

2

Это «КРАЙНЕ быстро и без (1)» PHP код извлекает JPGs, PNGs, GIFs и GZ сжатых текстовых файлов из этого файла, находя какие-то волшебные строки ... Текст декодируется и изображения отображаются ...

(1) Быстрый и грязный это термин, используемый в ссылки на все, что есть простой способ реализовать обходной путь или «кладж.» Его использование является популярным среди программистов, которые используют его для описания в сырого раствора или программирование реализации, что является несовершенным, безвкусными, или иным образом неадекватным, но решает или маскирует проблему под руку, и, как правило, быстрее и легче установить, чем надлежащее решение . (Википедия)

<?php 
    $PNG_SIG = "\x89PNG\x0D\x0A\x1A\x0A"; 
    $PNG_EOF = "IEND\xAE\x42\x60\x82"; 
    $GIF_SIG = "GIF89a"; 

    $aba = file_get_contents('en-us.aba'); 
    $pngs = explode($PNG_SIG, $aba); 
    foreach ($pngs as $i=>$png) { 
     if ($i>0) { 
     $extra = explode($PNG_EOF, $png); 
     $img = base64_encode($PNG_SIG.$extra[0].$PNG_EOF); 
     echo '<img src="data:image/png;base64,'."\n".$img.'" />'; 
     echo "\n"; 
     if ($extra[1]!='') { 
      if (substr($extra[1], 0, 6)==$GIF_SIG) { 
      $gifs = $extra[1]; 
      $gifs = explode($GIF_SIG, $gifs); 
      foreach ($gifs as $j=>$gif) { 
       if ($j>0) { 
       $img = base64_encode($GIF_SIG.$gif); 
       echo '<img src="data:image/gif;base64,'."\n".$img.'" />'; 
       echo "\n"; 
       } 
      } 
      } 
      else { 
      $gz = @gzuncompress($extra[1]); 
      if ($gz!==false) { 
       echo "<pre>\n"; 
       echo htmlspecialchars($gz); 
       echo "</pre>\n"; 
      } 
      else { 
       $jpg = base64_encode($extra[1]); 
       echo '<img src="data:image/jpeg;base64,'."\n".$jpg.'" />'; 
       echo "\n"; 
      } 
      } 
     } 
     } 
    } 
?> 

Результаты:

alt text http://img132.imageshack.us/img132/280/83168934.png

alt text http://img62.imageshack.us/img62/6541/32497869.png

+0

filedropper.com/bl этот файл^является то, что более старая версия файла выглядит. Однако мне нужна новая версия этого файла из aba. До сих пор большой прогресс! Еще раз спасибо - вы можете открыть файл dtd в блокноте. это простой текст. – steven

+0

потрясающий! Большое спасибо человеку. – steven

+0

Можете ли вы обновить код, чтобы иметь content.aba display blab.box – steven