Skip to content
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

Background question: How does your whitelisting workaround work? #7

Open
corneliusroemer opened this issue Jul 16, 2020 · 1 comment

Comments

@corneliusroemer
Copy link

Great work, haven't had time to try it out myself. But I was wondering how the whitelisting workaround works. Would be grea if you could add a high-level description to the readme.

  • How does GAEN restrict access to whitelisted apps?
  • How do you manage to bypass this restriction?
  • Why is root necessary?
  • What exactly does your script do?
  • [Where did you get the signature from, if it wasn't by way of leak, e.g. brute force?]

Thanks!

@corneliusroemer corneliusroemer changed the title Background question: How does whitelisting work? Background question: How does your whitelisting workaround work? Jul 16, 2020
@kbobrowski
Copy link
Owner

@corneliusroemer thanks for the suggestion, perhaps I will add some more information in the readme, but just to give you quick overview:

  • GAEN has hard-coded list of allowed apps together with hashed signature of each app
  • bypassing this restriction is done by capturing this list while it's being parsed using methods from Java Class Library and substituting signature of one app for another one (our custom app)
  • root is necessary because without it you cannot inject some custom code into another running process - frida server (a tool that is used) needs to be run as root
  • the script is substituting implementation of methods from Java Class Library in order to alter the way GMS works in a desired way
  • signature used is just a property of a custom app - it does not need to be broken on leaked, there is no hacking of external servers / institutions involved to get this working - everything happens locally on your phone

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants