You are on page 1of 2

mstar-bin-tool

用于打包/解压缩 MStar bin 固件的命令行工具

当前可用的工具:

 unpack.py - 打开 MStar 箱固件的包装


 pack.py - 包装 MStar 箱固件
 extract_keys.py- 从 MBOOT 二进制文件中提取 AES 和 RSA 公钥
 secure_partition.py-加密图像并生成签名文件

解压缩 MStar bin 固件文件

Usage: unpack.py <firmware> <output folder [default: ./unpacked/]>


<firmware> - MStar bin firmware to unpack
<output folder> - directory to store unpacked stuff. Default value: ./unpacked/

打包 MStar 垃圾箱固件

Usage: pack.py <config file>


Example: pack.py configs/letv-x355pro-full.ini
<config file> - Configuration file. The config file structure will be
described later.
For now you can take a look at configs/letv-x355pro-full.ini
and use it as an example

从 MBOOT 中提取密钥

该工具用于从 MBOOT 获取 AES 和公共 RSA 密钥。加密/解密需要 AES 密钥 boot.img 和 recovery.img 映像。
使用 AESCRYPT2 工具。

Usage: extract_keys.py <path to mboot> [<folder to store keys>] [<key bank offset>] [<key bank
size>]
Defaults:
<folder to store keys> keys
<key bank offset> 0x168e00
<key bank size> 0x450
Example: extract_keys.py ./unpacked/MBOOT.img
Example: extract_keys.py ./unpacked/MBOOT.img ./keys 0x169e00 0x450

加密/解密分区

您可以使用 aescrypt2.exe 工具加密/解密分区,该工具位于 bin/win32 文件夹中


默认 mstar 密钥为 hex:0007FF4154534D92FC55AA0FFF0110E0 所有 mstar 默认密钥都在 default_keys 文件夹中。
(这些密钥在 github 中处于公共访问权限中)

最后一个参数可以是十六进制值或 AES 密钥的路径。如果您的供应商使用自定义 aes 密钥,您可以使用


extract_keys.py 来提取它们。

要加密映像,请使用:

aescrypt2 0 boot.img boot.img.aes hex:0007FF4154534D92FC55AA0FFF0110E0


or
aescrypt2 0 boot.img boot.img.aes keys/AESBootKey
所以要解密图像使用:

aescrypt2 1 boot.img.aes boot.img hex:0007FF4154534D92FC55AA0FFF0110E0


or
aescrypt2 1 boot.img boot.img.aes keys/AESBootKey

加密分区并生成签名

所有新的 MStar 构建都启用了 SECURE_BOOT 选项。在这种情况下 boot.img 和 recovery.img 是加密的 (AES)


并使用 RSA priv 密钥进行签名。 该脚本用于加密图像并生成签名文件。

要手动加密|解密图像,请使用 bin 文件夹中的 aescrypt2 工具。 可以使用 extract_keys.py 脚本从 MBOOT 中提


取 AES 密钥。

Usage: secure_partition.py <file to encrypt> <AES key file> <RSA private key file> <RSA public
key file> <output encrypted file> <output signature file>
Example: secure_partition.py ./pack/boot.img ./keys/AESbootKey ./keys/RSAboot_priv.txt
./keys/RSAboot_pub.txt ./pack/boot.img.aes ./pack/bootSign

You might also like