Взламываем Pokemon Go: как нафармить 12k опыта за ночь

Pokemon Go сейчас очень популярна. Для получения 20 уровня игрокам приходится немало попотеть (причём зачастую и в прямом смысле). Поэтому один игрок, программист по профессии, разработал алгоритм фарма покестопов. 

В первую очередь нужно установить игру на компьютер. В этой статье описывается процесс эмуляции телефона, подделки GPS-сигнала и запуска игры. Автор выставил в качестве своего местоположения Центральный Парк Нью-Йорка и стометровый радиус поиска, т.е. игрок будет рандомно перемещаться в радиусе 100 метров. После этого был произведен анализ с помощью Matlab.

Используя скриншоты игры, автор выяснил, что цвет покестопов сильно отличается от всего остального, поэтому путём фильтрации цветов он получил их точные местоположения. Дальше он использовал Java-пакет для настройки управления мышью, запрограммировав все движения и нажатия. Получился следующий цикл:

  1. Получить изображение с экрана;
  2. Идентифицировать положение покестопа;
  3. Нажать на него;
  4. Подождать 1 секунду;
  5. Провести по экрану;
  6. Подождать 1 секунду;
  7. Нажать кнопку выхода из покестопа;
  8. Подождать 1 секунду;
  9. Сменить вид, проведя по экрану;
  10. Вернуться к шагу 1.

Также были учтены возможные проблемы наподобие остановки игры, упавших серверов и т.п. Средняя производительность этого хака равна 1 покестопу в минуту, что примерно равно 12 тысячам опыта за 8 часов. Программа выкачала аккаунт с 1 до 20 уровня за 4–5 дней. Ниже приведено видео, в котором настраивается программа:

Для получения исходного кода программы пишите автору: banmeihack@gmail.com.

Источник: Hiding in Plain Sight