Modding von clientseitigen Android Anwendungen

Programmier- und Scriptsprachen für alle Systeme.

Moderator: Dreamer

Antworten
Benutzeravatar
nasir
Mod@Cheats
Mod@Cheats
Beiträge: 17
Registriert: 01.01.2024 22:42

Modding von clientseitigen Android Anwendungen

Beitrag von nasir »

Muss mal doof nachfragen, ob sich einer mit Modden von Android Spielen auskennt?

Für ein Usecase mache ich eine Schwachstellenanalyse auf ein Android Spiel. Das Game ist eine Client Anwendung und sendet bei jeder Aktion verschlüsselte Anfragen an den Cloud Dienstleister. Wie der Cloud Dienstleister hier strukturiert ist (sei es ein Loadbalancer mit einem Kubernetes Cluster, Pods mit Backends und noch DB usw.) sei mal dahin gestellt und ist für mich eine reine Blackbox. Ziel ist es, die Client Anwendung so zu nutzen, dass ich einzelne serverseitige DB Einträge nach meinem Wunsch injektiere. Einen Versuch sich über die *.So Dateien heranzutasten ist zwecklos (armv8a Architektur). Es gab in einem Modder Forum jemanden, der das über die Runtime geschafft hatte. Ich kann jetzt anfangen zu spekulieren, was damit gemeint ist (z. B. client Request über Encryption keys entschlüsseln und senden, lib Daten live decompilieren, oder gleich serverseitig debuggen und den DB Zugang holen ?), aber habe keinen blassen schimmer.

Vielleicht weiß einer mehr über modden/injektieren und kann helfen. :)
Benutzeravatar
Dreamer
Mod@Coding
Mod@Coding
Beiträge: 114
Registriert: 23.11.2023 04:44
Wohnort: Ab Feb 13 2024 Offline

Re: Modding von clientseitigen Android Anwendungen

Beitrag von Dreamer »

Weisst du wie verschluesseln? Falls das nur https ist, pack einfach einen https proxy dazwischen.
Wuerde sagen das ist deine beste Chance.
Solang sie nicht ihr cert gepinnt haben, aber das ist arg unwahrscheinlich (und dann was das ihnen als viraschlah reporten kannst)

Java code kannst mit so was wie jdgui schoen anschauen, aber du scheinst ja zu sagen die business logic die du anschauen magst ist im native layer.
Den koenntest zwar ganz normal disassemble, aber das ist halt grauenvoll unpraktisch.

Du kannst auch den java code modfizieren und die app recompilen. Gute Chance dass n bisschen io zumindest durch java gefunnelt werden koennte. (Ist aber auch sehr fummelig - test erstmal den proxy)
Benutzeravatar
nasir
Mod@Cheats
Mod@Cheats
Beiträge: 17
Registriert: 01.01.2024 22:42

Re: Modding von clientseitigen Android Anwendungen

Beitrag von nasir »

Den Ansatz mit den Man in the Middle alias Proxy dazwischen schalten ist verführend. Ich habe mit smuli die apk decompiliert und suche nach einer Möglichkeit die Schlüsseln über einen Android debugger zu entnehmen. Die ganzen Zertifikate sind auch vorhanden, müsste aber weiter analysieren und testen. Ich hoffe, dass die vom Server keinen Sig Checks oä. auf den Clients durchführen, ansonsten würde das Ganze nicht funktionieren.

Das einzige was mich behindert ist die armv8a-Architektur. Das Spiel läuft auf keinem x86_64. Ich brauche einen Android Emulator, der eine armv8a-Architektur unterstützt. :huh: :think:
Benutzeravatar
Dreamer
Mod@Coding
Mod@Coding
Beiträge: 114
Registriert: 23.11.2023 04:44
Wohnort: Ab Feb 13 2024 Offline

Re: Modding von clientseitigen Android Anwendungen

Beitrag von Dreamer »

nasir hat geschrieben: 10.01.2024 21:25 Den Ansatz mit den Man in the Middle alias Proxy dazwischen schalten ist verführend. Ich habe mit smuli die apk decompiliert und suche nach einer Möglichkeit die Schlüsseln über einen Android debugger zu entnehmen. Die ganzen Zertifikate sind auch vorhanden, müsste aber weiter analysieren und testen. Ich hoffe, dass die vom Server keinen Sig Checks oä. auf den Clients durchführen, ansonsten würde das Ganze nicht funktionieren.

Das einzige was mich behindert ist die armv8a-Architektur. Das Spiel läuft auf keinem x86_64. Ich brauche einen Android Emulator, der eine armv8a-Architektur unterstützt. :huh: :think:
Was? Wo hast du die apk denn her?
Normal submitted man ja eine aab zum App Store wo alle Architekturen drin sind, und dann beim download wird die richtige heruntergeladen. Die sollten dir also einfach alle Architekturen zur Verfuegung stellen.
Aber armv8a klingt nach dem normalen arm64-v8a - das benutzen eigentlich die meisten Geraete heute und z.B. der Emulator der mit Android Studio mitkommt sollte das problemlos unterstuetzen. Oder beliebige andere populaere Emulatoren (wie Bluestacks).
x86_64 klingt zugegenermassen nach nem komischen Emulator - echte Android Geraete ja quasi alle arm.

Sig-Checks auf clients hast normal nicht. Das zu implementieren waere grauenvoll und ohne echten Vorteil. Weiss nicht was fuer Zertifikate du da entnehmen willst, aber koennen ja nur die public keys sein, private key vom signen waere ja nicht in der apk. Aber wie gesagt, sollte kein Problem sein.
Antworten