Disable Force Encryption NEO
Do you all know what DFE is? no?Anyway. Basically, your device has an encrypted data section "/data" by default. Let's look at the advantages of google's solution that we will lose after disabling encryption:
- Confidence in data retention. Even if your device has TWRP/OFOX or other custom Recvoery, before accessing your data, you will need to enter the password from the lockscreen, otherwise it will be impossible to read the data.
What disadvantages follow from this?
- As an enthusiast who wants to flash different ROMs, you may have noticed that every time that you flash a new ROM, you have to format the "/data" section. Which can be a pain.
Why is it necessary to do this?
- The fact that every ROM is assembled/compiled on a different database and may have different approaches (encryption keys) for data encryption. In order for this to work you need to format the data partition so that when the new ROM boots it can encrypt the system with its own unique encryption keys, so that the integrity of the data partition is maintained and it is accessible to the user.
So what does the DFE do?
- Removes the keys that are used to encrypt the data section from the fstab file
Read more about fstab here source.android.com
What are the advantages of using DFE?
- You don't need to FORMAT the data in the following cases:
*If you change the android database (From 11 to 12 and vice versa)
*If you change vendor database, miui/aosp/OOS/LOS and so on
*** !!!! You will still need to make wipe data for the ROM to work correctly
-There are also disadvantages:
*Since the data is not encrypted in any way, then access to them is free. Anyone who gets access to your device will be able to access ALL the data
*You need to carefully monitor the sequence of actions when installing or changing the ROM, so that the DFE is active, otherwise you may lose data because the data will try to be encrypted again, you will get a bootloop, and all data will be lost
What is DFE-NEO?
*Many people know DFE from this thread XDA, it has stopped working for A/B devices with dynamic partitions, there is also a problem that in some ROMs the system has the RO(Read-Only) status of the system partition. Starting with A13 Google will promote EROFS(Enhanced Read-Only File System) which will not be possible to manipulate without first converting to EXT4, in order to change the status to RW(Read-Write). Because of this, it is not possible to modify fstab directly in 100% of cases. This is where DFE-NEO comes in.
*The NEO method works by utilizing Magiskinit and Overlay.d GitHub
How does it work without Magisk?
*In fact, in no way. If my script does not detect magisk in the boot_a/Boot_b section, magisk will be installed, after which the main bianrys files will be deleted, so there will be no root access but magiskinit itself will continue to work. In this regard, the system boot time will be longer by 40-50 seconds ( from the brand logo )
And so what can this script do:
-Hides Encryption - Forces the system to think that the data is encrypted.
-Reflash recovery after OTA - only for devices with recovery in boot_a/_b
-Flash current recovery - only for devices with recovery in boot_a/_b
-Flash DFE
-Flash magisk
If you want to change the parameters , then you need to change the file argumetns.txt inside the archive , or put the modified arguments.txt to the archive, or to rebuild the archive with the changed argumetns.txt
Code:
# legacy or neo
DFE method=neo
# both | in-current | un-current
Flash SLOT=both
# none|system|bootloader|recovery
Reboot after installing=none
# You can add your own language, to do this, just drop
a file into the language folder by analogy with the topic
that is already there
# indo|russian|english
Language=english
Code:
# ================================================== #
Force reading arguments.txt=false
# ================================================== #
Flash DFE= true
Disable AVB= true
Disable QUOTA= true
Hide not encrypted= true
# ================================================== #
Flash Magisk= false
# ================================================== #
Reflash Recovery for OTA= false
Reflash current Recovery for Recovery= false
# ================================================== #
Wipe DATA= false
Remove PIN= false
# ================================================== #
Skip warning= false
Modes of operation of these parameters
These parameters have two modes:
• true (yes, true),
• false(no, not true)
Exceptions for specific parameters
• DFE method(DFE method)= neo(new method)
Another argument for DFE method
legacy(old method)
• Flash slot= both (patching boot_a and boot_b sections, also applies to magisk firmware, twrp)
More arguments for Flash slot
• in-current (patching of the boot_x section, where x is the current slot, also applies to magisk firmware, twrp)
• un-current (patching the boot_x partition, where x is the opposite slot)
• Reboot after installing(Reboot after installation)= none (no, that is, there will be no reboot)
More arguments for Reboot after installing
• system(restart into the system, simple reboot)
• bootloader (reboot to fastboot mode)
• recovery (reboot into recovery mode)
• Language(installer language)=english(English)
More arguments for Language
• indo(Indonesian)
• russian (Russian language)
So we have sorted out the modes of operation of all parameters. Now, what does each of them mean.
The values of these parameters
Here the functions of the parameters are described in true mode, for exceptions depending on the mode of operation of the parameter
• DFE method - DFE patching method
• Flash slot - patching the boot partition
• Reboot after installing - reboot after installation
• DISABLE DINAMIC REFRESHRATE - disable dynamic screen formatting, ONLY FOR MIUI
• Language - the language of the installer
• Force reading arguments.txt - dfe-neo will immediately address the arguments in arguments.txt without the possibility of creating a temporary arguments.txt
• Flash DFE - DFE firmware
• Hide not encrypted - The ROM will think that encryption is enabled
• Skip warning - at the end, a guide will be shown on the correct use of dfe after firmware
• Reflash recovery for ota - reinstalling recovery after ota updates, according to the Flash slot parameter mode=
• Reflash current Recovery for Recovery - flash the current recovery, according to the Flash slot parameter mode=
• Wipe DATA - deleting the contents of the /data section without formatting the internal memory (where the Android, Downloads, Music, etc. folders are located) If you sew DFE for the first time, then we still do format data
• Remove PIN - remove password
• Disable AVB - system integrity check is disabled (or whatever you call it, you can set false if you flash magisk)
• Disable QUOTA - (to be honest, I didn't understand what it was, but you can leave it true)
• Flash Magisk - Installing Magisk, according to the Flash slot parameter mode=
And you can also set up your own temporary arguments.txt during installation:
In DFE-NEO, in addition to using arguments.txt in .zip archive, you can still set up your temporary one.
Launch the dfe-neo archive and select Configure Arguments now ( volume + >> volume - )
And we are offered to configure the parameters.
Volume + indicates change
Volume - indicates select
What should I choose DFE method= neo or legacy?
• Neo method - patches the boot partition, we leave neo if the system partitions are read-only, also suitable if the system partitions are editable
• Legacy method - patches fstab.qcom in the /vendor/etc/ section, this method cannot be used if the system partitions are read-only.
Also be careful and read what the script writes at the end of the installation
- If you data is encrypted, then after flashing DFE you need to format data
- If DFE was installed with Magisk you can upgrade or downgrade the Magisk version later without flashing DFE again
- If you uninstall Magisk via uninstall or Magisk app Then the DFE will stop its work! In this case, you will need to flash the DFE again
- If DFE was WITHOUT Magisk, it WILL work, but you can also install Magisk later. And also follow the warning 1 and 2
- If you install TWRP or another custom recovery, then DFE by analogy with Magisk, will stop working
- If you update/Install a new ROM, then DFE will need to be flashed again, by analogy with Magisk
You can install DFE as a magisk module. BUT THIS IS NOT A MODULE, BUT JUST AN INTERFACE FOR INSTALLATION
- Demo vido: https://t.me/mfpupdate/22
The work consists of the same mechanism as Magisk. If your recovery is located in boot, then after updating / flashing twrp, just like magisk, dfe will be overwritten
After updating/changing ROM you need to reflash dfe again
You can flash dfe without rebooting twrp
No needed for system to be RW for DFE to work
Support erofs
Support flashing from magisk app ( like module magisk )
Later from the computer I will supplement the post. I will add screenshots, etc.
Download link - SourceForge
TG group : @PocoF3DFE
Donate only TG link https://t.me/mfpupdate/47
Last edited: