Найти в Дзене

Как открыть *.bik файл из игры "Prince of Persia Warrior Within"?

Что имеем: В игре Prince of Persia Warrior Within видеофайлы такие, что их нельзя посмотреть никакой программой (ни видеопроигрывателем, ни RadVideoTools'ом). Решения: Первый вариант. Первый инструмент: Какой-нибудь HEX-редактор. Я использовал Bless Hex Editor. Второй: какой-нибудь видеопроигрыватель, который может воспроизводить *.bik файлы (например, VLC) или RAD Video Tools, если нужно будет конвертировать видео в другой формат. Открываем *.bik файл с помощью HEX-редактора и удаляем первые 30 байтов до слова "BIK". Сохраняем этот файл как новый. Как результат имеем файл, который можно смотреть. Второй вариант. Каким-нибудь скриптовым языком удалить первые 30 байт. Я использовал Bash и написал такой простой код: #!/bin/bash
if [ $# -ne 2 ]; then
echo "Использование: $0 входной_файл выходной_файл"
exit 1
fi
eniga_dosiero="$1"
eliga_dosiero="$2"
if [ ! -f "$eniga_dosiero" ]; then
echo "Ошибка: входной файл $eniga_dosiero не существует"
exit 1
fi
dd if="$eniga_dosier

Что имеем: В игре Prince of Persia Warrior Within видеофайлы такие, что их нельзя посмотреть никакой программой (ни видеопроигрывателем, ни RadVideoTools'ом). Решения:

Первый вариант.

Первый инструмент: Какой-нибудь HEX-редактор. Я использовал Bless Hex Editor.

Второй: какой-нибудь видеопроигрыватель, который может воспроизводить *.bik файлы (например, VLC) или RAD Video Tools, если нужно будет конвертировать видео в другой формат.

Открываем *.bik файл с помощью HEX-редактора и удаляем первые 30 байтов до слова "BIK". Сохраняем этот файл как новый. Как результат имеем файл, который можно смотреть.

Текст, который нужно удалить, выделен тёмно-серым цветом
Текст, который нужно удалить, выделен тёмно-серым цветом

Второй вариант.

Каким-нибудь скриптовым языком удалить первые 30 байт. Я использовал Bash и написал такой простой код:

#!/bin/bash

if [ $# -ne 2 ]; then
echo "Использование: $0 входной_файл выходной_файл"
exit 1
fi

eniga_dosiero="$1"
eliga_dosiero="$2"

if [ ! -f "$eniga_dosiero" ]; then
echo "Ошибка: входной файл $eniga_dosiero не существует"
exit 1
fi

dd if="$eniga_dosiero" of="$eliga_dosiero" bs=1 skip=30

echo "Файл $eniga_dosiero успешно обработан в $eliga_dosiero"

Он (скрипт) принимает название файла, из которого нужно вычеркнуть первые тридцать байтов, и название нового файла.

Источники и другие решения:

-[1]: https://forum.ixbt.com/topic.cgi?id=25:20484

-[2]: https://prince-persia.at.ua/news/kak_izvlech_video_iz_warrior_within/2010-01-14-37

****

Эта запись копия записи отсюда (Teletype) и опубликована здесь для сохранности.