Snorlax
This module acts as a man in the middle on Pokémon Go's communications with the server, and allows us to add extra features to the game.
- It does not require your account or any information about you.
- It does not communicate with the server at any time, so it's pretty safe against detection.
- It only require the right to read external storage (no network usage, ...)
Features:
- Prevent PokemonGo from detecting GPS is being spoofed (similar to Mock Mock Locations)
- Replace pokemons name with custom formats (details) :
- Show pokemon stats as a system notification when you encounter them :
- Show catch results (Success, Missed, Flee) as soon as you throw your pokeball
- Show lure's remaining time
- Show notification when a pokemon is ejected from a Gym :
- Show a notification when it's time to collect your defender bonus :
Dev features:
- Broadcast Intent with nearby pokemon informations
- Log network traffic (use Protobuf's
protoc
to decode it) - Track and notify update of the GAME_MASTER file
For users:
Installation requirements
- Android (4.4 or +, Nougat is not supported for the moment)
- Your device must be rooted
- Xposed framekwork must be installed. You can download it here.
- You need to hide Xposed and root to Pokemon Go to be able to play. It's the hard part and it's different for every devices, so Google is your friend. It can be done with tools like suhide, root switch, ...
Installation
- From the Xposed installer, look for the Snorlax Reloaded module
- OR manually install the latest APK
For devs:
Libraries and tools
- Android's support libraries
- Reactive extensions: RxJava, RxAndroid, RxBinding and RxRelay
- Dependency injector: Dagger 2
- Android's views binding: Butterknife
- Logging utility: Timber
- Generated immutable value classes: AutoValue
- Xposed framework
- Protobuf
Build requirements
- JDK 1.8
- Android SDK
- Android N (API 24)
- Latest Android SDK Tools and build tools
- Lombok plugin for Android Studio / IntelliJ IDEA
- Your device must be rooted and the xposed framekwork must be installed. You can download it here.
Build source
Clone the repository (you must have Git installed)
git clone --recursive https://github.com/alucas/Snorlax.git; cd Snorlax
Build
.\gradlew build
To build a release APK
.\gradlew assembleRelease
To install directly to the phone connected via ADB
.\gradlew installRelease
Contributing
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Useful information about your new features'
- Push to the branch:
git push origin my-new-feature
Epilogue:
Special thanks
Snorlax would not have been possible without:
- chuparCh0pper for his awesome module which Snorlax is inspired on
- ELynx for the method to MITM PokemonGo communications, check his repo too
- And last but not least, AeonLucid for the PokemonGo's protos
Donation
I hope you are liking Snorlax!
If you do, you can support this project to keep coming with new features by buying me a cup of coffee (so i can code by night) or a BigMac at McDonalds. Click the link below and thanks you!
Donate (igoticecream) - Original dev (no longer active)
License
Copyright (c) 2016. Pedro Diaz <igoticecream@gmail.com>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.