Aufruf einer verdächtigen Methode nicht auffindbar

  • 6 Antworten
  • Neuester Beitrag
Diskutiere Aufruf einer verdächtigen Methode nicht auffindbar im Android App Entwicklung im Bereich Betriebssysteme & Apps.
P

ppp

Neues Mitglied
Hallo,
ich habe eine App als apk bekomme, die ich mir näher angeguckt habe, u.a. mit jadx-gui. Es handelt sich um eine Spiele App, die laut der Manifestdatei ungewöhnlich viele Permissions hat. Habe das Spiele auf einem Testphone installiert und gespielt. Die angeforderten Permissions sind für das Spiel überhaupt nicht berechtigt. Habe in dem Code eine Klasse mit der folgenden verdächtigen Methode gefunden:
Java:
public void Do()
{
...
String deviceId = ((TelephonyManager) this.a.getSystemService("phone")).getDeviceId();
...
a.add(new BasicNameValuePair(new String("imei"), deviceId)); // a ist eine ArrayListe
...

try {
            httpPost.setEntity(new UrlEncodedFormEntity(a));
        } catch (UnsupportedEncodingException e) {
...
Methode sammelt sensible Daten und verschickt sie per http.
Ich sehe aber nicht, dass diese Klasse mit dieser Methode aufgerufen wird. Habe nach dem Namen der Methode gesucht, aber nichts gefunden. Gibt es Möglichkeiten diese Methode aufzurufen ohne dass ich das in der jadx-gui sehe?
Andernfalls frage ich mich wieso diese Methode implementiert wurde, wenn sie nie benutzt wird.
Ist die Tatsache, dass so eine Methode(unabhängig, ob sie benutzt wird oder nicht) in der apk drin ist + die unnötigen Permissions verdächtig?
Ich bin kein Entwickler von Android Apps. Entwickle andere Sachen in anderen Programmiersprachen.
 
Empfohlene Antwort(en)
swa00

swa00

Moderator
Teammitglied
Dann fragt die App auch die Permissions an und die Funktion hätte wieder einen Sinn.

Ja , natürlich kann sie verwendet werden - du siehst schon alleine , dass der Decompiler in der Deklaration die
Funktion trivial als "Do" benannt hat .
An der Stelle , wo sie aufgerufen wird , kann ein anderer Name verwendet sein.
Einsprungsadressen im Binary werden willkürlich benannt, das kommt auf das verwendete Tool an.

P.S Ich denke, das dürfte an dieser Stelle zum Thema auch genügen, ich möchte auch hier keine Ausnahme machen :)
 
Zuletzt bearbeitet:
Alle Antworten (6)
swa00

swa00

Moderator
Teammitglied
Hallo ppp,

eingangs erlaube ich mir , höflichst darauf hinzuweisen , dass das decomplieren von Apps leider unzulässig ist.
I.d.R. gibt es auch deshalb hier keinen Support in dieser Richtung :)

Grundsätzlich :
Das decomplieren von Biniaries ist eher unbrauchbar, weshalb es durchaus sein kann , dass deine Suche
erfolglos war , auch wenn die deklarierte Funktion verwendet wurde.
Wenn in der Manifest nicht READ_PHONE_STATE als Permission angefragt ist, dann macht auch deine Schleife
oben eh keinen Sinn.
Da müsstest du schon den Entwickler fragen , warum er ein Array durch die Gegend schicken "wollte" :)
 
Zuletzt bearbeitet:
P

ppp

Neues Mitglied
OK. Danke. Also es kann sein, dass diese Methode aufgerufen wird, obwohl ich diesen Aufruf im Decompiler nicht sehe.

In der Manifest-Datei ist die Permission angegeben.

XML:
...
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
...
 
swa00

swa00

Moderator
Teammitglied
Dann fragt die App auch die Permissions an und die Funktion hätte wieder einen Sinn.

Ja , natürlich kann sie verwendet werden - du siehst schon alleine , dass der Decompiler in der Deklaration die
Funktion trivial als "Do" benannt hat .
An der Stelle , wo sie aufgerufen wird , kann ein anderer Name verwendet sein.
Einsprungsadressen im Binary werden willkürlich benannt, das kommt auf das verwendete Tool an.

P.S Ich denke, das dürfte an dieser Stelle zum Thema auch genügen, ich möchte auch hier keine Ausnahme machen :)
 
Zuletzt bearbeitet:
P

ppp

Neues Mitglied
Ja, die Permission READ_PHONE_STATE und viele weitere wurden abgefragt, wenn ich die App zum ersten mal starte. Das hat mich stutzig gemacht. Es ist ein simples Spiel und es braucht so viele Permissions? Deswegen habe ich da mal näher reingeguckt.
 
Zuletzt bearbeitet:
swa00

swa00

Moderator
Teammitglied
Na da möchte Einer eindeutig die IMEI haben :)
 
P

ppp

Neues Mitglied
Nicht nur die IMEI...