1

从 AIM 7 beta 2 到现在的 AIM 7 beta 6,GM - AIM 开始使用新的 .aba 文件格式来保存文件。这些文件过去位于我们可以在程序文件中访问的文件夹中,然而,由于“性能提升”,AOL 决定将它们放在这个 .aba 文件中。该文件无法使用 winRAR 或我尝试过的任何其他通用提取器提取。

有没有办法提取它?有人告诉我他很确定 .aba 文件使用的是 ZLIB。但没有人能证实这一点。另一个站点上的某个人打算尝试使用 AIM 本身来提取文件并阅读它们 - 但从未这样做过。

希望这里的聪明人能弄清楚如何提取它们。具体来说,我希望 bl.dtd 文件位于其中。如果您在记事本中打开文件,您会看到它大部分都是乱码,但还会列出其中的文件 - 包括该文件。

一旦它们被提取,就不需要将它压缩回 aba 文件 - 但如果可能的话 - 这样做不会有什么坏处。

您可以在此处下载 .aba 文件:http ://www.filedropper.com/en-us

非常感谢!

4

1 回答 1

2

这个“非常快速和肮脏 (1)”的 PHP 代码通过查找一些魔术字符串从该文件中提取 JPG、PNG、GIF 和 gz 压缩的文本文件......文本被解码并显示图像......

(1) Quick-and-dirty 是一个术语,用于指代任何可以轻松实现变通方法或“kludge”的方法。它在程序员中很流行,他们用它来描述一个粗略的解决方案或编程实现,它不完美、不优雅或在其他方面不充分,但它解决或掩盖了手头的问题,并且通常比适当的解决方案。(维基百科)

<?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

于 2009-09-20T12:46:40.270 回答