Я унаследовал сжатый файл zlib и вкратце, мне нужно UN-zlib-сжать этого щенка до его первоначального содержания.
Я ломал голову, пытаясь понять, что происходит в мире, но я бью стену и надеюсь, что вы, хорошие люди, поможете мне понять, что происходит.
До сих пор я сделал много вещей, я не буду утомлять вас каждой вещью, но это то, что я приземлился в последний раз, и все, что я получаю искаженный вывод, не знаю, что, черт возьми, не так, особенно что Последний шаг декодирования жалуется на данные, говорящие:
Предупреждение: gzuncompress (): ошибка данных в
C: \ xampp \ htdocs \ test-box \ index.php в строке 6Предупреждение: zlib_decode ():
ошибка данных в C: \ xampp \ htdocs \ test-box \ index.php в строке 8
и это код — ничего особенного, я пытаюсь заставить его работать, прежде чем сойти с ума еще, и поэтому простота должна позволить нам лучше проанализировать его.
<?php
$filename = 'c5ytvbg4y.x'; // this is the zlib compressed file
$file = filesize($filename); // using this for the length
$zd = gzopen($filename, "r"); // create valid pointer
$contents = gzread($zd, $file); // binary safe read the content
$decoded = gzuncompress($contents); // using gzdecode produces the same issue
gzclose($zd); // close the pointer
zlib_decode($decoded); // decode it but I get nothing but garble
?>
Любая помощь будет оценена. В идеале я хочу иметь возможность открыть его, распаковать его обратно в нормальное состояние и сохранить его в новый файл. Но сейчас я был бы рад узнать, почему, черт возьми, я не получаю ничего, кроме искаженного текста. Также имейте в виду, что я знаю $file
выше не идеал, буду ставить while !feof($zd)
или что-то в этом роде позже, я хотел бы пока сделать это простым, пытаясь выяснить большую проблему.
Любые мысли, рекомендации, предложения, помощь по коду или что-то еще будет принята с благодарностью, TIA.
@ Марк запрос:
0A 12 0F 04 04 D8 44 DA BF 63 C4 93 93 3B 49 51 17 A2 6F E3 0C 12 4D E4 24 F6 C8 BA D0 60 76 81
Это определенно не «сжатый zlib файл», по крайней мере, не первые 32 байта, и при этом это не любой формат, который использует метод сжатия deflate (например, gzip, zip, png и т. Д.), Потому что нет действительных сжатых данных deflate в предоставленных байтах.
Заголовок zlib обычно начинается с шестнадцатеричного 78
, Ваши данные начинаются с 0A
, который не является частью заголовка zlib. (Технически это своего рода допустимо, но подразумевает формат сжатия, который не поддерживается ни одной версией zlib.)
Заголовок gzip начинается с шестнадцатеричного 1F 8B
, Этого также нет в ваших данных.
Итак, я не уверен, что это за данные, но это не данные gzip и zlib. Вам нужно сделать еще несколько исследований, чтобы выяснить, что это такое.