Hacking mit C# (Pokemon GO)

07/02/2020 14:44 loqumlike06#1
Servus,

Undzwar bin ich extrem begeistert vom Programmieren. Mache das jetzt etwa seit 2 Jahren aber eigentlich eher nebenbei. Ich programmiere mit C#. So meine Frage nun ist, ob es möglich ist ein Hack für Pokemon GO zu programmieren. Undzwar nicht so n gelaber wie Münzen oder sowas, sondern nur ein programm bei welchem man im prinzip nur daten aus dem System lesen muss und dann das eigene Touchscreen programmieren muss.

Undzwar gibt es in PokeGO ja den Großen Ring, welcher nicht kleiner wird. Dann natürlich den inneren Kreis, welcher kleiner und größer wird.
Und je kleiner der Ring ist, desto höher die Wahrscheinlichkeit, das Pokemon zu fangen. Da gibts dann noch die curveballs, welche die Wahrscheinlichkeit nochmal erhöhen. Wenn man genau die Mitte des kleinen Kreises trifft, dann ist die Wahrscheinlichkeit nochmal höher. Und nun gibts da nen trick, um genau die Mitte des variablen Kreises zu treffen. Dazu denkt man sich eine Linie vom Pokeball aus zum äußeren unbeweglichen Kreis. Nach dem man den Ball zum spinnen gebracht hat, kann man nun den Ball über die gedachte Linie zum Kreis ziehen und genau auf ebene des Mittelpunktes loslassen. So sollte der Ball jedesmal exakt die Mitte treffen.

Natürlich gibt es leute, denen ist es einfach ins Blut übergegangen und die schaffen immer perfekte Curveballs. Ich bin da eher untalentiert. Und wer das schon gespielt hat, weiß wie bitter es sein kann, wenn man mal den Raidboss nicht fangen kann. Und es ist umso ärgerlicher, wenn man anhand der WP feststellt, dass es ein 100er Boss ist... ich spreche aus Erfahrung. Ich war kurz davor, mein Handy zu zertrümmern (glücklicherweise hat mein Verstand gesiegt).

Naja wie dem aus sei. Ist es möglich, so ein Programm zu schreiben, bei dem man auch die nötigen Daten (Kreisdurchmesser, Pokeball standort, Kreismittelpunkt sowie der Schnittpunkt der Linie mit der Vertikalen Linie, welche durch den Mittelpunkt geht) aus der App heraus einlesen kann? Oder eventuell nur erkennen wo der Kreis sich befindet und mit einem Button, zum selber entscheiden, in welchem Moment geworfen werden soll.

Und glaubt mir, es ist nicht nur die Frust, die mich antreibt ein solches Programm entwickeln (verwenden) zu wollen, sondern auch wirklich die Neugier und der Spaß daran, sowas zu entwickeln.

Ich danke euch schon mal im Voraus.

Aso und bisher habe ich keinerlei Erfahrung mit so etwas.
07/02/2020 14:51 Legendary#2
#moved
07/02/2020 16:57 loqumlike06#3
Warum hast du es in NET languages verschoben? Ich kenne die Sprache nicht und möchte es daher mit C# programmieren. Oder ist es ausgeschlossen, mit C# Hacks für
Smartpohne apps zu programmieren?
07/02/2020 21:21 ComputerBaer#4
Quote:
Originally Posted by loqumlike06 View Post
Warum hast du es in NET languages verschoben? Ich kenne die Sprache nicht und möchte es daher mit C# programmieren.
Weil C# eine .NET Sprache und die andere Sektion für C und C++ ist, also nicht C#.

Zu .NET gehören das .NET Framework, Mono (Xamarin) und .NET Core. Zusammen mit den Sprachen C#, VB.NET, F#, C++/CLI. Sowie unzählige weitere, für die von der Community eine Unterstützung entwickelt wurde.

Quote:
Originally Posted by loqumlike06 View Post
Oder ist es ausgeschlossen, mit C# Hacks für Smartpohne apps zu programmieren?
Da kenne ich mich nicht aus, aber soweit ich weiß sind die Smartphone Betriebssysteme deutlich stärker darauf bedacht die einzelnen Apps voneinander abzuschirmen. Ich weiß also nicht wie gut sich da ein Hack programmieren lässt, ohne tiefer ins System eingreifen zu müssen. Aber das kann hier vielleicht jemand beantworten, der damit schon Erfahrung gemacht hat.
07/02/2020 21:32 loqumlike06#5
Quote:
Aber das kann hier vielleicht jemand beantworten, der damit schon Erfahrung gemacht hat.
wie lange dauert es üblicherweise, bis man auf solche Fragen ne Antwort erhält?
07/02/2020 22:04 Legendary#6
Quote:
Originally Posted by loqumlike06 View Post
wie lange dauert es üblicherweise, bis man auf solche Fragen ne Antwort erhält?
Kommt darauf an wieviel Interesse andere Benutzer hier im Forum haben. Grundsätzlich ist es möglich einen Hack mit C# zu entwickeln.
Aber ich würde dir nicht empfehlen einen Hack für dein Smartphone zu entwickeln sondern die Aktionen zu simulieren. Hierzu findet man schon einige Sachen im Internet.
07/03/2020 02:58 elmarcia#7
Quote:
Originally Posted by loqumlike06 View Post
Servus,

