Реклама показывается только незарегистрированным пользователям. Вход или Регистрация

epk2extract – утилита для распаковки файлов прошивок

Обсуждение программ и приложений для смарт телевизоров LG на webOS. Здесь вы найдете информацию о том, где бесплатно скачать приложения для смарт тв, как установить и удалить приложение, какие есть лучшие приложения smart TV для просмотра каналов и фильмов.

epk2extract – утилита для распаковки файлов прошивок

Сообщение Egorich » 16 мар 2021, 13:27

Обсуждение приложения epk2extract, предназначенного для распаковки и расшифровка файлов прошивок телевизоров LG


epk2extract - это приложение с открытым кодом, который может извлекать, расшифровывать и конвертировать несколько форматов файлов, которые могут встречаться в телевизорах LG и аналогичных устройствах.

Поддерживаемые форматы файлов:

ФорматОписание
epk v1Первая версия формата epk, не зашифрованная и не подписанная
epk v2Вводит подпись и шифрование, требуются ключи
epk v3Введен в webOS. Требуются ключи
Mediatek pkgФайлы UPG/PKG, используемые Hisense/Sharp/Philips (отсутствует ключ AES для Philips) и, возможно, другими
Philips "fusion"Файлы обновлений, используемые некоторыми телевизорами Philips
squashfs
cramfs
lz4Немного измененная версия с заголовком
lzo
gzip
jffs2
lzhsСпециальное сжатие для загрузчиков MTK (boot.pak, tzfw.pak), использует lzss + huffman
lzhs_fsСистема файлов LZHS, используемая в файлах MTK Upgrade для внешнего записываемого раздела (3rdw)
mtdinfo/partinfoФормат таблицы разделов LG (mtdi.pak, part.pak)
str/pifФормат записи PVR, который можно найти в моделях netcast
symСимволы отладки LG. Может извлекать имена функций и адреса в файл скрипта IDA (idc)


Примечание: Для распаковки форматов epk v2 и v3 потребуются соответствующие ключи AES и RSA для расшифровки. Их можно извлечь из работающего телевизора.

Примечание: Для расшифровки PVR-записей вам потребуется дамп уникального ключа AES-128 из вашего телевизора.

epk2extract был протестирован только на файлах прошивок LG, однако можно использовать его для извлечения других файлов как общий инструмент распаковки, если они поддерживаются согласно таблице выше.

epk2extract не предназначен для перепаковки файлов. Если вы хотите перепаковать измененные файлы, следуйте вики/форуму openlgtv и делайте это в среде Linux (не используйте Cygwin). Не перепаковывайте файлы, извлеченные в среде Cygwin. В любом случае, вы делаете это на свой страх и риск.

Примечание
Программное обеспечение предоставляется "как есть", без гарантий любого рода, явных или подразумеваемых, включая, но не ограничиваясь, гарантиями товарного вида, пригодности для определенной цели и ненарушения прав. В любом случае авторы или владельцы авторских прав не несут ответственности за любые претензии, убытки или другие обязательства, возникающие из использования программного обеспечения или из других действий с ним.

Страница приложения на Github: https://github.com/openlgtv/epk2extract/

Входящие в состав компоненты:
КомпонентОписание
lzhsencСжимает заданный файл с помощью алгоритма lzhs
lzhs_scannerСканирует заданный файл для поиска файлов lzhs и извлекает их
idb_extractИзвлекает файлы базы изображений (IDB), которые можно найти в прошивках LG
jffs2extractИзвлекает образы JFFS2. Поддерживает различные алгоритмы сжатия


Как скомпилировать epk2extract в Linux:

  1. Установите необходимые компоненты для сборки:
    Ubuntu/Debian:
    Код: Выделить всё
    apt-get install git build-essential cmake liblzo2-dev libssl-dev libc6-dev

    Mandriva/Mageia:
    Код: Выделить всё
    urpmi git task-c++-devel cmake liblzo-devel libopenssl-devel glibc-devel --auto
  2. Скачайте и распакуйте на диск архив
  3. Соберите проект:
    Код: Выделить всё
    ./build.sh
  4. После сборки epk2extract можно найти в папке build_<platform>.

Как скомпилировать epk2extract на Cygwin:
  1. Установите Cygwin и во время установки выберите следующие пакеты:
    Код: Выделить всё
       Devel -> gcc-g++, git, cmake, make
    Libs  -> liblzo2-devel, zlib-devel
    Net   -> openssl-devel
    Utils -> ncurses   
  2. Соберите проект:
    Код: Выделить всё
    ./build.sh
Скрипт сборки автоматически копирует необходимые общие библиотеки в папку /build_cygwin/, так что вы можете использовать epk2extract как автономный/портативный инструмент без полной установки Cygwin.

