Long story short: I have forgotten the PIN to my Android device, as it wasn't being used for a while.
Steps that I have tried/am trying/planning to try:
Brute forcing - I have been trying to brute force using another Android as a rubber ducky (via Nethunter). But for some reason, despite using the right kernel and everything, I couldn't enable HID support, so it's still under trial.
I tried force-enabling "Use fingerprint to unlock at first boot", and could unlock the screen, but of course, the data was still encrypted. But this did help me tweak helpful settings like: "Automatically unlock when correct PIN is entered". A question in mind here is: Would enabling this feature, indirectly mean, bypassing the time limitations on the entry of wrong PINs?
TWRP brute forcing - I have tried the tool by timvisee: apbf. But it has its limitations and also, again, (maybe I'm not doing it right) TWRP starts entering PINs via terminal, but it does so even if the code is not running on PC. Refer: https://github.com/timvisee/apbf
Most complicated way - I have not tried this in the right way, but I believe, by extracting the hash and salt (somehow), I could recover the PIN. In short, there is a loophole in the FBE (File-Based Encryption) implementation, but again, I don't know the how-to's. Refer: https://bits-please.blogspot.com/2016/06/extracting-qualcomms-keymaster-keys.html (Obsolete for Android 10)!
Edit: Since I now know about CVE-2016-2431, I guess the required info can't be extracted by the old process. But again, I would like to know if there is a way to do it in Android 10
Making an image file - I have also thought of creating a raw image file of the /data partition in order to, either:
- Decrypt the partition later by using tools like hashcat (don't know exactly how) or
- Downgrade the Android to a lower version in order to decrypt it (again, don't know if it would work). (This won't work)
Information about Android:
- Device: RMX1921
- ROM: CUSTOM - ResurrectionRemix
- Android Version: Q/10
- Root status: Rooted (USB Debugging enabled)
That's all the information I can give right now, and if you could throw any light, I would be very grateful.
Lastly, we have working methods for lower Android versions, so I believe there is a working way for higher Android versions
P.S. - I am willing to try all the possible ways, in order to save my data