Pokemon Go MITM proxy Pokémon légendaire master-ball etc...

kratelos

Membre
Inscription
19 Mai 2013
Messages
118
Réactions
18
Points
8 943
RGCoins
25
Pokemon Go MITM Proxy - intercepte le trafic entre votre Pokemon Go App et leurs serveurs , décode le protocole et vous donne un outil pratique pour enrichir votre propre expérience de jeu en modifiant les données à la volée . Jetez un oeil à des exemples pour commencer. Sentez-vous joyeusement invités à contribuer plus !

9a257af3-0c76-4fe4-b396-3cc6b7ed4a29.jpg
lkErths.png
XaEcgsQ.jpg


Comment l'utiliser?

Code:
Get nodejs

Get protobuf >= 3

Linux: libprotobuf must be present (apt-get install libprotobuf-dev)
OSX: Use homebrew to install protobuf with brew install pkg-config and brew install --devel protobuf
Windows: hard to compile - follow advices
Clone the code to experiment with the examples! (otherwise use it as a npm package)

git clone https://github.com/rastapasta/pokemon-go-mitm-node.git && cd pokemon-go-mitm-node

npm install

Setup the CoffeeScript interpreter
npm install -g coffee-script

Run and quit one of the examples once to get a CA certificate generated
coffee example.logTraffic.coffee

Copy the generated .http-mitm-proxy/certs/ca.pem to your mobile
Add it to the "trusted certificates"
Setup your connection to use your machine as a proxy (default port is 8081)
Enjoy :)
How to code it?
PokemonGoMITM = require './lib/pokemon-go-mitm'
server = new PokemonGoMITM port: 8081
   
# Every throw you hit is a super-duper-curved ball -> +XP
server.addRequestHandler "CatchPokemon", (data) ->
    data.normalized_reticle_size = 1.950
    data.spin_modifier = 0.850
    if data.hit_pokemon
        data.normalized_hit_position = 1.0
    data
# Replace all PokeStops with kittys!
server.addResponseHandler "FortDetails", (data) ->
    data.name = "Pokemon GO MitM PoC"
    data.description = "meow!"
    data.image_urls = ["http://thecatapi.com/api/images/get?format=src&type=png"]
    data
# Send crafted requests directly to the API as a new request - to release a pokemon as example
server.addResponseHandler "GetInventory", (data) ->
    for item in data.inventory_delta.inventory_items
        if item.inventory_item_data and pokemon = item.inventory_item_data.pokemon_data
            server
                .craftRequest "ReleasePokemon", pokemon_id: pokemon.id
                .then (data) ->
                    if data.result is "SUCCESS"
                        console.log "[+] Pokemon #{pokemon.pokemon_id} got released!"
    false


Comment coder ?

Code:
PokemonGoMITM = require './lib/pokemon-go-mitm'
server = new PokemonGoMITM port: 8081
   
# Every throw you hit is a super-duper-curved ball -> +XP
server.addRequestHandler "CatchPokemon", (data) ->
    data.normalized_reticle_size = 1.950
    data.spin_modifier = 0.850
    if data.hit_pokemon
        data.normalized_hit_position = 1.0
    data
# Replace all PokeStops with kittys!
server.addResponseHandler "FortDetails", (data) ->
    data.name = "Pokemon GO MitM PoC"
    data.description = "meow!"
    data.image_urls = ["http://thecatapi.com/api/images/get?format=src&type=png"]
    data
# Send crafted requests directly to the API as a new request - to release a pokemon as example
server.addResponseHandler "GetInventory", (data) ->
    for item in data.inventory_delta.inventory_items
        if item.inventory_item_data and pokemon = item.inventory_item_data.pokemon_data
            server
                .craftRequest "ReleasePokemon", pokemon_id: pokemon.id
                .then (data) ->
                    if data.result is "SUCCESS"
                        console.log "[+] Pokemon #{pokemon.pokemon_id} got released!"
    false



