Have you ever tried to CHANGE your unique GSF ID on your Android device?

29 views
Skip to first unread message

Andy Burnelli

unread,
Apr 24, 2022, 12:01:51 AMApr 24
to
In another thread, a user asked what "GSF" means, where, to me, it means two
things, both of which I would think detract from your overall privacy.

1. It's a framework set of APIs that some Android apps use
2. It's specifically the name of a unique ID tied to your device.

Below is my response to "micky" just now when he asked what it means; but
what I'd like to ask here is whether anyone reading this has changed theirs.

*Have you ever tried to CHANGE your unique GSF ID on your Android device?*

If so, what can you teach us in terms of how we can change our GSF ID also?

====< cut here for the response to "micky" today >====
> what is gsf? Grieg Seafood?

AFAIK, it's a Google API which some apps link into their programs.
In addition, and more sinister, it's a unique identifier of your account.

<https://raccoon.onyxbits.de/blog/what-exactly-is-a-gsf-id-where-do-i-get-it-from-and-why-should-i-care-2-12/>
"GSF ID stands for Google Services Framework Identifier.
The GSF ID is a unique 16 character hexadecimal number.
Your device automatically requests a new one
(if it doesn't have one already) from Google as soon as you log
your Google Account in on it for the first time.
The assignment is permanent. Once a GSF ID is registered to your account,
you can't remove it ever again (you can only stop using it)."

Some apps to get the GSF of your account on your Android phone:
<https://play.google.com/store/apps/details?id=com.evozi.deviceid>
<https://play.google.com/store/apps/details?id=com.redphx.deviceid>

I never tried changing the GSF, but apparently it's possible.
<https://forum.xda-developers.com/t/app-android-device-id.1860405/>
<http://indianyouthrockss.blogspot.com/2014/12/changehide-your-identity-with.html>
<https://repo.xposed.info/module/biz.bokhorst.xprivacy>

PS: I don't know if iOS has the concept of a GSF ID; maybe Steve knows.
--
Usenet is where kind-hearted people daily gather to voluntarily help others.

Andy Burnelli

unread,
Apr 26, 2022, 3:17:43 PMApr 26
to
Andy Burnelli wrote:

> *Have you ever tried to CHANGE your unique GSF ID on your Android device?*

(It's easy to do if you use _Windows_ software to do it!)

It appears perhaps to be easier on an unrooted phone than I would have thought it
would have been to change the Google Services Framework ID (GSF ID) based on this:
<https://i.postimg.cc/X7ZspnsG/gsfid01.jpg> Easy to change GSF ID

I simply followed this procedure, even though my phone is _not_ rooted.
<https://amigotechnology.com.au/how-to-reset-your-google-services-framework-android-id/>

1. Go to your Windows 8 or Windows 10 PC and click here to download our
"Android 9.0 GSF ID Reset Script" package.
<https://1drv.ms/u/s!AnEUQ3JuzW_hgy-GMvGSCXPacpmh>
2. We recommend saving this file to your "Downloads" folder,
but any folder will work.
3. Once you have downloaded it to your Windows PC, open your file explorer
and navigate to the folder that you saved it to.
4. Right click on the file, and click on "Extract All"
and then click "Extract".
5. A new window should appear with the extracted files.
6. Run "1 - Test USB Connection.bat".
If you receive a "Windows Smartscreen" warning, click on "More info"
and select "Run anyway".
7. A new window will appear with green text.
Pay close attention to the prompts to ensure you have a working connection.
8. You may need to change settings and run the test multiple times
to get things working properly.
9. Once your device has passed the connection tests,
run "2 - Reset GSF ID.bat" and follow the prompts.
10. Once the scripts run successfully, your notifications should work again!
Please contact us if you run into any trouble.

Here are descriptions of the relevant files found in that download.

Name: Android 9.0 GSF ID Reset Script 1.1.zip
Size: 844272 bytes (824 KiB)
SHA256: 5186F4F1C42D38095A0A810EAE680A4B5E75466D111C680B86AFA0DAF1F0C13C

04/24/2022 06:30 AM 2,895 1 - Test USB Connection.bat
04/24/2022 06:30 AM 7,753 2 - Reset GSF ID.bat
04/24/2022 06:30 AM 1,784,320 adb.exe
04/24/2022 06:30 AM 97,792 AdbWinApi.dll
04/24/2022 06:30 AM 62,976 AdbWinUsbApi.dll
04/24/2022 06:30 AM 2,186 App List.txt

Name: adb.exe
Size: 1784320 bytes (1742 KiB)
SHA256: 65210CB4139672B53ACAA2222B1005D036B0B02C437AA47E0E7B616FAB0E2F6F

Name: AdbWinApi.dll
Size: 97792 bytes (95 KiB)
SHA256: D60103A5E99BC9888F786EE916F5D6E45493C3247972CB053833803DE7E95CF9

Name: AdbWinUsbApi.dll
Size: 62976 bytes (61 KiB)
SHA256: 25207C506D29C4E8DCEB61B4BD50E8669BA26012988A43FBF26A890B1E60FC97

Name: 1 - Test USB Connection.bat
Size: 2895 bytes (2 KiB)
SHA256: 8D2F251B4A69CCD63A747646845DF946AC48FC3B3B4B75C7E2EE3F38F4E793F0
mode con:cols=120 lines=35
@echo off
title ABD and SU Test Tool v1.0
color 0A
echo.
echo This script will ensure that the connection between your device and your Windows 8 / 10 PC is working.
echo It is important to ensure there are no errors, as this is needed for other scripts to run.
echo.
echo Before we begin, we will need to first check a setting.
echo.
echo On your device, go to "Settings" - "About Phone" and tap on "Build Number" 7 times.
echo This will enable Developer Options. To access, go to "Settings" - "System" - "Developer Options".
echo In here you have the ability to enable "Android Debugging". Enable this option.
echo.
echo Once this is enabled, use a USB cable to plug your device in to this PC.
echo You may see a prompt on your device during the next step to "Allow USB Debugging".
echo If so, select "Always allow from this computer" and tap OK.
echo.
echo When you are ready, press any key to continue.
echo.
pause

adb devices

echo.
echo You should see an ID and "device" listed above. If not, try the troubleshooting steps below.
echo Keep in mind you will need to close this script and run it again to test functionality.
echo.
echo If it says "unauthorized", this means your device needs to grant permission to connect.
echo Unlock your device - you should see an "Allow USB Debugging?" popup.
echo Select "Always allow from this computer" and tap OK. Close and run this script again to test.
echo.
echo If there is nothing listed under "List of devices attached", check your USB connection and try again.
echo If the USB connection seems fine, try another cable and USB port and try again.
echo If another cable and USB port results in the same issue, check that "Android Debugging" is enabled.
echo If "Android Debugging" is indeed enabled, restart your computer and your device and try again.
echo.
echo When you are ready, press any key to continue onto the next test.
echo If you see a "Superuser Request" popup on your device, tap on "Grant".
echo.
pause
echo.
echo Testing system mount...
adb shell su -c mount -o remount,rw /system
echo.
echo Testing system re-mount...
adb shell su -c mount -o remount,ro /system
echo.
echo If you don't see any error messages, this means superuser is working and you are ready to go!
echo.
echo If you see "Permission Denied", this means that your device currently does not have superuser permissions.
echo To fix this, open "Magisk Manager" and follow the prompts to run updates.
echo Both "Magisk" and "Magisk Manager" should be fully up to date before continuing.
echo Once updates have completed, tap the menu button (3 lines in top left) and select "Superuser".
echo In here there should be a listing called "shell". Ensure this is enabled, and try again.
echo.
pause

Name: 2 - Reset GSF ID.bat
Size: 7753 bytes (7 KiB)
SHA256: 3B23939B587E0CFD3813F712A4DBED89EDED3E51699DED72CC67018CB27C56E0
mode con:cols=120 lines=35
@echo off
title GSF Reset Tool 1.0
color 0A
echo.
echo This script will reset the Google Services Framework (GSF) and Android ID on your device.
echo This should resolve issues where push notifications are delayed or non-functional.
echo.
echo You MUST go through the "1 - Test USB Connection" script for this script to work. If you
echo have not done this, please go back and make sure the connections are successful and are
echo not showing errors.
echo.
pause
echo.
echo This script will clear data of popular applications that rely on the Google Services Framework.
echo You may need to sign back in and re-adjust preferences and settings on these apps.
echo Clearing app data should not result in the loss of personal data such as messages and photos
echo as most data is stored on cloud servers under an online account, but there are exceptions.
echo.
echo The main exception to this rule is if you use WhatsApp - please go into WhatsApp app settings
echo and ensure backups are enabled and are saving to Google Drive. "Secret" chats in Facebook Messenger,
echo Telegram, Line or Signal may also get wiped as these are not always stored on a server.
echo Please check this first before continuing to avoid unwanted data loss.
echo.
pause
echo.
echo If you wish to view the list of apps that will be cleared with this script,
echo see the "App List" text file that is bundled with this script.
echo.
echo Please keep in mind that this is a limited list of popular apps at the time of writing (Mid 2019).
echo.
echo If you use an app that is not on the list, you may still experience some issues with notifications,
echo even after running this script, but this varies per app. If you experience issues, you can solve
echo this manually. Go to "Settings" - "Apps and Notifications", and select your desired app.
echo From here, go to "Storage" and select "Clear Storage". Notifications should behave after this.
echo.
echo Most users shouldn't need to do this. As an alternative, you can achieve the same result
echo by going to the Play Store, searching for your app, select "Uninstall" and then select "Install".
echo.
echo When you are ready to continue, pretty any key to execute the script.
echo.
pause
adb shell settings delete secure android_id
adb shell settings delete secure advertising_id
adb shell settings delete secure bluetooth_address
adb shell su -c mount -o remount,rw /system
adb shell su -c rm /data/system/users/0/accounts.db
adb shell su -c rm /data/system/users/0/accounts.db-journal
adb shell su -c rm /data/system/users/0/photo.png
adb shell su -c rm /data/system/users/0/settings_ssaid.xml
adb shell su -c rm /data/system/sync/accounts.xml
adb shell su -c rm /data/system/sync/pending.xml
adb shell su -c rm /data/system/sync/stats.bin
adb shell su -c rm /data/system/sync/status.bin
adb shell pm clear com.google.android.ext.services #android services library
adb shell pm clear com.google.android.ext.shared #android shared library
adb shell pm clear com.google.android.gsf.login
adb shell pm clear com.google.android.onetimeinitializer #google one timi init
adb shell pm clear com.android.packageinstaller #package installer
adb shell pm clear com.android.providers.downloads
adb shell pm clear com.android.vending #google play store
adb shell pm clear com.google.android.backuptransport #Google Backup Transport
adb shell pm clear com.google.android.gms
adb shell pm clear com.google.android.gms.setup #com.google.android.gms.setup
adb shell pm clear com.google.android.instantapps.supervisor
adb shell pm clear com.google.android.gsf #google services framework
adb shell su -c mount -o remount,ro /system
adb shell pm clear au.com.fuel7eleven #7-11 fuel
adb shell pm clear au.com.ingdirect.android #ing
adb shell pm clear au.com.nab.mobile #nab
adb shell pm clear au.com.suncorp.SuncorpBank #suncorp
adb shell pm clear com.afterpaymobile #afterpay
adb shell pm clear com.airbnb.android #airbnb
adb shell pm clear com.alibaba.aliexpresshd #aliexpress
adb shell pm clear com.andrewshu.android.reddit #reddit is fun
adb shell pm clear com.anz.android.gomoney #anz
adb shell pm clear com.commbank.netbank #commbank
adb shell pm clear com.discord #discord
adb shell pm clear com.ebay.gumtree.au #gumtree
adb shell pm clear com.ebay.mobile #ebay
adb shell pm clear com.facebook.katana #facebook
adb shell pm clear com.facebook.lite #facebook lite
adb shell pm clear com.facebook.mlite #facebook messenger lite
adb shell pm clear com.facebook.orca #facebook messenger
adb shell pm clear com.google.android.apps.docs #google drive
adb shell pm clear com.google.android.apps.maps #google maps
adb shell pm clear com.google.android.apps.meetings #hangouts meet
adb shell pm clear com.google.android.apps.messaging #google messages
adb shell pm clear com.google.android.apps.photos #google photos
adb shell pm clear com.google.android.apps.podcasts #google podcasts
adb shell pm clear com.google.android.apps.tachyon #google duo
adb shell pm clear com.google.android.apps.tasks #google tasks
adb shell pm clear com.google.android.apps.walletnfcrel #google pay
adb shell pm clear com.google.android.calendar #google calendar
adb shell pm clear com.google.android.gm #google gmail
adb shell pm clear com.google.android.music #google play music
adb shell pm clear com.google.android.talk #google hangouts
adb shell pm clear com.google.android.talk #google hangouts
adb shell pm clear com.google.android.youtube #google youtube
adb shell pm clear com.instagram.android #instagram
adb shell pm clear com.lastpass.lpandroid #lastpass
adb shell pm clear com.microsoft.office.outlook #microsoft outlook
adb shell pm clear com.netflix.mediaclient #netflix
adb shell pm clear com.paypal.android.p2pmobile #paypal
adb shell pm clear com.reddit.frontpage #reddit
adb shell pm clear com.skype.raider #microsoft skype
adb shell pm clear com.snapchat.android #snapchat
adb shell pm clear com.spotify.music #spotify
adb shell pm clear com.tencent.mm #wechat
adb shell pm clear com.twitter.android #twitter
adb shell pm clear com.ubercab #uber
adb shell pm clear com.ubercab.eats #ubereats
adb shell pm clear com.viber.voip #viber
adb shell pm clear com.whatsapp #whatsapp
adb shell pm clear com.yahoo.mobile.client.android.mail #yahoo mail
adb shell pm clear com.zhiliaoapp.musically #tiktok
adb shell pm clear free.reddit.news #relay for reddit
adb shell pm clear jp.naver.line.android #line
adb shell pm clear org.telegram.messenger #telegram
adb shell pm clear org.thoughtcrime.securesms #signal messenger
adb shell pm clear org.westpac.bank #westpac
adb shell pm clear tv.twitch.android.app #twitch
adb shell pm clear xyz.klinker.messenger #pulsesms
adb shell settings put global development_settings_enabled 0
adb shell settings put global adb_enabled 0
echo.
echo You should see a mix of "success" and "failed" above. This is normal.
echo Please REBOOT your device to finish the process.
echo.
echo Once your device boots up, setup your messaging apps and test. That's it!
echo.
echo If you have apps that still experience some issues with notifications, you can solve
echo this manually. Go to "Settings" - "Apps and Notifications", and select your desired app.
echo From here, go to "Storage" and select "Clear Storage". Notifications should behave after this.
echo.
echo Most users shouldn't need to do this. As an alternative, you can achieve the same result
echo by going to the Play Store, searching for your app, select "Uninstall" and then select "Install".
echo.
PAUSE

Bear in mind that this process not only changes your GSF ID
but it also wipes out a _lot_ of your settings, e.g., I had
to turn Developer Options back on and change a bunch of my
privacy settings because it's essentially a "reset" of the
options (but not a factory reset as all the apps remained).

Note that for my unrooted Android 11 Samsung Galaxy A32-5G,
the Android ID was _not_ changed by running the scripts above.

I also tried resetting all the settings (again, not a factory
reset). This caused a reboot. When I checked after rebooting,
the GSF ID was unchanged from what it was prior to that reset.

Unfortunately, that wiped out all my network settings (where
my networks are all hidden so I had to set that all up again).
Resetting all settings wiped out my Pulse SMS message setup.
--
REF
<https://forum.xda-developers.com/t/q-how-to-change-gsf-and-andoid-id-of-a-cloned-phone.3512214/>
<http://indianyouthrockss.blogspot.com/2014/12/changehide-your-identity-with.html>
<https://fingerprintjs.com/blog/device-fingerprinting-android/>
<https://raccoon.onyxbits.de/blog/what-exactly-is-a-gsf-id-where-do-i-get-it-from-and-why-should-i-care-2-12/>

Andy Burnelli

unread,
Apr 26, 2022, 4:27:33 PMApr 26
to
Andy Burnelli wrote:

>> *Have you ever tried to CHANGE your unique GSF ID on your Android device?*
>
> (It's easy to do if you use _Windows_ software to do it!)

What's unknown to me is _how_ the GSF ID is set given virtually everything I
look up says that Google somehow (magically?) assigns that unique GSF ID:
*What is Android GSF*
<https://frameboxxindore.com/android/what-is-android-gsf.html>
"The Google Services Framework Identifier (GSF ID) is a unique 16 character
hexadecimal number that your device automatically requests from Google
as soon as you log to your Google Account for the first time.
For a specific device, the GSF ID will change only after a factory reset."

Bearing in mind I have no Google Account set up on my phone, how is the
phone "logging into Google" then?
"Your device automatically requests a new one (if it doesn't have
one already) from Google as soon as you log your Google Account
in on it for the first time. The assignment is permanent."

Since the phone isn't "logging into" Google, I suspect it's doing
"something" to get that GSF ID, but all these articles are wrong.

But the obvious question would be how does your phone get the GSF ID then?

Andy Burnelli

unread,
Apr 26, 2022, 4:49:18 PMApr 26
to
Andy Burnelli wrote:

> But the obvious question would be how does your phone get the GSF ID then?

This is perhaps a reliable source given that it comes from calyxOS
*Notes on how your phone gets uniquely identified*
<https://calyxos.org/docs/guide/security/identifiers/>

Although even that information _must_ be wrong (as I cleared my GSF ID).
"In order to use Google Play Services, an Android device must
first register itself with the Google servers. This registration
process happens once, and includes lots of information about
the user's Google account and device."
Note also that I don't even have a Google Account on the device.

Yet there _must_ be some connection with Google servers:
"The unique GSF ID is created by Google servers,
not locally on the device."

That's interesting it requires an Internet connection to Google servers.
Next time I clear it, I'll disconnect the PC & Android from the Internet.

Again, this _must_ be wrong below since I have no Google Account:
"Once your device registers with Google Play Services,
Google stores a profile that links your user account
and the hardware capabilities for your device."

This is also wrong also since apps can access it & it can be changed.
"This GSF ID is not available to apps and cannot be changed."

In summary, most of the information on the net about the GSF ID must be
wrong since I can easily test it and show that it's wrong.

Nonetheless, it would be nice to have an _easier_ way to reset the GSF ID.
Reply all
Reply to author
Forward
0 new messages