Pokemon GO ist endlich in Japan gestartet: tada:
Übersee [Reverse Engineering] pokemongo-android-re, [Interne API kneten] pokemongo-map, Scheint zu spielen
Vielleicht hat GitHub deshalb ein Repository, das sich auf Pokemon GO bezieht.
... Ich habe keine andere Wahl, als damit herumzuspielen!
In Ordung ** Machen wir einen Twitter-Bot, der Pokemon murmelt, das von Pokemon GO gefangen wurde: Ausruf :: Ausruf: **
Ich habe es mit meinen Gedanken geschafft
** Bitte versuchen Sie es auf eigenes Risiko **
3846masa/Tweet-PokemonGO-Journal
Ich werde den Code, den ich geschrieben habe, auf GitHub setzen
https://github.com/3846masa/Tweet-PokemonGO-Journal
Wenn Sie es bewegen, sieht es so aus
https://twitter.com/EBAGmasa_pokego
tejado/pgoapi
Es gab verschiedene bibliotheksähnliche Dinge, die die API treffen konnten. Irgendwie habe ich [tejado / pgoapi] gewählt
Sogar Dockerfile ist vorbereitet, so dass Sie leicht spielen können
Wenn Sie ein Pokémon fangen, wird es in der Bouken Note (englischer Name: Journal) aufgezeichnet. Mit anderen Worten, es scheint, dass Sie nur die Daten von ** Boken Note ** abrufen müssen.
Leider gab es in tejado / pgoapi kein Journalbeispiel
Bei der Suche nach Funktionen habe ich [pgoapi.py # L107-L127] gefunden.
def __getattr__(self, func):
def function(**kwargs):
if not self._req_method_list:
self.log.info('Create new request...')
name = func.upper()
if kwargs:
self._req_method_list.append( { RequestType.Value(name): kwargs } )
self.log.info("Adding '%s' to RPC request including arguments", name)
self.log.debug("Arguments of '%s': \n\r%s", name, kwargs)
else:
self._req_method_list.append( RequestType.Value(name) )
self.log.info("Adding '%s' to RPC request", name)
return self
if func.upper() in RequestType.keys():
return function
else:
raise AttributeError
Wenn Sie RequestType.Value
folgen,
Sie erreichen [AeonLucid / POGOProtos --RequestType.proto]
Die Pokemon GO-Kommunikation scheint [Protokollpuffer] zu verwenden.
Lassen Sie uns ein Paket erfassen, um zu sehen, welche Art von Daten tatsächlich fließen
Für die Android-Paketerfassung habe ich auf [hier] [Android-Paket] verwiesen.
Als ich es aufgenommen habe, sah es so aus
Wenn Sie es irgendwie betrachten, werden Sie an der Nummer "801" interessiert sein.
Wenn Sie nach [AeonLucid / POGOProtos --RequestType.proto] suchen, Es scheint "SFIDA_ACTION_LOG" zu sein
Wenn Sie es mit dem Code von tejado / pgoapi vergleichen,
Ich denke, ich kann etwas mit api.sfida_action_log ()
bekommen
(Übrigens, POGOProtos in tejado / pgoapi ist im Moment alt, also lasst es uns ersetzen.)
api.sfida_action_log()
Das Ausführungsergebnis sieht so aus
{
'api_url': ...,
'auth_ticket': { ... },
'request_id': ...,
'responses': {
'SFIDA_ACTION_LOG': {
'log_entries': [{
'catch_pokemon': {
'combat_points': 156,
'pokemon_id': 114,
'result': 1
},
'timestamp_ms': 1469169999498
}, {
'fort_search': {
'items': [{
'count': 3,
'item_id': 1
}],
'result': 1
},
'timestamp_ms': 1469233607913
}],
'result': 1
}
},
'status_code': 2
}
Wahrscheinlich ist fort_search
die Pocket Stop Information,
catch_pokemon
ist wahrscheinlich die erfasste Pokemon-Information
Alles was Sie tun müssen, ist einen Twitter-Bot mit Zackri zu erstellen: Muskel:
Diese privaten APIs haben einen starken Eindruck von Manipulationen am Spiel. Ich habe das Gefühl, dass ich im Bereich der Protokollierung etwas Interessantes tun kann.
Natürlich ** Den Server nicht belasten: no_entry_sign: Aber ** Ist es nicht besser, einfach damit herumzuspielen?
Recommended Posts