Quel est le statut ? Merci à l'œuvre awesom fait autour de POGOProtos , toutes les demandes et les réponses peuvent être interceptées et modifiées à la volée en maintenant!

  • AddFortModifier
  • AttackGym
  • CatchPokemon
  • CheckAwardedBadges
  • CheckCodenameAvailable
  • ClaimCodename
  • CollectDailyBonus
  • CollectDailyDefenderBonus
  • DiskEncounter
  • DownloadItemTemplates
  • DownloadRemoteConfigVersion
  • DownloadSettings
  • Echo
  • Encounter
  • EncounterTutorialComplete
  • EquipBadge
  • EvolvePokemon
  • FortDeployPokemon
  • FortDetails
  • FortRecallPokemon
  • FortSearch
  • GetAssetDigest
  • GetDownloadUrls
  • GetGymDetails
  • GetHatchedEggs
  • GetIncensePokemon
  • GetInventory
  • GetMapObjects
  • GetPlayer
  • GetPlayerProfile
  • GetSuggestedCodenames
  • IncenseEncounter
  • LevelUpRewards
  • NicknamePokemon
  • PlayerUpdate
  • RecycleInventoryItem
  • ReleasePokemon
  • SetAvatar
  • SetContactSettings
  • SetFavoritePokemon
  • SetPlayerTeam
  • StartGymBattle
  • UpgradePokemon
  • UseIncense
  • UseItemCapture
  • UseItemEggIncubator
  • UseItemGym
  • UseItemPotion
  • UseItemRevive
  • UseItemXpBoost

Prendre plaisir! Et des tas de remerciements à tous ceux qui ont contribué ici et sur mou !

Source et post d'origine :
 
Pokemon Go MITM Proxy - intercepte le trafic entre votre Pokemon Go App et leurs serveurs , décode le protocole et vous donne un outil pratique pour enrichir votre propre expérience de jeu en modifiant les données à la volée . Jetez un oeil à des exemples pour commencer. Sentez-vous joyeusement invités à contribuer plus !

9a257af3-0c76-4fe4-b396-3cc6b7ed4a29.jpg
lkErths.png
XaEcgsQ.jpg


Comment l'utiliser?

Code:
Get nodejs

Get protobuf >= 3

Linux: libprotobuf must be present (apt-get install libprotobuf-dev)
OSX: Use homebrew to install protobuf with brew install pkg-config and brew install --devel protobuf
Windows: hard to compile - follow advices
Clone the code to experiment with the examples! (otherwise use it as a npm package)

git clone https://github.com/rastapasta/pokemon-go-mitm-node.git && cd pokemon-go-mitm-node

npm install

Setup the CoffeeScript interpreter
npm install -g coffee-script

Run and quit one of the examples once to get a CA certificate generated
coffee example.logTraffic.coffee

Copy the generated .http-mitm-proxy/certs/ca.pem to your mobile
Add it to the "trusted certificates"
Setup your connection to use your machine as a proxy (default port is 8081)
Enjoy :)
How to code it?
PokemonGoMITM = require './lib/pokemon-go-mitm'
server = new PokemonGoMITM port: 8081
  
# Every throw you hit is a super-duper-curved ball -> +XP
server.addRequestHandler "CatchPokemon", (data) ->
    data.normalized_reticle_size = 1.950
    data.spin_modifier = 0.850
    if data.hit_pokemon
        data.normalized_hit_position = 1.0
    data
# Replace all PokeStops with kittys!
server.addResponseHandler "FortDetails", (data) ->
    data.name = "Pokemon GO MitM PoC"
    data.description = "meow!"
    data.image_urls = ["http://thecatapi.com/api/images/get?format=src&type=png"]
    data
# Send crafted requests directly to the API as a new request - to release a pokemon as example
server.addResponseHandler "GetInventory", (data) ->
    for item in data.inventory_delta.inventory_items
        if item.inventory_item_data and pokemon = item.inventory_item_data.pokemon_data
            server
                .craftRequest "ReleasePokemon", pokemon_id: pokemon.id
                .then (data) ->
                    if data.result is "SUCCESS"
                        console.log "[+] Pokemon #{pokemon.pokemon_id} got released!"
    false


