• 大小: 651KB
    文件类型: .rar
    金币: 2
    下载: 3 次
    发布日期: 2024-02-29
  • 语言: 其他
  • 标签:

资源简介

mstar电视解包工具,自己使用了一下,确实可以解包

资源截图

代码片段和文件信息

‘‘‘
Tool to extract security keys from the MBOOT

That tool can be used only if you have Mstar.Key.Bank section in the mboot
To check that you need to enable debug mode in the mboot console 
and check for next lines during the boot:
[DEBUG] isCustomerKeyBankCipher:926: keyBankOffset=0x168e00
[DEBUG] isCustomerKeyBankCipher:927: keyBankSize=0x450

keyBankOffset - is an offset of the key bank section in the mboot
keyBankSize - section size

There will be similar lines for the key bank backup.

Another way to check it is to open MBOOT binary in the hex editor and
do search for u8MagicID which is most of the time equals to “Mstar.Key.Bank“ string. 
You should get two equal sections the key bank and the key bank backup.

==== Key bank structures ===

#define AES_IV_LEN  16
#define AES_KEY_LEN  16
#define HMAC_KEY_LEN  32

#define SIGNATURE_LEN         256
#define RSA_PUBLIC_KEY_N_LEN  256
#define RSA_PUBLIC_KEY_E_LEN  4
#define RSA_PUBLIC_KEY_LEN    (RSA_PUBLIC_KEY_N_LEN+RSA_PUBLIC_KEY_E_LEN)

typedef struct
{
    U32 u32Num;
    U32 u32Size;
}IMAGE_INFO;

typedef struct
{
  U8 u8SecIdentify[8]; 
  IMAGE_INFO info;
  U8 u8Signature[SIGNATURE_LEN];
}_SUB_SECURE_INFO;

typedef struct
{
  U8 N[RSA_PUBLIC_KEY_N_LEN];
  U8 E[RSA_PUBLIC_KEY_E_LEN];
}RSA_PUBLIC_KEY;

typedef struct
{
    _SUB_SECURE_INFO customer;
    RSA_PUBLIC_KEY u8RSABootPublicKey;
    RSA_PUBLIC_KEY u8RSAUpgradePublicKey;
    RSA_PUBLIC_KEY u8RSAImagePublicKey;
    U8 u8AESBootKey[AES_KEY_LEN];   
    U8 u8AESUpgradeKey[AES_KEY_LEN];       
    U8 u8MagicID[16];
    U8 crc[4];
}CUSTOMER_KEY_BANK;

==== End Key bank structures ===

‘‘‘

from ctypes import *
import os
import sys
import utils

DEBUG = False

# Default values
defOutFolder = “keys“
defOffet = “0x168e00“
defSize = “0x450“
#defKey=“hex:E01001FF0FAA55FC924D535441FF0700“

# Structures
AES_IV_LEN  = 16
AES_KEY_LEN  = 16
HMAC_KEY_LEN  = 32

SIGNATURE_LEN         = 256
RSA_PUBLIC_KEY_N_LEN  = 256
RSA_PUBLIC_KEY_E_LEN  = 4
RSA_PUBLIC_KEY_LEN    = RSA_PUBLIC_KEY_N_LEN + RSA_PUBLIC_KEY_E_LEN

class IMAGE_INFO(Structure):
_fields_ = [(“u32Num“ c_uint32)
(“u32Size“ c_uint32)]

class SUB_SECURE_INFO(Structure):
_fields_ = [(“u8SecIdentify“ c_uint8 * 8)
(“info“ IMAGE_INFO)
(“u8Signature“ c_uint8 * SIGNATURE_LEN)]

class RSA_PUBLIC_KEY(Structure):
_fields_ = [(“N“ c_uint8 * RSA_PUBLIC_KEY_N_LEN)
(“E“ c_uint8 * RSA_PUBLIC_KEY_E_LEN)]

class CUSTOMER_KEY_BANK(Structure):
_fields_ = [(“customer“ SUB_SECURE_INFO)
(“u8RSABootPublicKey“ RSA_PUBLIC_KEY)
(“u8RSAUpgradePublicKey“ RSA_PUBLIC_KEY)
(“u8RSAImagePublicKey“ RSA_PUBLIC_KEY)
(“u8AESBootKey“ c_uint8 * AES_KEY_LEN)
(“u8AESUpgradeKey“ c_uint8 * AES_KEY_LEN)
(“u8MagicID“ c_uint8 * 16)
(“crc“ c_uint8 * 4)]


# Command line args
if len(sys.argv) == 1: 
print (“Usage: extract_keys.py  [] [] []“)
prin

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      10065  2019-05-22 10:22  __pycache__\utils.cpython-37.pyc

    .......     71622  2019-03-28 08:06  bin\win32\aescrypt2.exe

    .......     61709  2019-03-28 08:06  bin\win32\alignment.exe

    .......    131072  2019-03-28 08:06  bin\win32\lzop.exe

    .......    137974  2019-03-28 08:06  bin\win32\rsa_sign.exe

    .......     71915  2019-03-28 08:06  bin\win32\SubSecureInfoGen.exe

    .......       650  2019-03-28 08:06  configs\dexp-madison-system.ini

    .......       613  2019-03-28 08:06  configs\empty-skip-example.ini

    .......      1116  2019-03-28 08:06  configs\letv-emmc2usb.ini

    .......       339  2019-03-28 08:06  configs\letv-enable-uart.ini

    .......       339  2019-03-28 08:06  configs\letv-force-bin-update.ini

    .......       910  2019-03-28 08:06  configs\letv-x340-43-recovery-no-secure.ini

    .......      5426  2019-03-28 08:06  configs\letv-x355pro-full.ini

    .......       932  2019-03-28 08:06  configs\letv-x355pro-recovery-no-secure.ini

    .......      1188  2019-03-28 08:06  configs\letv-x355pro-recovery.ini

    .......       632  2019-03-28 08:06  configs\letv-x355pro-system.ini

    .......      1072  2019-03-28 08:06  configs\letv-x4-recovery-no-secure.ini

    .......       997  2019-03-28 08:06  configs\letv-x4-systemless-live.ini

    .......       652  2019-03-28 08:06  configs\letv-x450pro-system.ini

    .......       522  2019-03-28 08:06  configs\LETV_USB_script_938.ini

    .......       703  2019-03-28 08:06  configs\tcl-s68at02-system.ini

    .......       484  2019-03-28 08:06  configs\xgimi.ini

    .......        16  2019-03-28 08:06  default_keys\AESboot.bin

    .......        16  2019-03-28 08:06  default_keys\AESupgrade.bin

    .......       155  2019-03-28 08:06  default_keys\README.md

    .......      2353  2019-03-28 08:06  default_keys\RSAboot_priv.txt

    .......       260  2019-03-28 08:06  default_keys\RSAboot_pub.bin

    .......       528  2019-03-28 08:06  default_keys\RSAboot_pub.txt

    .......      2353  2019-03-28 08:06  default_keys\RSAimage_priv.txt

    .......       260  2019-03-28 08:06  default_keys\RSAimage_pub.bin

............此处省略31个文件信息

评论

共有 条评论

相关资源