Как использовать epk2extract:
  1. Поместите файлы прошивки в ту же директорию, что и исполняемый файл epk2extract.
  2. Запустите его через sudo/fakeroot, чтобы избежать предупреждений (при извлечении узлов устройства из rootfs):
    Код: Выделить всё
    sudo ./epk2extract имя_файла   
  3. Чтобы получить IDC из SYM, выполните:
    Код: Выделить всё
    ./epk2extract xxxxxxxx.sym

    Чтобы декодировать файлы part.pak или mtdi.pak выполните:
    Код: Выделить всё
    ./epk2extract part.pak
Egorich

 
Сообщения: 101
Зарегистрирован: 03 апр 2019, 16:17
Благодарил (а): 28 раз.
Поблагодарили: 7 раз.
Телевизор: LG 50NANO793NE

epk2extract – утилита для распаковки файлов прошивок

Спонсор » 16 мар 2021, 13:27

Реклама показывается только незарегистрированным пользователям. Войти или Зарегистрироваться
Спонсор

 
Сообщения: 100
Зарегистрирован: 15 июл 2014, 18:43
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: [rootmy.tv] Как получить Root права на webOS

Сообщение JackSparrow » 02 июн 2022, 22:58

Если хочется проверить есть ли в новой прошивке рут, при этом не устанавливая её, то нужно скачать прошивку на пк, распаковать и проверить. Инструкция:

Andrei писал(а):1. Скачать прошивку с сайта lg (epk файл) ;
2. Распаковать epk файл с помощью утилиты epk2extract https://github.com/openlgtv/epk2extract;
3. В распакованных файлах поиском найти строку extra_conf.sh (можно сразу проверить /etc/wam/plugins/conf.sh, он вроде оттуда вызывается) ;
4. Если такой файл есть - то прошивка уязвима rootmytv 2.0, если нет - патчена.


Сборку epk2extract для windows 10 x64 можно скачать тут: epk2extract.zip

epk2extract for windows 10 x64 can be downloaded here.
Последний раз редактировалось JackSparrow 11 июн 2022, 10:16, всего редактировалось 1 раз.

За это сообщение автора JackSparrow поблагодарил:
Архивариус (11 июн 2022, 10:17)
JackSparrow

 
Сообщения: 10599
Зарегистрирован: 10 июн 2018, 17:48
Благодарил (а): 1677 раз.
Поблагодарили: 1852 раз.
Телевизор: LG OLED 55C9

Re: [rootmy.tv] Как получить Root права на webOS

Сообщение AMETKO » 04 июн 2022, 11:15

JackSparrow
В Software File (Version 04.30.90).zip и Software File (Version 04.30.62).zip для модели 43UN70006LA и других совместимых, такого файла нет.
AMETKO

 
Сообщения: 4312
Зарегистрирован: 18 июн 2017, 22:32
Благодарил (а): 603 раз.
Поблагодарили: 632 раз.
Телевизор: LG 43UH603V

Re: [rootmy.tv] Как получить Root права на webOS

Сообщение AMETKO » 11 июн 2022, 13:03

JackSparrow
Распаковал ради интереса с помощью epk2extract вот эту прошивку 03.21.10 для OLED C1. Файл conf.sh нашелся в папке "03.21.10.01-HE_DTV_W21O_AFABATAA\rootfs.pak.unsquashfs\etc\wam\plugins\" и имеет вот такое содержимое:

#! /bin/sh

#Max open files
ulimit -n 8192

export BROWSER_NAME="LG Browser"
export BROWSER_VERSION="8.00.00"
export VENDOR_NAME="LGE"
export PLATFORM_NAME="webOS.TV"
export PLATFORM_VERSION="2021"
export BACKWARD_COMPATIBILITY_STRING="LG NetCast.TV-2013 Compatible"
export DEFAULT_FONT="LG Display"
export WEBOS_QT_SSL_PRIVATE_KEY_PATH="/etc/wam/sec/device_key.pem"
export WEBOS_QT_SSL_LOCAL_CERTIFICATE_PATH="/etc/wam/sec/device.pem"
export WEBOS_SSL_TRUSTED_CAS_PATH="/etc/ssl/certs/trusted_cas.crt"
export INETTV_HTML_PLAYER_PATH="/usr/share/inettv/inettv_player/index.html"

# debugging
export WAM2_ENABLE_DEBUG_EVENT=1

# Webkit debugging
export QT_WEBKIT_LOG="Media"

EXTRA_CONF=/mnt/lg/cmn_data/wam/extra_conf.sh

if test -f $EXTRA_CONF; then
source $EXTRA_CONF;
fi

Судя по наличию строчки EXTRA_CONF=/mnt/lg/cmn_data/wam/extra_conf.sh, рут тут есть, верно?
AMETKO

 
Сообщения: 4312
Зарегистрирован: 18 июн 2017, 22:32
Благодарил (а): 603 раз.
Поблагодарили: 632 раз.
Телевизор: LG 43UH603V

Re: Откат и восстановление предыдущих версий прошивок

Сообщение numminorih » 13 июн 2022, 15:07

