javascript - AIM 7 使用 .aba 文件 - 需要将其解压

标签 javascript aim

从 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

非常感谢!

最佳答案

这个“极其快速和肮脏 (1)” PHP 代码通过找到一些神奇的字符串从该文件中提取 JPG、PNG、GIF 和 gz 压缩的文本文件...文本被解码以及显示的图像...

(1) Quick-and-dirty is a term used in reference to anything that is an easy way to implement a workaround or "kludge." Its usage is popular among programmers, who use it to describe a crude solution or programming implementation that is imperfect, inelegant, or otherwise inadequate, but which solves or masks the problem at hand, and is generally faster and easier to put in place than a proper solution. (Wikipedia)

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

关于javascript - AIM 7 使用 .aba 文件 - 需要将其解压,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1449475/

相关文章:

java - JMonkey - 向十字线方向射击

git - 如何设置 git 以便通过 gchat 获取消息或将某人推送到服务器?

javascript - 使用 NodeJS 的文件路径问题

javascript - React setState prevState 参数和 Array#map

javascript - 单击另一个选项卡时如何关闭 Accordion 选项卡?

java - 针对塔防计算

php - 用于检测 AIM 状态的 javascript 或 PHP 选项

javascript - 从自定义组件中获取除 "value"之外的 props 值?

javascript - 如何将动态 HTML 表中输入的项目添加到模型绑定(bind)列表