Giter VIP home page Giter VIP logo

pogoprotos's Introduction

POGOProtos Python script Discord Sponsor Donate

alt text The contents of this repo are a proof of concept and are for educational use onlyalt text


This repository contains the ProtoBuf .proto files needed to decode the PokémonGo RPC.


Versioning

We are following semantic versioning for POGOProtos-Private. Every version will be mapped to their current PokémonGo version.

Version Base Notes Extra
2.56.6 v0.241.0 Proto2 Compilable (Mixed) Protocol Buffers v3.21.1
2.56.6 v0.241.0 Proto3 Compilable (Mixed) Protocol Buffers v3.21.1
2.54.1 v0.205.x last 100% clean (/base/v0.205.x.proto) Protocol Buffers v3.15.8

Addons

Additional resources as *.json files Source Status
v2_GAME_MASTER.json Root BAD
GAME_MASTER.json Root BAD
ASSET_DIGEST.json Root BAD
Additional resources as *.txt files (Decode mode by script) Source Status
v2_GAME_MASTER.txt Root BAD
ASSET_DIGEST.txt Root BAD
Additional resources as *.xml files Source Status
v2_GAME_MASTER.xml Root BAD
ASSET_DIGEST.xml Root BAD

Usage

If you want to figure out the current version in an automated system, use this file. .current-version Note: This file will contain pre-release versions too.

usage: compile_base.py [-h] [-gm GENERATE_GAME_MASTER]
                       [-ga GENERATE_ASSET_DIGEST] [-l LANG] [-v VERSION]
                       [-o OUT_PATH] [-m] [-g] [-b] [-k] [-gf]

optional arguments:
  -h, --help            show this help message and exit
  -gm GENERATE_GAME_MASTER, --generate_game_master GENERATE_GAME_MASTER
                        Generates v2_GAME_MASTER.txt form PATH/v2_GAME_MASTER.
  -ga GENERATE_ASSET_DIGEST, --generate_asset_digest GENERATE_ASSET_DIGEST
                        Generates ASSET_DIGEST.txt form PATH/ASSET_DIGEST.
  -l LANG, --lang LANG  Language to produce proto single file.
  -v VERSION, --version VERSION
                        Set version out ex:. (0.205.x)
  -o OUT_PATH, --out_path OUT_PATH
                        Output path for proto single file.
  -m, --java_multiple_files
                        Write each message to a separate .java file.
  -g, --generate_only   Generates only proto compilable.
  -b, --generate_new_base
                        Generates new proto base refs.
  -k, --keep_proto_file
                        Do not remove .proto file after compiling.
  -gf, --generate_proto_files
                        Generates base/last_files/*.proto.
                        

Preparation

Current recommended protoc version: "Protocol Buffers v3.21.1". You can find download links here.

Windows

Be sure to add protoc to your environmental path.

*nix

Ensure that you have the newest version of protoc installed.

OS X

Use homebrew to install protobuf with brew install --devel protobuf.

Compilation

The compilation creates output specifically for the target language, i.e. respecting naming conventions, etc.
This is an example of how the generated code will be organized:

  • Note: the *.desc file is auto created in this function
python compile_base.py -l cpp -k -v base:
 - vbase.proto -> out/single_file/cpp/POGOProtos.Rpc.desc
 -                -> out/single_file/cpp/POGOProtos.Rpc.pb.cc
 -                -> out/single_file/cpp/POGOProtos.Rpc.pb.h
 -                -> out/single_file/cpp/POGOProtos.Rpc.proto
Same similar outputs up but others langs:
  python compile_base.py -l csharp -k
  python compile_base.py -l java -k
  python compile_base.py -l js -k
  python compile_base.py -l python -k
  python compile_base.py -l php -k
  python compile_base.py -l objc -k
  python compile_base.py -l ruby -k
  * python compile_base.py -l swift -k
  * python compile_base.py -l go -k
  * python compile_base.py -l lua -k
  * python compile_base.py -l dart -k

* = Needs plugins

Decode Game Master or Asset Digest:
  python compile_base.py -gm [./v2_GAME_MASTER] (out as same bin name *.txt)
  python compile_base.py -ga [./ASSET_DIGEST] (out as same bin name *.txt)

Initial

pogoprotos's People

Contributors

furtif avatar aeonlucid avatar grover-c13 avatar rastapasta avatar dmadisetti avatar celandro avatar alucas avatar zechrales avatar nicoschmitt avatar 123flo321 avatar zeevallin avatar relrod avatar cyraxx avatar ibotpeaches avatar laverdet avatar nostrademous avatar spl3en avatar wallycz avatar igio90 avatar daangroot avatar fabio1988 avatar fkloft avatar lord-haji avatar lennix avatar mjmjelde avatar gegy avatar shargon avatar kvey avatar noctem avatar drdelay avatar

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.