Updated The Ultimate Rooting Guide (markdown)

HappyZ 2019-05-17 23:04:14 -05:00
parent f86be7646b
commit aaa9e7f67b
1 changed files with 33 additions and 14 deletions

@ -2,6 +2,8 @@
This guide provides basic rooting procedure in details. If you are new, this is the right place to start.
If you already hacked the system, but want to upgrade, please use [this guide](https://github.com/HappyZ/dpt-tools/wiki/The-Upgrading-Guide).
# Requirements
### Software
@ -20,7 +22,7 @@ If you have Windows PC, make sure your PATH environment is correct so you can ru
You need your DPT device, of course. And you need a microUSB cable that can connect your DPT to your computer.
You also need the DPT to be charged at least 80%.
You also need the DPT to be charged at least 80% (just to be safe).
# Steps
@ -28,18 +30,39 @@ For the following steps, we assume your device boots up normally, and has connec
### 0x1 Validate Successful Connection
Simply run `python dpt-tools.py` and it should automatically find required information.
If success, you will see:
```
===========
DPT Tools
===========
Thanks for using DPT Tools. Type `help` to show this message.
Supported commands:
fw -- update firmware
diagnosis -- enter diagnosis mode (to gain adb, su, etc.)
exit/quit -- leave the tool
>>>
```
If it didn't work, try `python dpt-tools.py -ip <your device ip address>`. For example,
```
```
In your laptop/desktop terminal, run `python dpt-tools.py -ip <DPT ip address>` to validate a successful connection.
For example, `python dpt-tools.py -ip 192.168.2.100`. You can find the ip address of DPT via your router, or in DPT settings.
You can also specify your id and key files by:
You can also specify your id and key files (referred from [janten's dpt-rp1-py](https://github.com/janten/dpt-rp1-py)) by:
```
python dpt-tools.py -id <deviceid file path> -k <your key file path> -ip <ip address>
```
Please refer to [janten's dpt-rp1-py](https://github.com/janten/dpt-rp1-py) on how do you get `deviceid` and `key` file path for your device.
Then you will enter the interactive shell mode.
### 0x2 Get Diagnosis Mode and Patch Updater Script
Download [this PKG from this example](https://github.com/HappyZ/dpt-tools/blob/master/fw_updater_packer_by_shankerzhiwu/pkg_example/hack_basics/fw.pkg).
@ -65,15 +88,14 @@ Note2: Absolute do NOT try to decompile the PKG on your computer via the unpack
### 0x3 Obtain Android ADB (Root) Access
Required system version:
* `1.4.01.16100` (for RP1)
* `1.4.02.09061` (for CP1)
If not, request it in [Issues](https://github.com/HappyZ/dpt-tools/issues) and wait for your modifications out.
The modification will change your Android boot partition.
Download `FwUpdater.pkg` from this [RP1 without mass storage](https://github.com/HappyZ/dpt-tools/tree/master/fw_updater_packer_unpacker/pkg_example/flashable_mod_boot_img_no_mass_storage) or [CP1 without mass storage](https://github.com/HappyZ/dpt-tools/blob/master/fw_updater_packer_unpacker/pkg_example/flashable_mod_boot_img_no_mass_storage_cp1). Or if you want, this [RP1 with mass storage (likely conflict with DPA)](https://github.com/HappyZ/dpt-tools/tree/master/fw_updater_packer_unpacker/pkg_example/flashable_mod_boot_img).
Download corresponding PKG for your system version:
* `1.4.01.16100` (for RP1) [download](https://github.com/HappyZ/dpt-tools/blob/6e8e30c0062ac51410caa9ddf5adb959d84ab038/fw_updater_packer_unpacker/pkg_example/flashable_mod_boot_img_no_mass_storage/FwUpdater.pkg)
* `1.4.02.09061` (for CP1) [download](https://github.com/HappyZ/dpt-tools/blob/6e8e30c0062ac51410caa9ddf5adb959d84ab038/fw_updater_packer_unpacker/pkg_example/flashable_mod_boot_img_no_mass_storage_cp1/FwUpdater.pkg)
* `1.6.00.15110` (for both RP1 & CP1) [download](https://github.com/HappyZ/dpt-tools/blob/40b1d3667b7d1ef9c9330f46c167a58911c83569/fw_updater_packer_unpacker/pkg_example/flashable_mod_boot_img_1.6.00.15110/FwUpdater.pkg)
If not, request it in [Issues](https://github.com/HappyZ/dpt-tools/issues) and wait for your modifications out.
In the interactive shell, type `fw` and press Enter key.
@ -85,11 +107,8 @@ Your DPT will say `preparing for the update...` and then the DPT will restart an
After update, it will say `update failure`, but it is actually flashed.
And you can run `adb devices` on your computer to see if your DPT appears (it may take a while to boot ADBD after DPT boots up, if you have waited for >2min, try to unplug and plug back in the cable, and do `adb kill-server && adb devices` several times, it eventually will come up!).
And you can run `adb devices` on your computer to see if your DPT appears (it may take a while to boot ADBD after DPT boots up, if you have waited for >1min, try to unplug and plug back in the cable, and do `adb kill-server && adb devices` several times, it eventually will come up! Fully tested).
Note: If you want to use prior ADBD (not the insecured ADBD from chainfire, you can find more details [here](https://github.com/HappyZ/dpt-tools/issues/87#issuecomment-489276963))
~Note: we are still unclear about [the issue DPA cannot be connected](https://github.com/HappyZ/dpt-tools/issues/58).~
### 0x4 Obtain Android Root Access (Optional, Subject to Change)