Бинарный файл архива имеет обратную шестнадцатеричную подпись
Контекст
Это перепечатка моего вопроса о StackOverflow, который был задан неправильно, поскольку он не имеет отношения к программированию.
Я играю в Bandit на OverTheWire, и на тринадцатом уровне требуется распаковать сжатые файлы различных форматов, не зная расширения файла. Для этого я сравнил шестнадцатеричный дамп с подписями файлов с сайта Гэри Кесслера .
Однако я заметил, что шестнадцатеричная подпись отображается наоборот. Например, возьмите этоgz, tgz gzip
архивный файл:
0000000 8b1f 0808 5006 5eb4 0302 6164 6174 2e32
0000010 6962 006e 3d01 c202 42fd 685a 3139 5941
0000020 5326 8e59 1c4f 00c8 1e00 ff7f f9fb da7f
...
Подпись стоит наоборот, по сравнению с тем, что указано на сайте Гэри Кесслера:
1F 8B 08 .‹. GZ, TGZ GZIP archive file
VLT VLC Player Skin file
Вопрос
Почему подпись наоборот?1F 8B 08
против . Первый встреченный файл — это шестнадцатеричный дамп архивного файла.data.txt
и имеет правильную подпись1f8b 0808
(найден с помощьюhead data.txt
), что идеально соответствует подписи. Однако, когда я бегуxxd -r data.txt | hexdump
я еще раз8b1f 0808
.
Комментарии к моему вопросу StackOverflow, похоже, указывают на то, что он связан с большим/маленьким порядком байтов, и указали мне на-g1
флагxxd
, что означает группировку.
Это дает правильный результат, но я не понимаю, что такое группировка и как она работает.