Update README.md
This commit is contained in:
parent
30faa473ae
commit
260dda6564
|
|
@ -1,6 +1,26 @@
|
|||
# Official Version
|
||||
# 0x0 Allow your DPT to accept PKG without correct key
|
||||
|
||||
Only support unpacking since we don't have the encryption key to repack it.
|
||||
This will create SECURITY FLAW in your system!
|
||||
|
||||
Comment out the key verification: (edit via `busybox vi`)
|
||||
```
|
||||
########################################
|
||||
# verify sig
|
||||
########################################
|
||||
# dd if=$1 bs=$(($DATA_OFFSET)) skip=1 2>/dev/null | head -c $(($BODY_SIZE)) |
|
||||
# openssl dgst -sha256 -verify $3 -signature $SIG_FILE 1>/dev/null
|
||||
# if [ $? -ne 0 ]
|
||||
# then
|
||||
# echo "Verify failed."
|
||||
# exit 0
|
||||
# fi
|
||||
```
|
||||
|
||||
# 0x1 Create your own PKG package
|
||||
|
||||
## Use Official PKGs as Examples
|
||||
|
||||
An easy approach is to use the official pkg to begin with. Once you have downloaded the official pkg, use `official_pkg_unpacker_pkg.sh` to unpack it.
|
||||
|
||||
Usage:
|
||||
```
|
||||
|
|
@ -8,20 +28,49 @@ chmod +x official_pkg_unpacker_pkg.sh
|
|||
./official_pkg_unpacker_pkg.sh <file/path/to/official/pkg> <output/folder/path>
|
||||
```
|
||||
|
||||
# Unofficial Version
|
||||
Then you can change the bash and let it run "anything" (as long as supported in diagnosis mode) during the update.
|
||||
|
||||
With modified diagnosis mode, it shall support unofficial pkg.
|
||||
## Tips
|
||||
|
||||
Unpacker is the same as official one, except we disabled verification.
|
||||
* In the bash, `exit 0` means it will reboot, while `exit 1` or any error status will shut down the system.
|
||||
* Double check your commands. Try them first in diagnosis mode.
|
||||
|
||||
The repacker follows a reversed procedure, but we simply use the data encryption key.
|
||||
# 0x2 Re-Pack it with your own key
|
||||
|
||||
Usage:
|
||||
(as written in the bash, I use the data decryption key instead)
|
||||
|
||||
Pack the PKG with:
|
||||
```
|
||||
chmod +x unofficial_pkg_unpacker_pkg.sh
|
||||
chmod +x unofficial_pkg_repacker_pkg.sh
|
||||
|
||||
|
||||
./unofficial_pkg_unpacker_pkg.sh <file/path/to/official/pkg> <output/folder/path>
|
||||
./unofficial_pkg_repacker_pkg.sh <previous/output/folder/path>
|
||||
```
|
||||
|
||||
# 0x3 Validate the package
|
||||
|
||||
|
||||
Easy validation by unpacking it again:
|
||||
```
|
||||
chmod +x unofficial_pkg_unpacker_pkg.sh
|
||||
|
||||
./unofficial_pkg_unpacker_pkg.sh <file/path/to/official/pkg> <new/output/folder/path>
|
||||
```
|
||||
|
||||
If succeeded, the package PKG will be recognized by the DPT system.
|
||||
|
||||
|
||||
# 0x4 Flash it
|
||||
|
||||
You can use `dpt-tools.py` to update the firmware you made:
|
||||
|
||||
```
|
||||
python dpt-tools.py -id <deviceid file path> -k <your key file path> -ip <ip address>
|
||||
```
|
||||
Then type `fw` and follow the instruction.
|
||||
|
||||
|
||||
# Known Issues
|
||||
|
||||
* After reboot, it will appear errors saying update failed. But PKG is actually applied.
|
||||
|
||||
* Not supporting animations yet.
|
||||
|
|
|
|||
Loading…
Reference in New Issue