[GESCHLOSSEN - OT] SMALI - Wie überprüfe ich eine Switchpreference in smali?

Status
Für weitere Antworten geschlossen.
SM-T110 UND GT-I9300

SM-T110 UND GT-I9300

Fortgeschrittenes Mitglied
17
Hallo! Ich hab mich mal damit befasst smali zu lernen. Hab auch schon ein paar dinge gelernt. Ich möchte wissen, wie ich eine SwitchPreference in einer Smali ".method' überprüfen und falls die Switchpreference auf "EIN" ist soll etwas gemacht werden was positiv ist (also true) und wenn dise SwitchPreference aus ist soll abgebrochen, also False rauskommen. Wie mache ich das?

meine Switchpreference:

android:title="Enable TextView"
android:key="textview_visibility


Das ganze soll in einer .method geschehen...


Danke!
 
Selbst smali zu schreiben ist schon sehr speziell. Ich kann es halbwegs lesen, da ich beruflich mit decompilierten Apps zu tun habe, aber geschrieben habe ich es noch nicht.
Hast du mal probiert eine einfache Methode dazu in Java zu schreiben und dir den generierten smali Code anzuschauen? Das wäre jetzt mal meine Herangehensweise.
 
schon wieder so ein decompile Ding von Dir ...

Ich beobachte das mal hier
 
deek schrieb:
Selbst smali zu schreiben ist schon sehr speziell. Ich kann es halbwegs lesen, da ich beruflich mit decompilierten Apps zu tun habe, aber geschrieben habe ich es noch nicht.
Hast du mal probiert eine einfache Methode dazu in Java zu schreiben und dir den generierten smali Code anzuschauen? Das wäre jetzt mal meine Herangehensweise.
Habe mich die tage mit Smali beschäftigt und habe auch eigentlich nur 1 gelernt:

Wenn ich eine Methode habe bei der etwas überprüft wird, und wenn das nicht da ist (z.B ein eintrag in features.xml) dann wird es auf False gesetzt. Und wenn es aber trzdem true sein soll und z.B eine Option durch die methode aktiviert werden soll kann man einfach schreiben:

Code:
.method showtext()Z
.locals 1
const/4 v0, 0x1
return v0
.end method

dabei entspricht 0x1=true und wird somit auf true "returned". Aber ich will mehr lernen. Im Internet ist alles so kompliziert geschrieben.

Und ich brauche hilfe dabei, wie ich in einer .method eine Switchpreference uberprüfe, ohne, dass es eine zusatzliche Smali datei gibt.

Ich habe also nur den "android:key" und anhand dieses "keys" möchte ich in smali in nur 1 methode die switchpreference überpfrüfen und falls diese auf EIN steht soll etwas positives geschehen und falls dieser auf AUS steht, soll auf false "returned" werden...
 
smali ist ein Assembler für Davlik Virtual Maschine. Und Assembler sind kompliziert, weil du fast jeden Befehl für die Maschine ausformulieren muss. Java, C, C++ usw nehmen dir extrem viel Programmierarbeit ab.
Ich habe mal im Netz gegoogelt, und nicht viel gefunden, was mich aber nicht wundert, da die meisten, die smali benutzen, Assembler schon können, und den Rest kann man sich zu Not herleiten.

Ich glaube, dieser Weg bringt Dich auch nicht zum Ziel. Insbesondere, wenn du die App decompiliert haben solltest. Warum programmierst du nicht einfach die App nach, das geht höchst wahrscheinlich schneller.
 
  • Danke
Reaktionen: Kardroid und swa00
Ich glaube, dieser Weg bringt Dich auch nicht zum Ziel. Insbesondere, wenn du die App decompiliert haben solltest. Warum programmierst du nicht einfach die App nach, das geht höchst wahrscheinlich schneller.


Ich denke, dazu ist jetzt alles sehr treffend gesagt .
 
Zuletzt bearbeitet:
Status
Für weitere Antworten geschlossen.

Ähnliche Themen

OnkelLon
Antworten
13
Aufrufe
1.986
OnkelLon
OnkelLon
L
Antworten
15
Aufrufe
909
jogimuc
J
M
Antworten
3
Aufrufe
168
moin
M
Zurück
Oben Unten