Undzwar bin ich extrem begeistert vom Programmieren. Mache das jetzt etwa seit 2 Jahren aber eigentlich eher nebenbei. Ich programmiere mit C#. So meine Frage nun ist, ob es möglich ist ein Hack für Pokemon GO zu programmieren. Undzwar nicht so n gelaber wie Münzen oder sowas, sondern nur ein programm bei welchem man im prinzip nur daten aus dem System lesen muss und dann das eigene Touchscreen programmieren muss.

Undzwar gibt es in PokeGO ja den Großen Ring, welcher nicht kleiner wird. Dann natürlich den inneren Kreis, welcher kleiner und größer wird.
Und je kleiner der Ring ist, desto höher die Wahrscheinlichkeit, das Pokemon zu fangen. Da gibts dann noch die curveballs, welche die Wahrscheinlichkeit nochmal erhöhen. Wenn man genau die Mitte des kleinen Kreises trifft, dann ist die Wahrscheinlichkeit nochmal höher. Und nun gibts da nen trick, um genau die Mitte des variablen Kreises zu treffen. Dazu denkt man sich eine Linie vom Pokeball aus zum äußeren unbeweglichen Kreis. Nach dem man den Ball zum spinnen gebracht hat, kann man nun den Ball über die gedachte Linie zum Kreis ziehen und genau auf ebene des Mittelpunktes loslassen. So sollte der Ball jedesmal exakt die Mitte treffen.

Natürlich gibt es leute, denen ist es einfach ins Blut übergegangen und die schaffen immer perfekte Curveballs. Ich bin da eher untalentiert. Und wer das schon gespielt hat, weiß wie bitter es sein kann, wenn man mal den Raidboss nicht fangen kann. Und es ist umso ärgerlicher, wenn man anhand der WP feststellt, dass es ein 100er Boss ist... ich spreche aus Erfahrung. Ich war kurz davor, mein Handy zu zertrümmern (glücklicherweise hat mein Verstand gesiegt).

Naja wie dem aus sei. Ist es möglich, so ein Programm zu schreiben, bei dem man auch die nötigen Daten (Kreisdurchmesser, Pokeball standort, Kreismittelpunkt sowie der Schnittpunkt der Linie mit der Vertikalen Linie, welche durch den Mittelpunkt geht) aus der App heraus einlesen kann? Oder eventuell nur erkennen wo der Kreis sich befindet und mit einem Button, zum selber entscheiden, in welchem Moment geworfen werden soll.

Und glaubt mir, es ist nicht nur die Frust, die mich antreibt ein solches Programm entwickeln (verwenden) zu wollen, sondern auch wirklich die Neugier und der Spaß daran, sowas zu entwickeln.

Ich danke euch schon mal im Voraus.

Aso und bisher habe ich keinerlei Erfahrung mit so etwas.
I don't think it even matter circle radius and curve ball launch since it may be handled all in the client side, and the thing that matters is what the game sents back to the server, for example:
{throwpokeball:{curveball:1,launchType:'perfect'}} or sth like this of course, will be really silly to emulate that many variables in backend.

You need to reverse communication protocol between apk and backend

Steps:
1- Bypass ssl encryption: ordered from easiest to hardest

a) Game packets work in plain http:
-Some games don't use ssl but encrypt data anyway, go to step 2.
b) Game uses ssl:
-Use mitmproxy to decode communication flow. ([Only registered and activated users can see links. Click Here To Register...])
c) Game uses ssl and ssl pinning:
-bypass ssl pinning: ()
-go to step 1.b

2 - Decrypt/Reverse communication protocol
This step is the hardest, it requires reverse enginiering skills.
a- Decompile apk: [Only registered and activated users can see links. Click Here To Register...]
b- Decompile jar: [Only registered and activated users can see links. Click Here To Register...]
c- I think its made in unity so, step 2b is optional, just to take a look if step 1c is needed.


The lazy and smart way: [Only registered and activated users can see links. Click Here To Register...]