Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Extraction tool for LG, Hisense, Sharp, Philips/TPV, Thompson and similar TVs/Embedded Devices

License

NotificationsYou must be signed in to change notification settings

openlgtv/epk2extract

Repository files navigation

Build Status

epk2extract

Join the chat at https://gitter.im/openlgtv/epk2extract

Join on Discord:https://discord.gg/xWqRVEm

epk2extract is a tool that can extract, decrypt, convert multiple file formats that can be found in LG TV sets and similar devices.

Supported Formats:

NOTE: To unpack epk v2 and v3 you need proper AES and RSA keys for decryption. To get them you will need to dump them from a running TV.

NOTE: To decrypt PVR recordings you need a dump of the unique AES-128 key from your TV

FormatNotes
epk v1First version of epk format, not encrypted and not signed
epk v2Introduces signing and encryption, keys needed
epk v3Introduced with WebOS. Keys needed
Mediatek pkgUPG/PKG files used by Hisense/Sharp/Philips (missing Philips AES key) and possibly others
Philips "fusion"Upgrade files used by some Philips TVs
squashfs
cramfs
lz4Slightly modified version with header magic
lzo
gzip
jffs2
lzhsSpecial compression for MTK bootloaders (boot.pak, tzfw.pak), uses lzss + huffman
lzhs_fsLZHS compressed filesystem used in MTK Upgrade files for the external writable partition (3rdw)
mtdinfo/partinfoLG Partition table format (mtdi.pak, part.pak)
str/pifPVR recording format that can be found in netcast models
symLG Debugging symbols. Can extract function names and addresses to an IDA script file (idc)

Although epk2extract is only tested on LG firmware files, you may use it to extract other files like a general unpack tool, as long as they are supported according to the table above.

!!WARNING!!
epk2extract isn't designed to repack files
If you wish to repack modified files, follow the openlgtv wiki/forum, and do it in a Linux environment (no cygwin)
Don't repack files extracted in cygwin environment
In any case, you do so at your own risk

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIESOF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE ANDNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHTHOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISINGFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OROTHER DEALINGS IN THE SOFTWARE

Tools:Description
lzhsencCompresses a given file with lzhs algorithm
lzhs_scannerScans a given file to find lzhs files, and extracts them
idb_extractExtracts Image Database (IDB) files that can be found in LG firmwares
jffs2extractExtracts JFFS2 images. Supports various compression algorithms

To compile on Linux:

Install build dependencies:

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

Build it

./build.sh

After building, epk2extract can be found in ./build_<platform>/

To compile on Cygwin:

Install Cygwin and during setup select following packages:

Devel -> gcc-g++, git, cmake, makeLibs  -> liblzo2-devel, zlib-develNet   -> openssl-develUtils -> ncurses

Build it

./build.sh

The build script automatically copies required shared libraries to the ./build_cygwin/ folder, so you can use epk2extract standalone/portable without a full cygwin installation.

=====================

How to speed up extraction process

You can build the test build, which contains compiler optimizations, with this command

CMAKE_FLAGS=-DCMAKE_BUILD_TYPE=Test ./build.sh

The Test build is orders of magnitude faster than the Debug build

To use:

Put *.pem and AES.key files in the same directory as the epk2extract binary.

Run it via sudo/fakeroot to avoid warnings (while extracting device nodes from rootfs):

fakeroot ./epk2extract file

To get IDC from SYM run:

./epk2extract xxxxxxxx.sym

To decode part.pak or mtdi.pak do:

./epk2extract part.pak

Or use partinfo.py (deprected)

python partinfo.py part.pak

About

Extraction tool for LG, Hisense, Sharp, Philips/TPV, Thompson and similar TVs/Embedded Devices

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages


[8]ページ先頭

©2009-2025 Movatter.jp