Pokemon Go MITM proxy
Pokemon Go MITM Proxy - Intercepts the traffic between your Pokemon Go App and their servers, decodes the protocol and gives you a handy tool to enrich your own game experience by altering the data on the fly.
Take a look at the examples to get started. Feel happily invited to contribute more!
Get protobuf >= 3
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
Setup the CoffeeScript interpreter (optional if using
npm install -g coffee-script
If you are using pokemon-go-xposed, set the custom endpoint to your machines IP (default port it 8082). All done!
Generate a CA MITM certificate
coffee example.logTraffic.coffee) to generate a CA certificate
http://host:8082/ca.crt(or copy the file
Setup your mobile's connection to use your machine as a proxy (default proxy port is 8081)
Android N requires a different certificate format, make sure you download
http://host:8082/ca.crt to your mobile
To let an iPhone or iPad trust the certificate, you might have to save and email
http://host:8082/ca.crt to yourself to open it in the Mail app
On very few systems (Raspberry Pi) the CA certificate has to be generated manually:
openssl genrsa -out .http-mitm-proxy/keys/ca.private.key 2048openssl rsa -in .http-mitm-proxy/keys/ca.private.key -pubout > .http-mitm-proxy/keys/ca.public.keyopenssl req -x509 -new -nodes -key .http-mitm-proxy/keys/ca.private.key -days 1024 -out .http-mitm-proxy/certs/ca.pem -subj "/C=US/ST=Utah/L=Provo/O=PokemonCA/CN=example.com"
If you are unable to log in after installing the certificate on Android, you may have to reboot for apps to see the new CA (#208)
PokemonGoMITM = require './lib/pokemon-go-mitm'server = port: 8081# Replace all PokeStops with kittys!serveraddResponseHandler "FortDetails"data.name = "Pokemon GO MitM PoC"data.description = "meow!"data.image_urls = ""data
Thanks to the awesom work done around POGOProtos, all requests and responses can be intercepted and altered on the fly by now!
Enjoy! And heaps of thanks to everyone who contributed here and on slack!