Jetzt kostenlos registrieren. Mitglieder surfen ohne Werbung auf Android-Hilfe.de!
Zurück   Android-Hilfe.de > Google Android OS > Android Allgemein

Autostarts/Berechtugungen einer App entfernen (apktool)

Das Thema "Autostarts/Berechtugungen einer App entfernen (apktool)" befindet sich unter Android Allgemein auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 02.02.2012, 12:32   #1 (permalink)
Fortgeschrittenes Mitglied

Modell: Samsung Galaxy S und Galaxy 5

Registriert seit: 31.03.2011
Beiträge: 480
Abgegebene Danke: 35
Erhielt 89 Danke für 73 Beiträge
Standard Autostarts/Berechtigungen einer App entfernen (apktool)

Hier eine kurze Anleitung, wie man mit dem apktool Apps ein wenig verändern kann, z.B. um sich unerwünschter Autostarts zu entledigen.

Was wird benötigt?
- apktool (android-apktool - A tool for reengineering Android apk files - Google Project Hosting)
- texteditor (ich benutze in Linux vim, ich glaube in Windows tuts das Notepad)
- keystore mit gültigem Zertifikat (erstellbar mit keytool)
- jarsigner


Die Schritte:

0. Lizenz prüfen
Sollte eigentlich selbstverständlich sein, dass ihr bevor Ihr Änderungen an einer App vornehmt prüft, ob es die Lizenzbedingungen der App auch hergeben, an ihr Änderungen vor zu nehmen.

1. Enpacken des .apk files

Zuerst ist es nötig, das .apk file zu entpacken, damit man es editieren kann. Hierzu dient das apktool:
Code:
apktool d [apk-Filename]
2. Editieren der AndroidManifest.xml

Im entpackten Verzeichnis liegt nun die AndroidManifest Datei, die regelt, wie eine App ins System eingebunden ist. Diese kann man nun mit einem Texteditor - der keine Steuerzeichen für die Schriftgröße oder ähnliches setzt - editieren.

Interessant ist es <receiver> Elemente zu editieren. Aus ihnen kann man <intent-filter> -child nodes entfernen. Dabei ist zu beachten, dass man sie vom öffnen bis einschließlich dem Schließen (mit </intent-filter>) des Elements alles löscht. Eigentlich interessieren nur "broadcasts" also quasi Ergnisse, die vom System gesendet werden (wo der Name der Action des Intentfilters mit com.android beginnt). Denkbar wäre noch, dass eine App von einer anderen laufenden gestartet wird, dann muss man genauer kucken. Löscht man zu viel kann man zerstören, dass die App eigene Ereignisse korrekt verarbeitet.

Manche mögen sich auch für die Berechtigungen Interessieren. Diese kann man dadurch entziehen, dass man die <uses-permissions> Elemente entfernt.
Achtung, wenn eine App im Code eine Berechtigung benutzt, die sie nicht (mehr) hat, fliegt ein Fehler. Wird dieser nicht von der App behandelt stürtzt sie unvermittelt ab. Aber auch wenn die App nicht abstürzt kann sie evtl. gewünschte oder essentielle Funktionen nicht durchführen oder läuft Fehlerhaft.


Nachdem das Manifest geändert wurde (Achtung, muss immernoch valide sein, also sorgfältig arbeiten) kann man sich jetzt wieder ein neues .apk file basteln:

3. Erstellen eines neuen .apk files
Mit dem apktool kann sich nun folgendermaßen ein neues .apk bauen:

Code:
apktool b [verzeichnisname des entpackten .apk files] [neuerName.apk]
Eine solches apk kann man in Android nicht installieren. Android läßt nur signierte files zur Installation zu. Daher muss man noch schnell signieren:

4. Signieren der App
Mit
Code:
jarsigner -keystore [keystoreName] [neuerName.apk] [SignaturinhaberName im Keystore]
Dieses File kann man nun installieren, wenn die App nicht bereits mit anderem Zertifikat installiert ist (wenn sie installiert war also erst deinstallieren) oder wenn sie einen User-namen hat, mit dem ein anderes Zertifikat verbunden ist (dann entsprechende Apps deinstallieren).

