A few years ago I bought a Lenovo 4 10 Plus and upgraded it to what was then the latest version of Android (Pie/9) and made it pass safety net using magisk and a few modules. I later did the same to Android Q/10 and now again to Android 11
First of all, this guide is written more for my own documentation and requires that you have some idea about this kind of thing already, if you don’t completely understand what I am saying, DO NOT follow this guide, instead head over to this XDA thread and make sure you understand completely what is going on. Doing things wrong here can end up bricking your device and render it useless, continue at your own risk. Just as last time, I have only verified this on the L version of the tablet.
Also note that this guide is for upgrading a tablet that already has a version of TWRP installed, if you have a fully stock tablet check out the beginning of my post for upgrading to Pie/9 where I install TWRP on a stock tablet first and then come back here once you have TWRP installed.
ok, with that out of the way, lets get started.
Just as last time I begin with downloading everything I need and put it on the external SD card, it is very important to not put it on the internal SD card as we will wipe that clean!
Here is the list of what to download and which versions I used
ROM
Once again I went with a third party build of lineage that I found on XDA, this time it was a build created by Senior member LumenReaper. You can find the thread for the Lineage OS 18.1 build here and I used the version that was released on 2022-04-15.
TWRP
A new TWRP version was available for my tablet from here so I decided to install that as well, the version I installed was twrp-3.6.1_9-0-X704F.img
GAPPS
Just like last time I went with GAPPS from the open gapps project, make sure you select Arm64, Android 11 and Micro. The version I installed was from 2022-02-15 but you should probably use the latest one.
Magisk
I downloaded the latest version of Magisk (v24.3) from the Magisk GitHub release page. Don’t get it anywhere else as there are some shall we say not so legit versions floating around that you really don’t want to install.
Magisk hide props conf
Next I downloaded the latest version of the magisk hide props conf module from here, in my case it was version 6.1.2
Safetynet fix
You also want to download the latest version of safetynet fix, make sure it is the Zygisk version. For me it was 2.2.1
Ok now that everything was downloaded I double checked that I had saved it on the external SD card.
Next I rebooted the tablet into recovery, selected install, changed to image and flashed the new version of TWRP that I downloaded.
The tablet then rebooted into the OS, once it did I rebooted it to TWRP again
If you want a backup of your system now is the time to take it, again make sure it is saved on the external SD card. I did not take a backup, don’t be like me.
Now it was time to clean out the old Android, hit wipe but don´t use the slide, instead hit format data and type yes. Once done, hit the back button and go to advanced wipe. Check Dalvik/ART Cache, System and Cache then swipe to wipe them. Go back to the main menu and reboot into recovery. If it asks if I want to install a TWRP app I always say no.
Once back in TWRP I began by flashing the ROM, then GAPPS and lastly Magisk, then I rebooted into system. Once again say no if it asks for installing a TWRP app.
Now I went through the setup of the tablet
Ok so now that I was back in the tablet I installed magisk (same apk we flashed earlier), opened it and went into settings to hide Magisk, this failed. To fix it I went back to the start of the Magisk app and clicked install, when it was ready I rebooted the tablet. After a reboot I was able to hide it.
While in the Magisk app I also installed the module magisk hide props conf that I downloaded earlier, then rebooted the device.
Next I headed to Google Play and installed the app “Termux”, in my case it was version 0.101 but the version shouldn’t matter here.
I opened up Termux, typed su and hit enter. I allowed it root permissions and then typed props followed by enter. Follow the menu that was started like this
Edit device fingerprint -> pick a certified fingerprint -> Lenovo -> Lenovo Tab 4 10 Plus TB-X704F -> yes for reboot.
When my device was back up I went to Google Play and installed the app YASNAC and ran a Safetynet Attestation, this failed. I tried rebooting the device again just to make sure, it still failed. The clock had reached 3AM so for now I will have to make due without
Ok, now it’s the next day and a quick google search shows that the hide function of Magisk no longer is supposed to hide from safetynet, so lets do it another way.
I found a new way to do this with something called safetynet fix so I downloaded that (you already did that earlier) and I went into the Magisk app and installed it as a module, then rebooted the device.
Next I went into Magisk settings, enabled Zygisk and Enforce Denylist.
I then configured the denylist to block two parts of the Google Play Services, specifically “com.google.android.gms” and “com.google.android.gms.unsatable”. Then another reboot.
Now I opened up YASNAC again and ran another check, this time it passed.
When I tried to search for Netflix on Google Play it still didn’t show up. To fix this I headed in to the tablets settings, then apps, show system apps. Then clear all data for Google Play Services and Google Play. Now I rebooted the device one final time and then it was done.
The tablet is now running Android 11 and passes SafetyNet. One last thing to keep in mind is that SafetyNet is always updated so this might break in the future and then someone will need to find a new way around it again etc etc. If always passing SafetyNet is really important to you I recommend looking for a new tablet with official updates.