Playing with binaries from TV on Ubuntu ARM
Posted: Sun Nov 04, 2018 10:31 pm
I recently obtained a Asus Tinker Board and installed Armbian Bionic on it. I thought it might be interesting to see what would happen if I would copy the binaries off the TV and see if they run.
I manually copied part of the directory structure off the TV with scp and ran the binaries with commands like:
Many of them seem to rely on something called Trust Zone which is supplied by the tzdrv kernel module. It appears this is some ARM CPU security feature.
Did anybody else play around with the software off the TV? Would it make sense to dd the whole /dev/mmcblk0 off the TV over SSH or would it be hard to mount the filesystem directly?
A separate idea:
Maybe it would be possible to create a USB flash disk (or image similar to SamyGO's ext4 image) with an vdfs filesystem which contains the structure below some /mtd_* directory and mount it on top of the corresponding /mtd_* directory. This would allow running with a significantly modified tree on the TV itself. I imagine someone here tried things like this already as well.
I manually copied part of the directory structure off the TV with scp and ran the binaries with commands like:
Code: Select all
LD_LIBRARY_PATH=Java/lib/:Comp_LIB/:../lib/libs:../lib/:InfoLink/lib/:Runtime/lib/:Runtime/XorgLibs/ ../lib/ld-linux.so.3 ./exeAPP
Code: Select all
$ LD_LIBRARY_PATH=Java/lib/:Comp_LIB/:../lib/libs:../lib/:InfoLink/lib/:Runtime/lib/:Runtime/XorgLibs/ ../lib/ld-linux.so.3 ./exeAPP
[TZAPI][ERR]Error!, timeout for insmod tzdrv.ko
[TZAPI][ERR][/home/zhouxin/TZSF_NewP4Server_Linux/SDAL/Product2014/TrustZone/TZSF_X14H_DEU_RCA_Prj/INT/Platform/X14H/Build/../../../Source/NWD/TZAPI//src/TZClientAPI.c][TZAPI_TZLIB_Init]133
## Core Software Platform (TM) 4.0 : DTP-CSP-4514-0A (RELEASE)
## Process Name : ./exeAPP ## PID : 6751
## MULTI_PROCESS ## (_USE_SYSTEM_TIME_ : N)(__CSP_GLIBC__)
Copyright (C) SAMSUNG Electronics Co.,Ltd.
CSP No sched_yield()
>>[ProductInfo::Create][ProductInfo::Create] Main UI Start
>>[ProductInfo::m_ReadProductInfoFromFile][ERROR] [ProductInfo::m_ReadProductInfoFromFile] Create false
>>[ProductInfo::Create][ProductInfo::Create] Read fail retry Cnt, there is no PrdInfo files :1
>>[ProductInfo::m_ReadProductInfoFromFile][ERROR] [ProductInfo::m_ReadProductInfoFromFile] Create false
>>[ProductInfo::Create][ProductInfo::Create] Read fail retry Cnt, there is no PrdInfo files :2
>>[ProductInfo::m_ReadProductInfoFromFile][ERROR] [ProductInfo::m_ReadProductInfoFromFile] Create false
>>[ProductInfo::Create][ProductInfo::Create] Read fail retry Cnt, there is no PrdInfo files :3
>>[ProductInfo::m_ReadProductInfoFromFile][ERROR] [ProductInfo::m_ReadProductInfoFromFile] Create false
>>[ProductInfo::Create][ProductInfo::Create] Read fail retry Cnt, there is no PrdInfo files :4
A separate idea:
Maybe it would be possible to create a USB flash disk (or image similar to SamyGO's ext4 image) with an vdfs filesystem which contains the structure below some /mtd_* directory and mount it on top of the corresponding /mtd_* directory. This would allow running with a significantly modified tree on the TV itself. I imagine someone here tried things like this already as well.