5. App Installieren
Einfach das neue .apk file aufs Telefon kopieren und mit einem Dateibrowser ausführen.

Viel Spaß beim Ausprobieren.

Geändert von JanF (12.03.2012 um 19:46 Uhr) Grund: Titel korrigiert
JanF ist offline   Mit Zitat antworten
Folgende Benutzer bedanken sich bei JanF für diesen Beitrag:
andrand (12.04.2012), Eneco (03.02.2012), Livi (02.02.2012), Spider1996 (02.02.2012)
Alt 02.02.2012, 18:02   #2 (permalink)
Android-Hilfe.de Mitglied

Registriert seit: 02.12.2011
Beiträge: 69
Abgegebene Danke: 10
Erhielt 19 Danke für 15 Beiträge
Daumen hoch AW: Autostarts/Berechtugungen einer App entfernen (apktool)

Das klingt gut.

Vielleicht noch an dieser Stelle eine ähnliche Ergänzung:

http://blog.widp.de/medien/android-a...-einschraenken
Livi ist offline   Mit Zitat antworten
Alt 08.02.2012, 14:09   #3 (permalink)
Fortgeschrittenes Mitglied

Modell: Samsung Galaxy S und Galaxy 5

Registriert seit: 31.03.2011
Beiträge: 480
Abgegebene Danke: 35
Erhielt 89 Danke für 73 Beiträge
Standard AW: Autostarts/Berechtugungen einer App entfernen (apktool)

In einem anderen Thread ist mir bewußt geworden, dass man evtl. eine klitzekleine Sicherheitslücke öffnet, wenn man ein solches Tool wie im Blog verwendet und dabei das Zertifikat nicht kontrollieren kann.

Fragen zu "reverse engineering"
JanF ist offline   Mit Zitat antworten
Alt 08.02.2012, 20:21   #4 (permalink)
Android Guru
 
Benutzerbild von Fr4gg0r

Modell: Samsung Galaxy S (I9000)

Registriert seit: 21.12.2009
Beiträge: 2.572
Abgegebene Danke: 76
Erhielt 506 Danke für 295 Beiträge
Standard AW: Autostarts/Berechtugungen einer App entfernen (apktool)

Zitat:
Zitat von JanF Beitrag anzeigen

0. Lizenz prüfen
Sollte eigentlich selbstverständlich sein, dass ihr bevor Ihr Änderungen an einer App vornehmt prüft, ob es die Lizenzbedingungen der App auch hergeben, an ihr Änderungen vor zu nehmen.
ach komm
Fr4gg0r ist gerade online   Mit Zitat antworten
Alt 08.02.2012, 20:39   #5 (permalink)
Erfahrener Benutzer
 
Benutzerbild von RaTToX

Modell: Medion P4310

Registriert seit: 23.01.2012
Beiträge: 297
Abgegebene Danke: 62
Erhielt 100 Danke für 66 Beiträge
RaTToX eine Nachricht über ICQ schicken
Standard AW: Autostarts/Berechtugungen einer App entfernen (apktool)

Wenn ich mich nicht irre kann man doch mit der ROM Toolbox Autostart von Apps aktivieren / deaktivieren?
RaTToX ist offline   Mit Zitat antworten
Antwort

Stichworte
-

Themen-Optionen
Ansicht


Ähnliche Themen

Thema Autor Forum Antworten Letzter Beitrag
App "Autostarts" - welche Dienste können deaktiviert werden? mexpower Anleitungen für Samsung Galaxy S2 32 21.12.2011 00:06
Autostarts App mit Root Andro_ID Tools 1 04.12.2010 16:48
Autostarts App mit Root Andro_ID Root / Hacking / Modding für Samsung Galaxy S 2 02.12.2010 16:43
Apktool - declared here is not defined mattmaso Android OS Entwicklung / Customize 32 22.08.2010 14:33




Du liest gerade: "Autostarts/Berechtugungen einer App entfernen (apktool)" unter "Android Allgemein" auf Android-Hilfe.de.


Powered by vBulletin®
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
© Android-Hilfe.de 2012 - All rights reserved.