Giter Club home page Giter Club logo

suota-go-plus's Introduction

SUOTA Go+

For my blog post about this project. Including all the technical information that I learned, please visit my website https://coderjesus.com/blog/pgp-suota/

YOU ACKNOWLEDGE THERE MAY BE RISKS USING THIS SOFTWARE, I AM NOT LIABLE FOR ANY BRICKED PGP.

Suota Go+ is an Android Client and DA14580 image that can extract the Device/Blob Key from any Pokemon Go Plus over-the-air. (Pokeball Plus is not supported!). The client performs the over-the-air installation process, extracts the device/blob key, and saves the keys as a *.json file. So far I have successfully extracted keys from 3 different PGP (2 legitimate, 1 clone) on a Samsung Galaxy S8+ and a One Plus 5. Unfortunately iOS is not supported, if anyone is interested in implementing it please submit a pull request or create your own client and I will link it on this project.

Building the Client from source

Run this command

git clone https://github.com/Jesus805/pgp_suota

Open pgp_suota\Client\suota_pgp\suota_pgp.sln with Visual Studio

Ensure NuGet packages are installed by right clicking the suota_pgp.Android project and then selecting "Manage NuGet packages..."

Build The project

Building the Firmware from source

I do not recommend this option unless you have a DA14580 development board to test it on.

Instructions are listed in \Firmware\README.md

Installation

  1. Install the Suota Go+.apk on your Android Device.
  2. Run Suota Go+
  3. Suota Go+ will generate a SuotaPgp folder, place patch.img in that folder.

Running

  1. Connect your Go+ to the Pokemon Go App.
  2. Once connected, open Suota Go+.
  3. Under the "Patch Device" tab, click the Refresh button.
  4. Select the paired Go+.
  5. Select patch.img under "Firmware File".
  6. Once you have selected your device and the patch. Select "Start Patch".
  7. The device will patch and will let you know when it has completed.
  8. Wait about 60 seconds then go to the 'Key Extractor" tab
  9. Select "Scan" and select the "PGP Key Extractor" device.
  10. Select "Get Device Info" to read the device/blob key.
  11. Select "Save" to save it as a .json file in the SuotaPgp folder.
  12. Restore the device to it's original state.

Tips

To maximize your success, please ensure that the Go+ is next to your mobile device. It is also recommended to use a new battery before beginning the process.

suota-go-plus's People

Contributors

jbamford1 avatar jesus805 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

suota-go-plus's Issues

Can't Compile Firmware

Hi there.

I cannot compile the custom firmware while following the instructions in the readme. I have tried the following:

  1. Made a copy of 'ble_app_peripheral' from the SDK
  2. Checked it compiled OK
  3. Replaced user_custs1_def.h and user_custs1_def.c with the ones from this repo
  4. Added user_extractor.h and user_extractor.c to the project
  5. Added the init_key() and init_blob() to the end of user_app_connection

I get a bunch of compile error because the rest of the ble_app reference constants there were in the original user_custs1_def.h

Am I meant to just comment out the places that refer to these now deleted constants?

Thanks.

Fails to restore pgp

I was able to successfully extract my keys, but now I am not able to restore my pgp. When I am on the key extractor tab, I select my Pokemon GO Plus (at this point, no lights turn on, but I can see the bluetooth device from the app), and then I click restore PGP.

However, a modal appears and says "Unable to restore. Error: Object reference not set to an instance of an object"

Device: Pixel 3
Android Version: 12

GET DEVICE INFO FAILS - Object reference not set to an instance of an object

Issue

When attempting to get device info an error message pops up saying

Unable to get Device Information. Please try again. Error: Object reference not set to an instance of an object (see image)

When attempting to restore the PGP firmware the software complains that the device is not registered in the history of devices. I'm not sure if this is a separate issue. The PGP is now stuck in a patched state and cannot connect to pokemon go. (Good thing it's an old unused one ;) )

The battery was new and the PGP connected to Pokemon Go fine after a PGP reset.

Steps to Reproduce

Follow steps described in Running section of README.md
Ran through to step 10.
Failed to get device info

Versions

  1. apk and patch were taken from the release page of the repository.
  2. AT&T Samsung Galaxy S9 (G960U)
  3. Pokemon Go: 0.169.0-G

image

Work?

Hi @Jesus805

Is this currently working to remove the keys?

Thanks

Screenshot of Expected Text?

I am trying to do this on a very slow Android tablet so I am not sure what is going wrong here as it could be multiple things.

I am not sure if I am getting stuck or if the Go+ is supposed to be disconnecting automatically on the second step. Can we get a screenshot of what the expected text is supposed to look like?

The log for me is the following:
Enabling SUOTA on Go+
Go+ Automatically disconnected, rescanning

So I am not sure if it is supposed to disconnect

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.