Skip to content

feat: conceal Android developer options status #2585

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
3 tasks done
MicaelJarniac opened this issue Jan 4, 2024 · 7 comments · Fixed by #4585 or #4803
Closed
3 tasks done

feat: conceal Android developer options status #2585

MicaelJarniac opened this issue Jan 4, 2024 · 7 comments · Fixed by #4585 or #4803
Labels
Feature request Requesting a new feature that's not implemented yet

Comments

@MicaelJarniac
Copy link

Feature description

A universal patch that masks the activation status of Android developer options for the patched application, ensuring that the app behaves as if these options are disabled, even when they are not. This includes hiding the status of features like ADB, OEM unlocking, etc., that are typically available in developer mode.

Developer options, or developer mode, are enabled on Android settings by tapping "About phone > Software information > Build number" several times. It then appears as a new settings entry with features like ADB, OEM unlocking, etc.

Motivation

Some applications might refuse to work if they detect that developer options are enabled.

Having this patch would allow us to trick some applications into believing that the developer options are disabled, when they aren't, thus allowing these applications to work normally, without complaining about it.

A lot of users have developer options always enabled, be it because they're Android application developers, have rooted devices, are tinkerers, or even require some advanced accessibility utilities, like remotely controlling their phones from their computer with a bigger screen to aid with poor vision or motor skills.

Acknowledgements

  • This issue is not a duplicate of an existing feature request.
  • I have chosen an appropriate title.
  • All requested information has been provided properly.
@MicaelJarniac MicaelJarniac added the Feature request Requesting a new feature that's not implemented yet label Jan 4, 2024
@oSumAtrIX
Copy link
Member

Please list a concernable amount of apps that do that.

@oSumAtrIX oSumAtrIX added the Waiting on author Further information is requested label Jan 4, 2024
@MicaelJarniac
Copy link
Author

Please list a concernable amount of apps that do that.

Well, I've only run across one myself, but it's quite a major one in my opinion.

The app is Gov.br, and it's a very important app for Brazilian people, mandatory to access many government services.

Most people will have it installed and need to use it eventually, and I've seen a lot of reviews complaining about this specific limitation of refusing to work with developer options enabled.

It has 50M+ downloads on Play Store.

image

Some reviews

image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image

I've heard of other apps doing this too, like some banking apps, but I haven't used them personally.

@oSumAtrIX
Copy link
Member

Patching government apps or similar will involve more than just patching the function that checks for the dev options. The lack of apps that implicate such security measurements are scarce as you clarified and thus the need for this kind of patch is not existent.

@MicaelJarniac
Copy link
Author

I found an app, DevOptsHide, that has a similar purpose but requires root.

On their issues, there's a list of apps that refuse to work with developer options enabled, and that this app itself can't fool.

Some are games like PUBG and Fortnite, others seem to be banking apps, and also Deliveroo Rider.

Since these are the ones this app doesn't work with, I believe there are many others where this app does work.

@MicaelJarniac
Copy link
Author

MicaelJarniac commented Jan 4, 2024

There's also Geto, which seems to be yet another app meant for something like this. I believe Geto doesn't just hide the developer options, though, instead it actually disables it temporarily while you're using an affected app. It might actually just hide it, I'm not entirely sure.

@oSumAtrIX
Copy link
Member

The root app in question hooks low level functions to circumvent tamper detection. This is not possible here as you'd tamper the app and trigger further security mechanisms

@oSumAtrIX oSumAtrIX removed the Waiting on author Further information is requested label Mar 12, 2024
@LisoUseInAIKyrios LisoUseInAIKyrios linked a pull request Mar 19, 2025 that will close this issue
@LisoUseInAIKyrios LisoUseInAIKyrios linked a pull request Apr 19, 2025 that will close this issue
1 task
@k3rnelpanik
Copy link

There's also Geto, which seems to be yet another app meant for something like this. I believe Geto doesn't just hide the developer options, though, instead it actually disables it temporarily while you're using an affected app. It might actually just hide it, I'm not entirely sure.

Geto indeed does just temporarily change some desired setting (which you set up) when launching an app (it creates a new shortcut). I use it to "hide" Developer Options from my bank app, and would much prefer to use this patch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature request Requesting a new feature that's not implemented yet
Projects
None yet
3 participants