[RECOVERY][X00T] KudProject's Unofficial TWRP 3.4.0-0 [16-06-2020]

Search This thread

krasCGQ

Recognized Contributor
Apr 13, 2015
5,433
4,935
253
20
Kendari
kud.my.id
https%3A%2F%2Fimg.xda-cdn.com%2FpSvihPyfhapF9LoHqaNVoQ9y7kw%3D%2Fhttp%253A%252F%252Flh3.googleusercontent.com%252F2HtVAF5zfNMlmKhF0QYqCSr1rsstB1btNfdKl7WvGTcZkOSKCYNxdXwsSizx9VhiPg%253Dw300


[SIZE=+1]This is basically a tl;dr thread.
I don't want to make a thread that everyone will lazy to read.
[/SIZE]​

Team Win Recovery Project 3.x, or twrp3 for short, is a custom recovery built with ease of use and customization in mind. It's a fully touch driven user interface; no more volume rocker or power buttons to mash. The GUI is also fully XML driven and completely theme-able. You can change just about every aspect of the look and feel.

[SIZE=+1]Disclaimer[/SIZE]​
Code:
/*
 * Your warranty is... still valid?
 *
 * I am not responsible for bricked devices, dead SD cards,
 * thermonuclear war, or you getting fired because the alarm app failed. Please
 * do some research if you have any concerns about features included in this RECOVERY
 * before flashing it! YOU are choosing to make these modifications, and if
 * you point the finger at me for messing up your device, I will laugh at you.
 */

[SIZE=+1]Requirements[/SIZE]​
  • ASUS ZenFone Max Pro (M1) ZB601/2KL (of course)
  • Unlocked bootloader, in either ways (official, unofficial)
  • Some knowledge on how to deal with your device... and patience.

[SIZE=+1]Flashing Instructions[/SIZE]​
I assume you've done (very) basic steps on preparing to flash your device.
  1. Reboot device to bootloader. If device is powered off, press and hold Power + Volume Up button until ASUS logo with "FASTBOOT MODE" message appears.
  2. Under same directory as TWRP image and ADB/Fastboot executables (if ever required), type this command:
    Code:
    fastboot flash recovery twrp-3.x.x-y-KudProject-X00T.img
    Where x and y are version of TWRP you're going to flash.
  3. IMPORTANT: After flashing, immediately press and hold Power + Volume Down for about 10 seconds button to reboot to recovery.
  4. Swipe the option to allow modifications. This way, you'll trip Android Verified Boot (AVB) and it's required to flash no verity zip in order to be able to boot stock ROM.

[SIZE=+1]Downloads[/SIZE]
Webserver | MEGA
Old releases only: OSDN | AndroidFileHost

[SIZE=+1]Known Issues[/SIZE]​
  • Due to QTI keymaster's behavior, only specific stock firmware as well as custom ROMs with same platform security patch level that can only be decrypted by TWRP. Applicable versions will be indicated explicitly in the changelog.

[SIZE=+1]Special Thanks[/SIZE]​
  • Dees_Troy and everyone behind TWRP
  • shakalaca - base device tree used for older releases
  • Ankit Gourav - his work on whyred
  • Shivam Kumar Jha - person who kickstarted ZenFone Max Pro (M1) development
  • Everyone involved in testing numbers of test builds.

[SIZE=+1]Device Sources[/SIZE]​

XDA:DevDB Information
Unofficial TWRP 3.x (X00T), Tool/Utility for the Asus ZenFone Max Pro M1

Contributors
krasCGQ
Source Code: https://github.com/KudProject/bootable_recovery-twrp


Version Information
Status: Stable
Current Stable Version: 3.4.0-0-KudProject
Stable Release Date: 2020-06-16
Current Beta Version: 3.3.0-0-20190513
Beta Release Date: 2019-05-13

Created 2019-01-09
Last Updated 2020-06-28
 

krasCGQ