Интересно, а где лежит номер прошивки который видит тв при переходе в обновления....
Может его просто HEX-ом сменить на более высокий, так как судя по скорости отбоя от прошивки, похоже на примитивную поверхностную проверку версии самим прошивальщиком в каком-то регистре/файле, без начала распаковки...

Пока поиски в распакованной прошивке с помощью epk2extract не увенчались успехом.
numminorih

 
Сообщения: 10
Зарегистрирован: 12 июн 2022, 17:19
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Телевизор: sm9800pla

Re: Откат и восстановление предыдущих версий прошивок

Сообщение andrewttrb » 13 июн 2022, 16:33

numminorih
в epk файле есть header, в котором хранится версия и тип прошивки, для проверки декриптится только он.
Ранее (на удивление) апдейтер проверял только тип и поэтому был возможен откат с пмощью usb прошивок, после последних патчей похоже проверяют чтобы и версия была не ниже текущей.
andrewttrb

 
Сообщения: 319
Зарегистрирован: 01 янв 2021, 20:22
Благодарил (а): 23 раз.
Поблагодарили: 237 раз.
Телевизор: LG OLED65CX

Re: Откат и восстановление предыдущих версий прошивок

Сообщение numminorih » 13 июн 2022, 21:29

Нашёл информацию по старым прошивкам:
(Источник https://github.com/openlgtv/wiki/wiki/Customizing_LGMOD)

Then edit the file with hex editor to change epk version and pak offset and size.In epk header starting at offset 0x0C starts the pak table for each pak 2 infos, first offset in file (32 bits) then pak size (32 bits) as epk header is 0xD0 size length (208 bytes) first pak always starts at (little endian) 0xD0 0x00 0x00 0x00, here our flash partition has size 0x16C000, pak header size is 0x80 (128 bytes) and CRC 4 bytes so pak size is 0x16C000+0x80+0x04=0x16C084 so in little endian 0x84 0xC0 0x16 0x00 to be entered at offset 0x10 to 0x13.

At offset 0x04 to 0x07 is total size of paks here we have only one so same size as pak to be entered 0x84 0xC0 0x16 0x00.

At offset 0xAC is epk version, let&#39;s use 3.19 as it is recommended version of firmware to be used with LGMOD.That&#39;s 0x00 0x19 0x03 0x00.


но у себя в прошивке lib32-starfish-dvb-secured-m16p3-538.gyeryongsan.m16p3-53804-05.00.15_prodkey_usb_V3_SECURED.epk похожего найти не могу...

Добавлено спустя 1 минуту 7 секунд:

andrewttrb писал(а):в epk файле есть header, в котором хранится версия и тип прошивки, для проверки декриптится только он.
Ранее (на удивление) апдейтер проверял только тип и поэтому был возможен откат с пмощью usb прошивок, после последних патчей похоже проверяют чтобы и версия была не ниже текущей.

Видимо так, потому как с тестовой 05.35.35 на основную 05.20.35 также не дает обновиться через usb.
numminorih

 
Сообщения: 10
Зарегистрирован: 12 июн 2022, 17:19
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Телевизор: sm9800pla

Re: [rootmy.tv] Как получить Root права на webOS

Сообщение AMETKO » 24 июн 2022, 11:07

AMETKO писал(а):Распаковал ради интереса с помощью epk2extract вот эту прошивку 03.21.10 для OLED C1.

Просто список файлов, содержащихся в этой прошивке, занимает почти 15 мегабайт.
Текстовый файл такого размера сюда не прикрепить, если кому из интересно - выложено на яндекс диске: https://disk.yandex.ru/d/E2oAdEU71bUuoA.
AMETKO

 
Сообщения: 4312
Зарегистрирован: 18 июн 2017, 22:32
Благодарил (а): 603 раз.
Поблагодарили: 632 раз.
Телевизор: LG 43UH603V

Re: Откат и восстановление предыдущих версий прошивок

Сообщение rick28 » 29 июн 2022, 22:44

Скачал epk2extract - распаковал, но там нет исполняемого файла. Как открыть epk для проверки?
rick28

 
Сообщения: 6
Зарегистрирован: 14 мар 2020, 12:30
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.
Телевизор: lg 55sj800v

Re: Откат и восстановление предыдущих версий прошивок

Сообщение AMETKO » 29 июн 2022, 22:56

rick28
Проверил, исполняемый файл в архиве есть.


rick28 писал(а):Как открыть epk для проверки?

Синтаксис там очень простой:
Usage: epk2extract [-options] FILENAME

Options:
-c: extract to current directory instead of source file directory
-s: enable signature checking for EPK files
AMETKO

 
Сообщения: 4312
Зарегистрирован: 18 июн 2017, 22:32
Благодарил (а): 603 раз.
Поблагодарили: 632 раз.
Телевизор: LG 43UH603V

След.

Вернуться в Телевизоры LG - Приложения



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

Реклама показывается только незарегистрированным пользователям. Вход или Регистрация