自AIM 7测试版2以及现在AIM 7测试版6以及GM-AIM开始使用新的.aba文件格式来保存文件。这些文件曾经位于我们可以访问的文件夹中程序文件,但由于“性能提升”,AOL决定将它们放在这个.aba文件中。使用winRAR或我尝试过的任何其他通用提取器都无法提取该文件。
有没有办法提取它?有人告诉我,他非常确定.aba文件正在使用ZLIB。但没人能证实。另一个网站上的某个人试图使用AIM本身来提取文件,并阅读它们 - 但从未这样做过。
希望这里的聪明人能够弄清楚如何提取它们。具体来说,我想将bl.dtd文件放在其中。如果你在记事本中打开文件,你可以看到它主要是乱码,但也列出了其中的文件 - 包括该文件。
一旦它们被提取,就没有必要将它压缩回aba文件 - 但是如果可能的话 - 这样做也不会有害。
您可以在此处下载.aba文件:http://www.filedropper.com/en-us
非常感谢!
答案 0 :(得分:2)
这个“非常快速和肮脏(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";
}
}
}
}
}
?>
结果:
alt text http://img132.imageshack.us/img132/280/83168934.png