Comment coder ?

Code:
PokemonGoMITM = require './lib/pokemon-go-mitm'
server = new PokemonGoMITM port: 8081
  
# Every throw you hit is a super-duper-curved ball -> +XP
server.addRequestHandler "CatchPokemon", (data) ->
    data.normalized_reticle_size = 1.950
    data.spin_modifier = 0.850
    if data.hit_pokemon
        data.normalized_hit_position = 1.0
    data
# Replace all PokeStops with kittys!
server.addResponseHandler "FortDetails", (data) ->
    data.name = "Pokemon GO MitM PoC"
    data.description = "meow!"
    data.image_urls = ["http://thecatapi.com/api/images/get?format=src&type=png"]
    data
# Send crafted requests directly to the API as a new request - to release a pokemon as example
server.addResponseHandler "GetInventory", (data) ->
    for item in data.inventory_delta.inventory_items
        if item.inventory_item_data and pokemon = item.inventory_item_data.pokemon_data
            server
                .craftRequest "ReleasePokemon", pokemon_id: pokemon.id
                .then (data) ->
                    if data.result is "SUCCESS"
                        console.log "[+] Pokemon #{pokemon.pokemon_id} got released!"
    false



Quel est le statut ? Merci à l'œuvre awesom fait autour de POGOProtos , toutes les demandes et les réponses peuvent être interceptées et modifiées à la volée en maintenant!



Prendre plaisir! Et des tas de remerciements à tous ceux qui ont contribué ici et sur mou !

Source et post d'origine :
J'ai rien compris à comment faire ceci mdr ! Mais merci à toi du partage
 
moi non plus pas trop compris mes je partage l'information si quelqu’un y arrive :) il nous expliquera mieux .
 
J'ai pas bien regarder mais je pense que c'est juste pour s'amuser en offline le délire, les informations étant sauvegardé sur des serveurs (si je ne m'abuse) ça me semble impossible. A confirmer
 
J'ai pas bien regarder mais je pense que c'est juste pour s'amuser en offline le délire, les informations étant sauvegardé sur des serveurs (si je ne m'abuse) ça me semble impossible. A confirmer
Dans une vidéo un mec se battait avec des mewtwo dans des arenes :) ^^ grace à ce mod.
 
sur les vrai serveurs pokémon ou les fake serveurs ?
 
Lol sa sauvegarde pas sur les serveur donc sa serre a rien x)
 
Bah en faites c'est sur les vrais serveurs il msemble c'est du mitm :mmh:
 
oui je pense que sa sauvegarde sur les vrai aussi car c'est un proxy ;)
 
En quoi un proxy pourrait il modifier les données du jeu ? :s
Après je connais pas "MITM" (?) mais vue le budget colossal qu'il y a derrière ça serais chaud que tu puisse simplement envoyer des données vérolés et que le serveur enregistre ça sans broncher :s
 
C'est uniquement visuel si vous voulez savoir ;)
 
je les tester sa ne fonctione pas sur les vrais serveur une fois que vous revenez a la normale tous disparais
 
je les tester sa ne fonctione pas sur les vrais serveur une fois que vous revenez a la normale tous disparais

Oui mais c'est déconseillé de le faire, Niantic peut voir ceux qui utilise où qui ont utilisé les MITM ....
 
Ces un peut comme du RTE, a par qu'il ne lit et ne modifier pas la mémoire mais le trafic des donner entrant et sortant, tous dépend du serveur, s'il est protéger les autre personne ne peuve pas le voir
 
la faille et bloqué t obliger de rétrograde ta version pokemon go pour linstaller
 
la faille et bloqué t obliger de rétrograde ta version pokemon go pour linstaller

Fais pas style de connaitre le reverse engine alors que ty connais rien, appart poster des fake ou des montages c'est tout ce que tu sais faire kikirou . :rgbasket::troll:

le reverse engine fonctionne a toute mise a jour de jeu :)
 
Retour
Haut