سؤال

منذ هدف 7 بيتا 2، والآن بهدف 7 Beta 6، وبدأ GM - AIM في استخدام تنسيق ملف .ABA جديد لحفظ الملفات في. الملفات المستخدمة في موقعها في مجلد يمكننا الوصول إليها في ملفات البرنامج، ولكن بسبب "زيادة الأداء"، قررت AOL وضعها في ملف .ABA هذا بدلا من ذلك. الملف غير قابل للاستخراج باستخدام WinRAR، أو أي مستخرج عالمي آخر حاولت.

هل هناك طريقة لاستخراجها؟ أخبرني أحدهم أنه كان متأكد من أن ملف .ABA يستخدم Zlib. ولكن لا أحد يستطيع تأكيد ذلك. كان شخص ما في موقع آخر سيحاول استخدام الهدف نفسه لاستخراج الملفات، وقراءته - ولكن لم تفعل أبدا.

نأمل أن الأشخاص الأذكياء هنا يمكنهم معرفة كيفية استخراجها. على وجه التحديد، أود الحصول على ملف bl.dtd الموجود فيه. إذا قمت بفتح الملف في المفكرة، فيمكنك أن ترى أنه يحتوي على جبرية في الغالب، ولكن يسرد أيضا الملفات الموجودة فيه - والتي تتضمن هذا الملف.

لا توجد حاجة إلى ضغطها مرة أخرى في ملف ABA، بمجرد استخراجها - ولكن إذا كان ذلك ممكنا - فلن تؤذي القيام به.

يمكنك تنزيل ملف .ABA هنا: http://www.filedropper.com/en-us.

شكرا جزيلا!

هل كانت مفيدة؟

المحلول

هذه "سريع للغاية وقذرة (1)" PHP Code تستخرج JPGS و PNGS و GIFS وملفات نصية مضغوطة GZ من هذا الملف عن طريق العثور على بعض الأوتار السحرية ... يتم فك تشفير النص والصور المعروضة ...

(1) سريع القذرة هو مصطلح يستخدم في إشارة إلى أي شيء سهلة طريقة لتنفيذ الحل البديل أو "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.

نص Alt http://img62.imageshack.us/img62/6541/32497869.png.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top