Domanda

Da AIM 7 beta 2, e ora su AIM 7 beta 6, e GM - AIM ha iniziato a utilizzare un nuovo formato di file .aba per mantenere i file in I file utilizzati per essere collocata in una cartella che abbiamo potuto accedere a. file di programma, tuttavia a causa di "performance" increasements, AOL ha deciso di metterli in questo file .aba invece. Il file non è estraibile utilizzando WinRAR, o qualsiasi altro estrattore universale che ho provato.

C'è un modo per estrarlo? Qualcuno mi ha detto che era abbastanza sicuro che il file .aba stava usando zlib. Ma nessuno può confermare che. Qualcuno su un altro sito stava per provare ad usare AIM sé per estrarre i file e leggerli -. Ma non ha mai fatto

Speriamo che le persone intelligenti qui può capire come estrarre loro. In particolare, mi piacerebbe avere il file bl.dtd trova in esso. Se si apre il file in Blocco note, si può vedere che ha per lo più senza senso, ma elenca anche i file in essa contenuti - che include il file

.

Non c'è bisogno di comprimere nuovamente nel file di aba, una volta che sono estratti - ma se è possibile -. Non sarebbe male fare

È possibile scaricare il file .aba qui: http://www.filedropper.com/en-

Grazie mille!

È stato utile?

Soluzione

Questo "estremamente veloce e sporco (1)" codice PHP estrae JPG, PNG, GIF e file di testo GZ-compressa da quel file trovando alcune stringhe di magia ... Il testo viene decodificato e le immagini visualizzate ...

  

(1) Quick-and-dirty è un termine usato in   riferimento a tutto ciò che è un facile   modo per implementare una soluzione o   "Kludge." Il suo utilizzo è molto popolare tra   programmatori, che lo usano per descrivere un   soluzione o programmazione grezza   implementazione che è imperfetto,   inelegant, o altrimenti inadeguata,   ma che risolve il problema o maschere   a portata di mano, ed è generalmente più veloce e   più facile da mettere in atto di un adeguato   soluzione. (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";
            }
          }  
        }
      }  
    }
?>

I risultati:

alt text http://img132.imageshack.us/img132/280/83168934 .png

alt text http://img62.imageshack.us/img62/6541/32497869 .png

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top