Modifying Google Services Framework - Use only GPS - Android Q&A, Help & Troubleshooting

cryzies said:
After some research, I think I figured it out, mess with GSF. However doing exactly that, I restricted:
Network - WiFi.Srv_getScanResults
Location - Srv_getAllCellInfo
Location - Srv_getCellLocation
Location - Srv_getNeighboringCellInfo
Location - WiFi.Srv_getScanResults
I spoofed my location a couple blocks down and Google Map still jitters between my real and spoofed location, I have tried rebooting. Any suggestions?
Click to expand...
Click to collapse
I posted this in the XPrivacy thread, I'm attempting to disable all methods to obtain location other than GPS. I want to spoof my GPS system wide for privacy reasons, and GPS spoofing is easy however Google Service Framework allows users to determine location using WiFi and Cell. I figured this is such a strange request that I should attempt to take a crack at modifying the Google Service Framework apk. Does anyone have any tips to start this off, I've done some apk reversing before, my biggest worry is finding the functions I need to null in the apk and signing the apk after modifications. Any guidance would be greatly appreciated, any alternative suggestions would be gladly welcomed.

Related

[Q] OpenPdroid doesn't seem to spoof location data...

So I have successfully gotten OpenPdroid patched on my CM10.1.3 rom, but it isn't behaving the way I would expect. I set the coordinates to 25N 71W for all apps with access to location information. I configured this across all apps requesting GPS as well as Network Location data. I then fired up my browser and navigated to google maps. The location shown was my actual physical location. What gives?
FTR, I'm willing to follow instructions and experiment to determine the root cause of the problem. I didn't want to give too many unnecessary details in my initial post. My strategy is "start general, get more specific as needed." Thanks for taking the time to read this.
BUMP

[Q] Is it possible to force ON location services for no-GPS devices?

I have an Amazon FireTV which does not come with a GPS built-in and I have an app that requires location services to be on. Determining the specific location is secondary but I am trying to find a way to make the OS think it has location services on to bypass the initial check for location services?
I have tried sideloading Settings.apk and tried enabling location services there, but it does not appear to take the selection I make. I was wondering if there is a way to do it by code or altering the OS itself (essentially, force whatever Settings.apk is trying to do to stick by altering the OS).
Thanks for any suggestions/recommendations.

[HELP]Location Consent method location for Xposed module development

Hello all,
I am currently trying to build an Xposed Module to disable the location consent dialog at least for just my phone.
I have a rooted VZW LG G4 on Lollipop 5.1 - VS98613B
It is an annoyance to have to agree every time I turn on location or network data.
There is an Xposed Module that disables the location consent dialog, but this module is for the "Google Analytics" agreement, that Google will automatically collect anonymous data. It can be found here:
Code:
repo.xposed.info/module/com.mohammadag.disablelocationconsent
PLEASE NOTE: What I am trying to disable is a similar dialog, BUT IS NOT THE SAME. I have tried this module, along with a LL compatible "Deny Location Consent" module, and neither are targeted for the dialog I get.
I am not able to post links or pictures, but if you go to "i67.tinypic.com/2zzkenq.png" you can see the dialog.
I would like help trying to find the method that calls this dialog to appear, so that I can hook it and replace it with a (I'm assuming a 'return true;') method of my own. I have scoured GrepCode for the right Java class, but don't have much experience on where to look or even what really to look for. The closest I think I have gotten is in com.android.systemui.statusbar.policy.LocationControllerImpl at the link:
Code:
grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/5.1.0_r1/com/android/systemui/statusbar/policy/LocationController.java#LocationController.setLocationEnabled%28boolean%29
Any and all help would be greatly appreciated!
TL;DR: I need help finding the method that calls the Location Consent dialog (not for Google) so that I can create an Xposed Module to bypass it.

How to redefine app "system permissions" ? Or if not possible howto make app that ...

How to redefine app "system permissions" ? Or if not possible howto make app that ...
Hi Everyone,
I'm new to android, and having 2 different phones (running 5.1.1 and 6.0.1 versions, both rooted) and numbers I have quite some issues with apps (paying gps outdoor app, whatsapp,...) and since I travel a lot many connections issues to accounts on other apps "you seem to not be...." with codes I don't get because I'm roaming
In order to find a way to use them with the same accounts and settings on both phones and to solve the authentication issues, I took different angles to solve it, but none worked. In doing so I discovered many ways to enforce permissions through the code that where disabled by the user (worse than I thought). Well I dislike and want to change it.
Anyway to make things shortne approach is to completely limit the app access all localisation approach, phone ID, number, carrier, IP number, other accounts on the phone....
On the 5.1.1 I tried:
App Ops => allows to "change" if one looks in the App, but changes are not effective (way apps work and according to "Explorateur de permissions")
Apk permissions works but only on some user installed apps, I tried moving system apk to other folders, change them through the Apk permissions and reinstall them, didn't work
Decompiling the apk with Apk Studio, changing manifest, recompiling, reinstalling seems to not be enough, if I understood it right if the code contains specific rights and there not in the manifest, it doesn't work. Right
next step would be to dig into the code and change it...
All this is extremely time consuming even if it would be the "clean way"
On the 6.0.1 :
I removed the bloatware with Root Uninstaller,
Modified the permissions apps had, incl system apps
And since some apps still seemed to exchange some information over data or wifi, I limited all background data usage over data or wifi.
All this make my phone much less user friendly and does not solve my issues
So please, I you know of a reliable "easy" way to really manage permissions, or to generate a master permission file that overwrites apps permissions? removing all weird "granted", or if you have any idea on how you'd start it, please let me know
From this "clean approach" I got to spoofing, which seemed to be a solution to work around some issues using several different apps that would change the location, the IP, the network, VPN, spoof caller ID, ...
Well... since I had discovered all kind of right that can be given to an app, I checked their manifests before installing them. They might solve some issues, but generate worse problems (billing?!!all social media accounts?! create social accounts?!?)
So is there a clean app that lets you temporarily "clone" phone1 on phone 2 considering they are not at all the same (manufacturer, android, phoneID, carrier, phone number) and change the location and this only to some apps? Still have to use SIM carrier.
If not, any hints on how to write this?
thx :laugh:
---------------------
Hasbeen developper, totally new to Android who still believes that technology should allow to increase productivity and respect FREEDOM and PRIVACY.

Why does BLE scanning reuquire ACCESS_FINE_LOCATION, but CompanionDeviceManager not?

Starting with Android 6(?) your app needs the ACCESS_FINE_LOCATION permission and the user has to turn on the system-wide location setting in order to scan for Bluetooth devices from the app: https://stackoverflow.com/questions...-bluetooth-low-energy-scanning-on-android-6-0
Google is arguing that you could use just the Bluetooth data to find the location of the phone and thus hid Bluetooth scanning behind the location permission. (Which my opinion is ridiculous because they could have added a separate permission instead of forcing the user to give up all their battery life to GPS and WiFi location tracking.)
Now with Android 8 there appears to be a new API, namely the CompanionDeviceManager:
https://developer.android.com/guide/topics/connectivity/companion-device-pairing
This API only seems to require adding the FEATURE_COMPANION_DEVICE_SETUP feature to the manifest, but yet it allows scanning for Bluetooth devices, even with the system-wide location setting turned off.
Now I'm wondering if that API is somehow anonymizing the Bluetooth data, e.g. by removing the MAC addresses or what else could be the reason for why Google thinks that this does not need to be hidden behind the location permissions?
No one?
Any suggestions on other forums where people might be able to help me?
Don't think anyone here can answer your question.
Damn... I was really hoping to find an anser to this. :/

Categories

Resources