Skip to content

Commit

Permalink
new readme & funding
Browse files Browse the repository at this point in the history
  • Loading branch information
mashed-potatoes committed Jun 29, 2021
1 parent 65362aa commit 451083c
Show file tree
Hide file tree
Showing 6 changed files with 53 additions and 24 deletions.
4 changes: 4 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
ko_fi: certs
custom:
- http://paypal.me/teegris
- https://buymeacoffee.com/teegris
2 changes: 1 addition & 1 deletion HiSiBootloaders
71 changes: 48 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,58 +1,83 @@
# PotatoNV
<img src="./assets/header.png" width="100%" height="auto" alt="PotatoNV">

[![Build status](https://ci.appveyor.com/api/projects/status/0ra9b57aakdo5ms6?svg=true)](https://ci.appveyor.com/project/mashed-potatoes/potatonv)
![GitHub release (latest by date including pre-releases)](https://img.shields.io/github/v/release/mashed-potatoes/PotatoNV?include_prereleases)
![GitHub](https://img.shields.io/github/license/mashed-potatoes/PotatoNV)
![GitHub All Releases](https://img.shields.io/github/downloads/mashed-potatoes/PotatoNV/total)
[![CodeFactor](https://www.codefactor.io/repository/github/mashed-potatoes/potatonv/badge)](https://www.codefactor.io/repository/github/mashed-potatoes/potatonv)

Unlock bootloader of Huawei devices on Kirin SoC.
---

<p align="center">
<img src="https://raw.githubusercontent.com/mashed-potatoes/PotatoNV/master/assets/screenshot.png">
</p>
## Download

---
### 👉 [Click here to download the latest version](https://github.com/mashed-potatoes/PotatoNV/releases/download/v2.2.1/PotatoNV-next-v2.2.1-x86.exe).

Get binaries for Windows in [the releases section](https://github.com/mashed-potatoes/PotatoNV/releases).
For Linux or macOS consider using the [PotatoNV-crossplatform](https://github.com/mashed-potatoes/PotatoNV-crossplatform).

## Getting started

Just follow this video guide: https://www.youtube.com/watch?v=YkGugQ019ZY.

Click below to download the latest version:
## How it works (in a nutshell)

<a href="https://github.com/mashed-potatoes/PotatoNV/releases/download/v2.1.0/PotatoNV-next-v2.1.0-x86.exe">
<img src="https://raw.githubusercontent.com/mashed-potatoes/PotatoNV/master/assets/cool-button.png?r=2100" width="520" height="auto">
</a>
Even before creating PotatoNV, [@TishSerg](https://github.com/TishSerg) discovered that unlock key can be rewritten with the **SHA256 hash** of the desired key to the `USRKEY` property. However, to access **_NVME_** _(a raw partition that stores stuff like serial number, device traits, etc.)_, a user should flash _custom_ recovery or gain temporary root privileges. But both methods are complex and are not guaranteed to work. After researching the legacy bootloader of some Huawei devices, I've found a `nve` command, which allows to read or write any property in the **_NVME_** partition. Of course, this command requires an unlocked bootloader.
So it remains to find a way to quickly unlock the bootloader. The way out is quite simple - use the bootloader from the board software.

The program uploads a special **_"USB bootloader"_** _(exported from the board software)_ through the `DOWNLOAD_VCOM` mode. **_VCOM_** is smth like **_EDL_** on Qualcomm devices: it can be triggered by a system failure or by **shorting testpoint**.
After uploading the bootloader, the device should switch to the fastboot mode. The "USB bootloader" has an important trait: it's **unlocked out-of-the-box**, so it allows to execute any command.

So, we're just going to send a command through the USB bulk interface to write SHA256 hash to USRKEY and reboot the device.

That's it.

## Tested devices

Device | Model | Bootloader
------ | --- | ----- |
------ | ----- | ----------
Huawei P8 Lite (2015) **(!)** | `ALE` | Kirin 620
Honor 5C / 7 Lite | `NEM` | Kirin 65x (A)
Honor 7X | `BND` | Kirin 65x (A)
Honor 9 Lite | `LLD` | Kirin 65x (A)
Huawei MediaPad T5 | `AGS2` | Kirin 65x (A)
Huawei Nova 2 | `PIC` | Kirin 65x (A)
Huawei P10 Lite | `WAS` | Kirin 65x (A)
Huawei P20 Lite / Nova 3e | `ANE` | Kirin 65x (A)
Huawei P8 Lite (2017) | `PRA` | Kirin 65x (A)
Huawei P9 Lite | `VNS` | Kirin 65x (A)
Huawei Y9 (2018) | `FLA` | Kirin 65x (A)
Huawei MediaPad M5 Lite | `BAH2` | Kirin 65x (B)
Huawei Nova 2i / Mate 10 Lite | `RNE` | Kirin 65x (B)
Huawei P Smart 2018 | `FIG` | Kirin 65x (B)
Honor 8 Pro / V9 | `DUK` | Kirin 950
Honor 8 | `FRD` | Kirin 950
Honor 9 Lite | `LLD` | Kirin 65x (A)
Huawei P9 Standart | `EVA` | Kirin 950
Honor 9 | `STF` | Kirin 960
Huawei Mate 9 Pro | `LON` | Kirin 960
Huawei Mate 9 | `MHA` | Kirin 960
Huawei MediaPad M5 Lite | `BAH2` | Kirin 65x (B)
Huawei MediaPad M5 | `CMR` | Kirin 960
Huawei MediaPad T5 | `AGS2` | Kirin 65x (A)
Huawei Nova 2 | `PIC` | Kirin 65x (A)
Huawei Nova 2i / Mate 10 Lite | `RNE` | Kirin 65x (B)
Huawei Nova 2s | `HWI` | Kirin 960
Huawei P Smart 2018 | `FIG` | Kirin 65x (B)
Huawei P10 | `VTR` | Kirin 960
Huawei P20 Lite / Nova 3e **(!)** | `ANE` | Kirin 65x (A)
Huawei P8 Lite (2015) **(!)** | `ALE` | Kirin 620
Huawei P8 Lite (2017) | `PRA` | Kirin 65x (A)
Huawei P9 Lite | `VNS` | Kirin 65x (A)
Huawei P9 Standart | `EVA` | Kirin 950
Huawei Y9 (2018) | `FLA` | Kirin 65x (A)

## Donate

**It would be much appreciated if you want to make a small donation to support my work!**

PayPal: http://paypal.me/teegris.

Buy Me a Coffee: https://www.buymeacoffee.com/teegris.

Ko-Fi: https://ko-fi.com/certs.


## License

Logo by Icons8.

All bootloaders are Huawei Technologies Co., Ltd. property.

This project is not affiliated with Huawei.

---

Unlock tool for Huawei devices on Kirin SoC.
Expand Down
Binary file removed assets/cool-button.png
Binary file not shown.
Binary file added assets/header.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed assets/screenshot.png
Binary file not shown.

0 comments on commit 451083c

Please sign in to comment.