AIM 7 использует файл .aba - необходимо его извлечь

StackOverflow https://stackoverflow.com/questions/1449475

  •  11-09-2019
  •  | 
  •  

Вопрос

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

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

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

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

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

Большое спасибо!

Это было полезно?

Решение

Это "ЧРЕЗВЫЧАЙНО БЫСТРЫЙ И ГРЯЗНЫЙ (1)" PHP-код извлекает JPG, PNG, GIF и 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";
            }
          }  
        }
      }  
    }
?>

Результаты:

альтернативный текст http://img132.imageshack.us/img132/280/83168934.png

альтернативный текст http://img62.imageshack.us/img62/6541/32497869.png

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top