Recognized Contributor
Apr 13, 2015
5,433
4,935
253
20
Kendari
kud.my.id
[SIZE=+1]Some stuffs...[/SIZE]​
Another TWRP thread? Why?
I like to keep discussions about my builds separate. Moreover, the existing TWRP that already available on XDA before doesn't seem to be maintained anymore.

I flashed via fastboot but it always fails.
Check or change your cable, use other USB slot (especially 2.0 one if 3.0+ doesn't work), or if needed try to flash recovery with USB connected to a hub.

[SIZE=+1]Changelogs[/SIZE]​
twrp-3.4.0-0-KudProject-X00T
  • Merged TWRP source changes up to 11 June 2020 (UTC+8)
  • Can decrypt 16.2017.2005.082 stock firmware and any custom ROM with 5 May 2020 security patch
  • Switched f2fs-tools to latest AOSP master
  • Only allow user to backup system and vendor images
  • set_version script doesn't longer touch persist partition; script now has hardcoded SKU and version instead in case ASUS props can't be found
  • Updated prebuilt kernel based on S082 source drop
  • F2FS kernel driver updated to 5.3-rc1 with backports up to 5.7-rc1 from 4.9
  • Switched to arter97's fork of exFAT
  • Switched from NTFS kernel driver to FUSE ntfs-3g due to incomplete write support

twrp-3.3.1-0-X00T-20190526
  • Fixed stock ROM flashing due to missing prop
  • Fixed FDE decryption

twrp-3.3.1-0-X00T-20190525
  • Updated F2FS on kernel to 5.2-rc1
  • TWRP 3.3.1 + upstream changes

twrp-3.3.0-0-X00T-20190513
  • Updated base to android-9.0
  • Updated blobs from 16.2017.1903.050
  • Support for flashing unmodified stock firmware (please read notes!)
  • Rebased kernel to S050 source drop
  • Updated F2FS on kernel to 5.1-rc1
  • TWRP 3.3.0 + upstream changes

twrp-3.2.3-0-X00T-20190217
  • Now based on whyred official TWRP tree
  • Reverted kernel to stock-based as-released (S339) with F2FS upstream and sdFAT included
    (this should fix USB-OTG support while retaining support with latest f2fs-tools)
  • TWRP upstream changes

twrp-3.2.3-0-X00T-20190118
  • Pick more patches from LineageTWRP project
  • Updated f2fs-tools to latest development branch
  • Slight cleanup
  • TWRP upstream changes

twrp-3.2.3-0-X00T-20190115
  • ADB sideload fixed for everyone
  • f2fs-tools v1.12.0
  • Disabled Synaptics' firmware update driver entirely
  • Removed qcacld-3.0 from kernel
  • TWRP upstream changes

twrp-3.2.3-0-X00T-20190108
  • Removed ntfs-3g from recovery
  • Included several extra recovery keys
  • Updated kernel to S338-based
  • Disabled Synaptics' startup firmware update
  • TWRP upstream changes

twrp-3.2.3-0-X00T-20181231
  • Updated platform security patch override to 2018-11-01 (matches 338 firmware)

twrp-3.2.3-0-X00T-20181226
  • Imported more proprietary blobs from stock 337 firmware
  • TWRP upstream changes

twrp-3.2.3-0-X00T-20181224
  • Allow wiping vendor partition
  • 2nd CPU target set to Cortex-A73
  • Initial import of proprietary blobs from stock 337 firmware
  • Updated kernel to S337-based
  • TWRP upstream changes

twrp-3.2.3-0-X00T-20181215
  • Removed texfat and tntfs stock modules
  • Enabled DT2W

twrp-3.2.3-0-X00T-20181214
  • Rebased to shakalaca's tree
  • CPU target set to kryo
  • Updated platform security patch override to 2018-10-01 (matches 337 firmware)
  • Switched to my rebased kernel
  • TWRP upstream changes (android-9.0 branch)

twrp-3.2.3-0-X00TD-20181024
 
Last edited:

krasCGQ

Recognized Contributor
Apr 13, 2015
5,433
4,935
253
20
Kendari
kud.my.id
[SIZE=+1]Notes[/SIZE]​
  • "fastboot boot" command isn't supported by our bootloader. Don't ever try that. (blame ASUS/Huaqin)
  • I'll try to always keep this recovery updated especially when ASUS releases firmware update that also updates AOSP security patch. Security patch set in TWRP needs to match stock firmware used so TWRP can decrypt data partition. This isn't possible with current state as the bump is useless. :(

[SIZE=+1]Unmodified Stock Firmware Support[/SIZE]​
With introduction of unmodified stock firmware support, I need to clear up some confusions you've if any. Notes below are copy-pasta from my post elsewhere:
Code:
Starting this build, recovery supports flashing stock firmware without modifying the updater-script. In order for it to be possible, ro.product.device has to be set to ASUS_X00TD.
This, however, breaks flashing of custom ROMs that check for either X00TD or X00T.
Simply supporting it doesn't mean that you can flash stock firmware directly; you need to be at least on stock when you flash the recovery, so required properties can be exported to /persist which then will be set on every recovery boot up.

Still not sure though, as some ROMs check for ro.product.device and then fallback to ro.build.product for matching devices.

Flashing incremental OTAs are supported but not recommended, since you'll most likely flash verity disabler at the minimum and get the flashing failed upon patching boot.

In plain text:
  1. The recovery has ro.product.device set to ASUS_X00TD that may break custom ROM flashing.
  2. You need to be on stock before booting the recovery for the first time, then afterwards you can flash any stock firmware. 21 June 2020 UPDATE: Now not required, as it's now hardcoded in the script itself and since touching persist is never a good idea to begin with.
  3. If you modify your system in any ways and don't have any system backup to restore, don't flash incremental OTAs. This also includes TWRP tampering system to prevent stock recovery from overwriting TWRP.

[SIZE=+1]Verifying released builds[/SIZE]​
This was originally posted on KudProject's Telegram channel and copy pasted here with minor edits for easier access.

Following TeamWin's stance about unofficial TWRP downloads here, all release builds from KudProject will start to be signed using my GPG key to ensure that you get a copy of legitimate builds directly from me.

You can download both of my currently active public keys here. Importing from PGP keyserver will be made available in the future.

To import on Linux:
Code:
gpg --import krascgq.gpg

To verify builds on Linux:
Code:
gpg --verify <build-name>.sig <build-name>

Windows users will need to search for compatible tools.
 
Last edited:

Tianhe

Senior Member
Mar 16, 2011
658
152
73
I have been using official TWRP 3.2.3.0 since last 2-3 FW updates and haven't faced any problem. However, it's good to have a specific updated TWRP for 601KL.
 

Ak-64

Senior Member
Feb 10, 2017
212
42
0
First of all thank you for updating the twrp. Could you make something clear.
Is it synaptic only twrp if not can it be flashed over the older twrp?
Will it be supporting encryption?
 

krasCGQ

Recognized Contributor
Apr 13, 2015
5,433
4,935
253
20
Kendari
kud.my.id
First of all thank you for updating the twrp. Could you make something clear.
Is it synaptic only twrp if not can it be flashed over the older twrp?
Will it be supporting encryption?
1. It's not a Synaptics' exclusive version, and well you can override any installed TWRP versions.
2. Not tested on my side since my data isn't encrypted, but I try to keep the platform patch inline with latest firmware so feel free to test.

Sent from my ASUS_X00TD using XDA Labs
 
  • Like
Reactions: Ak-64

gebcruz06

Senior Member
Dec 1, 2016
82
44
18
@krasCGQ Have you been able to fix the adb sideload function that doesn't work in the older twrp builds? Thanks. Otherwise, this is good as official. Thanks for your hardwork!
 

vladlp

Member
Jan 30, 2006
15
6
23
2. Not tested on my side since my data isn't encrypted, but I try to keep the platform patch inline with latest firmware so feel free to test.
Hi,
you have to overwrite init.recovery.vold_decrypt.keymaster-3-0.rc in /recovery/root/ (like in shakalaca version), because the name of ven_keymaster-3-0 service is [email protected] with "-qti" at the end. Than encrypted data will work. I already test it.
 

krasCGQ

Recognized Contributor
Apr 13, 2015
5,433
4,935
253
20
Kendari
kud.my.id
Hi,
you have to overwrite init.recovery.vold_decrypt.keymaster-3-0.rc in /recovery/root/ (like in shakalaca version), because the name of ven_keymaster-3-0 service is android.hardware.ke[email protected] with "-qti" at the end. Than encrypted data will work. I already test it.
I pushed a test build on selected Telegram device testing groups with several init files replaced. I'll make it available for public today or tonight.

ADB sideload has been fixed on that build, BTW.

Sent from my ASUS_X00TD using XDA Labs
 

Top Liked Posts

  • There are no posts matching your filters.
  • 59
    https%3A%2F%2Fimg.xda-cdn.com%2FpSvihPyfhapF9LoHqaNVoQ9y7kw%3D%2Fhttp%253A%252F%252Flh3.googleusercontent.com%252F2HtVAF5zfNMlmKhF0QYqCSr1rsstB1btNfdKl7WvGTcZkOSKCYNxdXwsSizx9VhiPg%253Dw300


    [SIZE=+1]This is basically a tl;dr thread.
    I don't want to make a thread that everyone will lazy to read.
    [/SIZE]​

    Team Win Recovery Project 3.x, or twrp3 for short, is a custom recovery built with ease of use and customization in mind. It's a fully touch driven user interface; no more volume rocker or power buttons to mash. The GUI is also fully XML driven and completely theme-able. You can change just about every aspect of the look and feel.

    [SIZE=+1]Disclaimer[/SIZE]​
    Code:
    /*
     * Your warranty is... still valid?
     *
     * I am not responsible for bricked devices, dead SD cards,
     * thermonuclear war, or you getting fired because the alarm app failed. Please
     * do some research if you have any concerns about features included in this RECOVERY
     * before flashing it! YOU are choosing to make these modifications, and if
     * you point the finger at me for messing up your device, I will laugh at you.
     */

    [SIZE=+1]Requirements[/SIZE]​
    • ASUS ZenFone Max Pro (M1) ZB601/2KL (of course)
    • Unlocked bootloader, in either ways (official, unofficial)
    • Some knowledge on how to deal with your device... and patience.

    [SIZE=+1]Flashing Instructions[/SIZE]​
    I assume you've done (very) basic steps on preparing to flash your device.
    1. Reboot device to bootloader. If device is powered off, press and hold Power + Volume Up button until ASUS logo with "FASTBOOT MODE" message appears.
    2. Under same directory as TWRP image and ADB/Fastboot executables (if ever required), type this command:
      Code:
      fastboot flash recovery twrp-3.x.x-y-KudProject-X00T.img
      Where x and y are version of TWRP you're going to flash.
    3. IMPORTANT: After flashing, immediately press and hold Power + Volume Down for about 10 seconds button to reboot to recovery.
    4. Swipe the option to allow modifications. This way, you'll trip Android Verified Boot (AVB) and it's required to flash no verity zip in order to be able to boot stock ROM.

    [SIZE=+1]Downloads[/SIZE]
    Webserver | MEGA
    Old releases only: OSDN | AndroidFileHost

    [SIZE=+1]Known Issues[/SIZE]​
    • Due to QTI keymaster's behavior, only specific stock firmware as well as custom ROMs with same platform security patch level that can only be decrypted by TWRP. Applicable versions will be indicated explicitly in the changelog.

    [SIZE=+1]Special Thanks[/SIZE]​
    • Dees_Troy and everyone behind TWRP
    • shakalaca - base device tree used for older releases
    • Ankit Gourav - his work on whyred
    • Shivam Kumar Jha - person who kickstarted ZenFone Max Pro (M1) development
    • Everyone involved in testing numbers of test builds.

    [SIZE=+1]Device Sources[/SIZE]​

    XDA:DevDB Information
    Unofficial TWRP 3.x (X00T), Tool/Utility for the Asus ZenFone Max Pro M1

    Contributors
    krasCGQ
    Source Code: https://github.com/KudProject/bootable_recovery-twrp


    Version Information
    Status: Stable
    Current Stable Version: 3.4.0-0-KudProject
    Stable Release Date: 2020-06-16
    Current Beta Version: 3.3.0-0-20190513
    Beta Release Date: 2019-05-13

    Created 2019-01-09
    Last Updated 2020-06-28
    24
    [SIZE=+1]Some stuffs...[/SIZE]​
    Another TWRP thread? Why?
    I like to keep discussions about my builds separate. Moreover, the existing TWRP that already available on XDA before doesn't seem to be maintained anymore.

    I flashed via fastboot but it always fails.
    Check or change your cable, use other USB slot (especially 2.0 one if 3.0+ doesn't work), or if needed try to flash recovery with USB connected to a hub.

    [SIZE=+1]Changelogs[/SIZE]​
    twrp-3.4.0-0-KudProject-X00T
    • Merged TWRP source changes up to 11 June 2020 (UTC+8)
    • Can decrypt 16.2017.2005.082 stock firmware and any custom ROM with 5 May 2020 security patch
    • Switched f2fs-tools to latest AOSP master
    • Only allow user to backup system and vendor images
    • set_version script doesn't longer touch persist partition; script now has hardcoded SKU and version instead in case ASUS props can't be found
    • Updated prebuilt kernel based on S082 source drop
    • F2FS kernel driver updated to 5.3-rc1 with backports up to 5.7-rc1 from 4.9
    • Switched to arter97's fork of exFAT
    • Switched from NTFS kernel driver to FUSE ntfs-3g due to incomplete write support

    twrp-3.3.1-0-X00T-20190526
    • Fixed stock ROM flashing due to missing prop
    • Fixed FDE decryption

    twrp-3.3.1-0-X00T-20190525
    • Updated F2FS on kernel to 5.2-rc1
    • TWRP 3.3.1 + upstream changes

    twrp-3.3.0-0-X00T-20190513
    • Updated base to android-9.0
    • Updated blobs from 16.2017.1903.050
    • Support for flashing unmodified stock firmware (please read notes!)
    • Rebased kernel to S050 source drop
    • Updated F2FS on kernel to 5.1-rc1
    • TWRP 3.3.0 + upstream changes

    twrp-3.2.3-0-X00T-20190217
    • Now based on whyred official TWRP tree
    • Reverted kernel to stock-based as-released (S339) with F2FS upstream and sdFAT included
      (this should fix USB-OTG support while retaining support with latest f2fs-tools)
    • TWRP upstream changes

    twrp-3.2.3-0-X00T-20190118
    • Pick more patches from LineageTWRP project
    • Updated f2fs-tools to latest development branch
    • Slight cleanup
    • TWRP upstream changes

    twrp-3.2.3-0-X00T-20190115
    • ADB sideload fixed for everyone
    • f2fs-tools v1.12.0
    • Disabled Synaptics' firmware update driver entirely
    • Removed qcacld-3.0 from kernel
    • TWRP upstream changes

    twrp-3.2.3-0-X00T-20190108
    • Removed ntfs-3g from recovery
    • Included several extra recovery keys
    • Updated kernel to S338-based
    • Disabled Synaptics' startup firmware update
    • TWRP upstream changes

    twrp-3.2.3-0-X00T-20181231
    • Updated platform security patch override to 2018-11-01 (matches 338 firmware)

    twrp-3.2.3-0-X00T-20181226
    • Imported more proprietary blobs from stock 337 firmware
    • TWRP upstream changes

    twrp-3.2.3-0-X00T-20181224
    • Allow wiping vendor partition
    • 2nd CPU target set to Cortex-A73
    • Initial import of proprietary blobs from stock 337 firmware
    • Updated kernel to S337-based
    • TWRP upstream changes

    twrp-3.2.3-0-X00T-20181215
    • Removed texfat and tntfs stock modules
    • Enabled DT2W

    twrp-3.2.3-0-X00T-20181214
    • Rebased to shakalaca's tree
    • CPU target set to kryo
    • Updated platform security patch override to 2018-10-01 (matches 337 firmware)
    • Switched to my rebased kernel
    • TWRP upstream changes (android-9.0 branch)

    twrp-3.2.3-0-X00TD-20181024
    15
    [SIZE=+1]Notes[/SIZE]​
    • "fastboot boot" command isn't supported by our bootloader. Don't ever try that. (blame ASUS/Huaqin)
    • I'll try to always keep this recovery updated especially when ASUS releases firmware update that also updates AOSP security patch. Security patch set in TWRP needs to match stock firmware used so TWRP can decrypt data partition. This isn't possible with current state as the bump is useless. :(

    [SIZE=+1]Unmodified Stock Firmware Support[/SIZE]​
    With introduction of unmodified stock firmware support, I need to clear up some confusions you've if any. Notes below are copy-pasta from my post elsewhere:
    Code:
    Starting this build, recovery supports flashing stock firmware without modifying the updater-script. In order for it to be possible, ro.product.device has to be set to ASUS_X00TD.
    This, however, breaks flashing of custom ROMs that check for either X00TD or X00T.
    Simply supporting it doesn't mean that you can flash stock firmware directly; you need to be at least on stock when you flash the recovery, so required properties can be exported to /persist which then will be set on every recovery boot up.
    
    Still not sure though, as some ROMs check for ro.product.device and then fallback to ro.build.product for matching devices.
    
    Flashing incremental OTAs are supported but not recommended, since you'll most likely flash verity disabler at the minimum and get the flashing failed upon patching boot.

    In plain text:
    1. The recovery has ro.product.device set to ASUS_X00TD that may break custom ROM flashing.
    2. You need to be on stock before booting the recovery for the first time, then afterwards you can flash any stock firmware. 21 June 2020 UPDATE: Now not required, as it's now hardcoded in the script itself and since touching persist is never a good idea to begin with.
    3. If you modify your system in any ways and don't have any system backup to restore, don't flash incremental OTAs. This also includes TWRP tampering system to prevent stock recovery from overwriting TWRP.

    [SIZE=+1]Verifying released builds[/SIZE]​
    This was originally posted on KudProject's Telegram channel and copy pasted here with minor edits for easier access.

    Following TeamWin's stance about unofficial TWRP downloads here, all release builds from KudProject will start to be signed using my GPG key to ensure that you get a copy of legitimate builds directly from me.

    You can download both of my currently active public keys here. Importing from PGP keyserver will be made available in the future.

    To import on Linux:
    Code:
    gpg --import krascgq.gpg

    To verify builds on Linux:
    Code:
    gpg --verify <build-name>.sig <build-name>

    Windows users will need to search for compatible tools.
    13
    A fixed build, that also fixes FDE decryption has been pushed. Enjoy.
    8
    As I've given X00T to my father and due to lack of testing on my further limited-testing builds, I decided to stop all further updates to the recovery.

    I'll still keep this thread open for further discussion of my and Alex builds.

    Sorry if this sounds disappointing but I've no further choice.

    Sent from my MI 9 SE using XDA Labs
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone