Gabb Phone Hacking Guide

This guide was made by @kasherpete on Discord. Please feel free to DM him or message him at Keagan.a.peterson@outlook.com for any questions or concerns you may have.

- Last updated: 2023.8.16 - Version 1.2
- Contributors: @rintadev, @sinisterchaos22, @ichbluu, @spacesaver2000, @johnsolo112
- Special thanks to @dylantingley for leading the Eth0s Group and especially @daveman114 for finding the maintenance code that made this possible.


What is This Hack?

This is a way to install apps to your Gabb Phone Z2. This method works for all versions of Gabb OS, even the most current, 0B24. A fair amount of bash knowledge is very helpful but not necessary.

1. Installing ADB

First, install ADB (Android Debug Bridge). This is the software used to communicate with the device.

For Linux:

Debian/Ubuntu based systems:

sudo apt install adb

Arch based systems:

sudo pacman -S android-tools

Fedora based systems:

sudo dnf install android-tools

For Mac:

If you do not have Homebrew installed, run the script below. (Hint: You can check if it is installed by typing brew --version into the terminal)

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Now, install ADB:

brew install android-platform-tools

If it does not work, use the manual installation below:

Manual Homebrew Install for MacOS

First, if you dont already have it, install the Homebrew package manager. Then, simply run brew install android-platform-tools to install ADB.

For Windows:

The Windows installation can be difficult. Message @kasherpete on discord for help.

  1. Download Android SDK Platform-Tools: Visit the official Android SDK Platform-Tools download page: Download Android SDK Platform-Tools
    Download the SDK Platform-Tools ZIP file to your computer.

  2. Extract the ZIP File: Once the download is complete, extract the contents of the ZIP file to a location on your computer. For example, you can extract it to C:\platform-tools.

  3. Add Platform-Tools to the System Path: To use ADB and Fastboot commands from any Command Prompt window, you need to add the directory containing the platform-tools binaries to your system’s PATH environment variable.

  1. Verify ADB Installation: To verify that ADB is correctly installed and accessible from the Command Prompt, type the following command:
adb version

If ADB is installed and working, you should see the version information.

2. Setting up ADB on Gabb

Maintenance Mode:

Next, on your phone type *983*673636# in the dialer. This enables the use of other codes (or enables E-Mode for the technical users). Then, type *#*#62468#*#*, and press “Switch to maintenance mode”. This will take you to the maintenance mode user, which is a temporary user with ADB temporarily enabled. Don’t worry, all your data is still on the phone.

Next, plug your phone into your computer. Allow file access, and it will also ask if you want to trust the computer for USB debugging. Click “allow” (if it doesn’t show up, do not worry. Just allow it when it does).

Now, type this command:

adb devices

If you did everything correctly, you should get this output:

List of devices attached
320525532827	device

Global ADB:

Now, download this APK and rename it to setedit.apk once it is downloaded. Now, type these commands, one by one:

cd ~/Downloads
adb install-multiple setedit.apk
adb shell pm grant io.github.muntashirakon.setedit android.permission.WRITE_SECURE_SETTINGS  
adb shell settings put global development_settings_enabled 1
adb shell pm disable-user com.zte.zdm

It should install normally. If not, see the possible errors below.

Now, on your phone type *#*#62468#*#* into the dialer again and switch back to normal mode. Look at your apps. Setedit should be there. Open it up, click “system table” at the top left, and click “global table”. Tap “adb_enabled” and set it to 1. Now reboot.

Finishing Up:

To prevent further updates to your phone, run this adb command. If you haven't run this command yet, it is highly recommended!

adb shell pm disable-user com.zte.zdm        # disable OS software updates
adb shell pm disable-user com.zte.zdmdaemon # disable OS software updates adb shell pm disable-user com.gabb.packageupdater # disable gabb software updates

If you want to disable any other apps installed by Gabb, you can run the same command adb shell pm disable-user somepackagename. Here is the list of Gabb apps:

Friendly name Internal name (use for commands)
MyGabb com.gabb.child
Gabb Music com.gabb.music
GabbID com.gabb.gabbid
F-Droid Privileged Extension com.gabb.privileged
Gabb Messenger com.gabb.messenger.android.app
Package Updater com.gabb.packageupdater
Gabb Cloud Sync com.gabb.cloudsync
Gabb Services com.gabb.services
Hiya com.hiya.axolotl.gabb

NOTE: This does not uninstall apps, it just disables them.

After doing all that, you should be able to use ADB to install apps to your phone!

Helpful ADB Commands and Usage

Installing Apps

Gabb disabled the adb install command, but adb install-multiple still works.

  1. Download an APK online (some downloads are listed below)
  2. cd into your Downloads folder (I HIGHLY recommend watching this video and this video if you are unfamiliar with the command line. This is a very useful skill and WILL fix any issues you have in the future, and is well worth your time).
  3. run this command: adb install-multiple somefile.apk.

Disabling Apps

adb shell pm disable-user some.package.name

Uninstalling Apps

You cannot uninstall apps through ADB. Follow these steps to uninstall apps:

  1. Open Settings
  2. Go to Storage > Internal Shared Storage > Free Up Space > Review Recent Items
  3. Now select that apps you want uninstalled

This is a highly useful feature. You cannot uninstall Gabb apps, however you can disable them - which in the end does the same job.

Searching for a Package

adb shell pm list packages | grep "search here"

Other Useful Commands

Command Function Importance
adb shell Opens a shell terminal Very High
adb install-multiple Install app Very High
adb devices Shows connected devices High
adb shell pm list packages Outputs installed packages Normal

Errors with ADB and the Command Line

adb: need APK file on command line

This means that you did not send a proper APK package. When installing APKs, each package needs to end with .apk. XAPKs are not supported by ADB, and you will have to extract XAPK file yourself (although very few apps use the XAPK format).

adb: failed to create session. Exception occurred while executing

This is usually because the file you input in the command line does not exist. Check you are in the directory of the APK you are wanting to install.

no permissions (user in plugdev group; are your udev rules wrong?)

This is because you have not accepted the ADB message on your phone. If it does not show up, reboot.

error: device unauthorized.

This is usually the same as above.

adb: failed to finalize session. Failure [INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113]

This is a very common error, and you do not have to worry if you got this error message. This just means that the APK you are trying to install does not support your architecture. The most common architecture is arm64-v8a, however the Gabb Phone Z2’s architecture is based off of armeabi-v7a. Most APKs support both. However, in websites like https://apkmirror.com, you will have to choose the architecture. If you have any problems, you are welcome to message me at @kasherpete on discord. I can usually fix this issue.

Help Section/FAQ

Some apps are crashing when I start them?

This usually happens because Google Play Services is not installed. See the section below about Google Play Services. Other times it may be a faulty APK, we always suggest trying a couple APKs with different versions - this helps quite a lot because sometimes older versions of apps don’t need Google Play Services.

Will Gabb know I hacked my phone?

We have had one instance of Gabb emailing one of our testers, saying they have broken the ToS. However, none of the other testers have had this issue, and this also does not mean Gabb knows that phone has been exploited. This email is programmatically sent when using a web browser off LTE, and there are many phones still alive that have a previous hack, so Gabb has no idea there is an exploit. So, it is safe to use this exploit without worrying about Gabb knowing. However, if you are worried about your parents receiving this email, there have also been other circumstances of people receiving this email while doing nothing wrong and having no hacks on their phone.

Will this hack mess up or disable 3rd party apps?

No, it will not. 3rd party apps still work the same. Either way, you can now install any app you want, so 3rd party apps are negligible when considering the costs and effects of jailbreaking your phone.

If I disable software or system updates, will Gabb apps still receive updates?

Yes, updates will still be received for individual apps if you only disabled software updates. If you would like to disable updates for Gabb apps too, use this command:

adb shell pm disable-user com.gabb.packageupdater

What is an APK?

An APK is a “package” of code used by android - when you type adb install-multiple file.apk, it takes that APK, reads it, and installs it as a normal app.

What is ADB?

ADB stands for Android Debugging Bridge. ADB is used to remotely control, monitor, and manage android devices from a different computer. The hack that was used on 0B15 utilized ADB as well, but it was enabled on the phone a different way. This hack is very similar to the 0B15 exploit, but it works on versions up to the current 0B24.

HELP! I can’t get “ADB” set up!

Don’t worry, you have plenty of time to get this hack working before gabb patches it. If you are really worried, turn off WiFi and turn on airplane mode and take out the battery before getting help. This works on all versions of the Gabb Phone Z2 (the one with the dual flash on the back) and we are happy to help you. Message @kasherpete on Discord or email him at Keagan.a.peterson@outlook.com.

Google Play Services

If you’ve done any amount of ADB and app installations on your phone yet, you’re likely to have encountered the dreaded “{app} won’t run without Google Play services, which are not supported by your device”. As you probably could have guessed, Google Play Services is not installed on Gabb Phones and will likely never be. If this happens, you can uninstall the app (shown how to above) if it does not run.

So, why give up on trying to install Google Play Services? Well, it’s not that easy. Google Play Services is installed on phone by the manufacturer and is either customized or designed to run only on a specific version of Play Services. It is technically possible we could find a way to install them, but all of our tests have shown that this fails miserably and we have to factory reset the phone - every single time.

So, take from our knowledge and please don’t try to install Google Play services unless you are okay with helping us out in testing and are okay with a factory reset on your phone. If we ever do find a way to properly install Google Play Services, we will make sure to let every single person know about it. Here is a list of apps that complain about Play Services: (updated regularly)

Severity tier:

1 = only asks occasionally, or once
2 = asks every few minutes
3 = asks too often to be usable
4 = crashes or doesn't start
App Name Severity
Google Calendar 4
Gmail 4
YouTube 4
AccuWeather 4
Google Play 4
Google Maps 3
Google Chrome 1

Smart People Stuff

Potentially Useful Commands for Rooting

How to Enable Wireless ADB

This will make long ADB sessions go by faster so you don’t need a cable for ADB, it’s faster to connect, and you can use your phone away from your computer.

adb kill-server
adb usb
adb tcpip 5555
adb connect [Phone IP]:5555

This may be useful for being able to have the phone connect to itself by running adb connect 127.0.0.1:5555 in Termux. I believe some apps use this feature too. To disable it, type adb usb to return to listening over USB again.

APKs to Download

There is a list of APKs that currently work right here (courtesy of @rintadev). I recommend you check it out because there are lots of APKs there that are not listed here, and they are much easier to download. All of these APKs are guaranteed to work.

Setedit (Highly recommended)
Shizuku (Highly recommended)
Split APKs Installer (Highly recommended)
App Manager (Highly recommended)
F-Droid (Recommended if you want an app store)
F-Droid Shizuku Extension (Needed if you want to use F-Droid)
Termux (Recommended)
GBoard (Recommended)
CPL (Recommended)
Shortcut Maker (Recommended for technical users)
Firefox

Note: Install these apps at your own risk! We are not liable for the installation of these apps. Please only install them if you already own a paid version of it.

App Installers and Shizuku

The default app installer built into android is disabled, so you need to use tools like Shizuku and SAI (Split Apps Installer). These help you to install apps without needing computer access, and install them completely natively from the phone using F-Droid and the APKPure App Installer. Please also note this is super unstable and could break at any time, and may need to be plugged into the PC running the Shizuku server anyway. As of now, F-Droid is the only app installer that works. We are actively testing other methods.

  1. First you need to have the app installer of your choice (F-Droid), and you need to have SAI and Shizuku installed. Then go to Shizuku > Settings > Installer and select shizuku.
  2. Now open Shizuku and run this command: adb shell sh /storage/emulated/0/Android/data/moe.shizuku.privileged.api/start.sh. This should start Shizuku.
  3. Open the app store, and try to install an app. Warning: You may need to rerun the command every time you connect to the computer or restart.
  4. If you’re using F-Droid (the only supported app installer as of now), you also need to install the F-Droid Shizuku Extension and enable it.

This exploit was discovered and published for personal use by Eth0s Group. Eth0s Group is dedicated to giving everyone access to the tools and guides needed to ethically hack a platform or device for their personal use.


© Eth0s Group 2023