All Projects → rastapasta → Pokemon Go Mitm

rastapasta / Pokemon Go Mitm

Licence: mit
🎁 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 on the fly.

Programming Languages

javascript
184084 projects - #8 most used programming language
coffeescript
4710 projects

Projects that are alternatives of or similar to Pokemon Go Mitm

mps
MPS is a high-performance HTTP(S) proxy library that supports forward proxies, reverse proxies, man-in-the-middle proxies, tunnel proxies, Websocket proxies. MPS 是一个高性能HTTP(s)中间代理库,它支持正向代理、反向代理、中间人代理、隧道代理、Websocket代理
Stars: ✭ 64 (-86.53%)
Mutual labels:  mitm, man-in-the-middle, mitmproxy
mitm-play
Man in the middle using Playwright
Stars: ✭ 13 (-97.26%)
Mutual labels:  mitm, man-in-the-middle, mitmproxy
Proxy.py
⚡⚡⚡Fast, Lightweight, Pluggable, TLS interception capable proxy server focused on Network monitoring, controls & Application development, testing, debugging
Stars: ✭ 1,291 (+171.79%)
Mutual labels:  mitm, mitmproxy, man-in-the-middle
Wilma
Service Virtualization Solution – a combined Service Stub and Transparent Proxy
Stars: ✭ 50 (-89.47%)
Mutual labels:  mitm, mitmproxy
Striptls
proxy poc implementation of STARTTLS stripping attacks
Stars: ✭ 163 (-65.68%)
Mutual labels:  mitm, man-in-the-middle
Bettercap
DEPRECATED, bettercap developement moved here: https://github.com/bettercap/bettercap
Stars: ✭ 2,518 (+430.11%)
Mutual labels:  mitm, man-in-the-middle
Houki
🧹 Customizable MitM proxy / 可定制化的中间人代理
Stars: ✭ 28 (-94.11%)
Mutual labels:  mitm, mitmproxy
ESP-Bug
ESP8266 based WiFi implant to remotely track the presence of certain people or devices via a simple web interface
Stars: ✭ 78 (-83.58%)
Mutual labels:  mitm, man-in-the-middle
PassivesScan
《被动扫描资源汇总》
Stars: ✭ 27 (-94.32%)
Mutual labels:  mitm, mitmproxy
Wifi Pumpkin Deprecated
DEPRECATED, wifipumpkin3 -> https://github.com/P0cL4bs/wifipumpkin3
Stars: ✭ 2,964 (+524%)
Mutual labels:  mitm, man-in-the-middle
Wirespy
Framework designed to automate various wireless networks attacks (the project was presented on Pentester Academy TV's toolbox in 2017).
Stars: ✭ 293 (-38.32%)
Mutual labels:  mitm, man-in-the-middle
Secret Agent
The web browser that's built for scraping.
Stars: ✭ 151 (-68.21%)
Mutual labels:  mitm, mitmproxy
Copycat
Universal MITM web server
Stars: ✭ 99 (-79.16%)
Mutual labels:  mitm, man-in-the-middle
man-in-the-middle
Modify requests, inject JavaScript and CSS into pages
Stars: ✭ 74 (-84.42%)
Mutual labels:  mitm, man-in-the-middle
Ssh Mitm
SSH man-in-the-middle tool
Stars: ✭ 1,328 (+179.58%)
Mutual labels:  mitm, man-in-the-middle
Ssh Mitm
ssh mitm server for security audits supporting public key authentication, session hijacking and file manipulation
Stars: ✭ 335 (-29.47%)
Mutual labels:  mitm, mitmproxy
Go Mitmproxy
mitmproxy implemented with golang. 用 Golang 实现的中间人攻击(Man-in-the-middle),解析、监测、篡改 HTTP/HTTPS 流量。
Stars: ✭ 61 (-87.16%)
Mutual labels:  mitm, mitmproxy
Proxify
Swiss Army knife Proxy tool for HTTP/HTTPS traffic capture, manipulation, and replay on the go.
Stars: ✭ 1,153 (+142.74%)
Mutual labels:  mitm, mitmproxy
httransform
A framework to build precise and fast HTTP proxies.
Stars: ✭ 54 (-88.63%)
Mutual labels:  mitm, mitmproxy
Mitmf
Framework for Man-In-The-Middle attacks
Stars: ✭ 3,277 (+589.89%)
Mutual labels:  mitm, man-in-the-middle

pokemon-go-mitm-node

pokemon npm version dependencies license

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!

How to use it?

Setting up the server

  • 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 (optional if using npm scripts) npm install -g coffee-script

Setting up your device

Prepare your phone to accept the MITM certificate

Using Xposed on Android

If you are using pokemon-go-xposed, set the custom endpoint to your machines IP (default port it 8082). All done!

Using iOS or Android without Xposed

  • Generate a CA MITM certificate

    • Run npm start (or coffee example.logTraffic.coffee) to generate a CA certificate
    • Download the generated certificate from the started server via http://host:8082/ca.crt (or copy the file .http-mitm-proxy/certs/ca.pem)
    • Add the certificate to the "trusted certificates" of your mobile (for "VPN and apps" on Android)
  • Setup your mobile's connection to use your machine as a proxy (default proxy port is 8081)

  • Done!

Troubleshooting

  • 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 2048
    openssl rsa -in .http-mitm-proxy/keys/ca.private.key -pubout > .http-mitm-proxy/keys/ca.public.key
    openssl 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)

How to code it?

PokemonGoMITM = require 'pokemon-go-mitm'
server = new PokemonGoMITM port: 8081

# 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

What's the status?

Thanks to the awesom work done around POGOProtos, all requests and responses can be intercepted and altered on the fly by now!

  • 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

Enjoy! And heaps of thanks to everyone who contributed here and on slack!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].