[HowTo] Bearbeiten von Apps (PNG Dateien ersetzen)

  • 66 Antworten
  • Neuster Beitrag
ronny33

ronny33

Experte
Threadstarter
Hallo,

Mit dieser Anleitung könnt ihr Bilder (Icons,Grafiken) in Apps bearbeiten bzw.ersetzen,
z.b ADW Themes verändern oder auch andere Apps!
Eigentlich einfach zu machen,aber schwer zu erklären,so das es auch jeder versteht;)
Also:
Benötigt wird ein Packprogramm wie z.b WinRar o.ä

1.App bearbeiten (ohne neu signieren)
2.App bearbeiten (Neu signieren erforderlich)
3.Signieren mit Auto-Sign
4.Warnung
5.Systemapps bearbeiten (z.b framework-res)Root Voraussetzung!


1.App bearbeiten: (ohne neu signieren)
Eigentlich sollte das auch so funktionieren das das entpacken der .apk nicht notwendig ist,
und das neue signieren der App überflüssig macht!
Hat bei mir jedoch nicht funktioniert!

Dazu die APK mit mit WinRAR o.ä öffnen und die jeweiligen Icons einfach in den gewünschten Ordner kopieren.
die APK nur nicht komplett entpacken und hinterher wieder packen, sonst müsste man die APK erst wieder signen.

Also wenn man die APK mit WinRAR öffnet und in das Verzeichnis mit den Bildern die man ändern will geht,
braucht man die neuen Bilder nur per Drag & Drop in das offene WinRAR Fenster ziehen.

Da müsste sich dann ein Fenster von WinRAR öffnen wo Updatemodus"Dateien hinzufügen und ersetzen" ausgewählt sein muss.
Und als Kompressionsmethode "speichern" auswählen muss.
Wenn die neuen Bilder den selben Namen wie die alten haben(muss sein) werden die dann in der APK ersetzt ohne das man sie neu signieren muss.

2.App bearbeiten: (Neu signieren erforderlich)

Ich mache es so:
Hab da ne bessere übersicht der Ordner und Dateien die ich ersetzen will!

Also entpacke ich die App oder das ADW Theme auf meinen Desktop,dort befindet sich dann der Ordner der App.
In diesem Ordner befindet sich (meistens) folgende Ordnerstruktur (1)
(Beispiel anhand von einem ADW Theme)



Im Ordner META-INF befinden sich Die Signierungsdateien.
Diesen Ordner lösche ich(muss man nicht unbedingt) ,da er später durch das neue signen wieder erstellt wird.
Zum bearbeiten der Bilder(.png) brauchten wir NUR den Ordner "res"!
Darin befindet sich (meistens,kommt auf die App bzw.das Theme an) folgende Ordnerstruktur (2):



Jetzt muss man wissen was für ein Gerät man hat,bzw. welche Auflösung man braucht.
Ich hab momentan das SE X10 mini welches die Auflösung "mdpi"unterstützt!
Also muss Ich auch NUR die Dateien (.pngs) in den Ordnern mit "mdpi" bearbeiten bzw. ersetzen weil die anderen (hdpi)bei dem Handy nicht angezeigt werden.
Im Ordner "drawable-port-mdpi" befinden sich u.a die Dateien die für das Dock benötigt werden.

Im Ordner "drawable-land-mdpi"die Dateien für den Landschaftsmodus(Querformat)
Wenn man ein bischen rumprobiert,oder sich die Ordner anschaut,meistens sagen schon die Namen was aus,findet man schnell heraus welche Datei für was benötigt wird.
Die Dateien die man ersetzen will MÜSSEN Natürlich so umbenannt werden wie die Originalen und (meistens) die gleiche Grösse haben!

Also bearbeite oder ersetze Ich die Dateien die ich will,
packe dann Die Ordner (Ordnerstruktur (1))
wieder als .zip,
und benenne es wieder um in .apk

Danach nur noch neu Signieren!

3.Signieren mit Auto-Sign:
Die .apk die man signieren will in den Ordner Auto-Sign verschieben.
dann die Datei "sign.bat" ausführen.
Ein Fenster geht auf in dem man aufgefordert wird,eine beliebige Taste zu drücken.
Dies tun! Fertig!
Die signierte .apk erscheint im gleichen Ordner als "your_app_signed.apk".
Diese dann aufs Handy machen und ganz normal installieren!
Ersetzt das Original!

4.Warnung:
Es ist bei mir auch schon vorgekommen das nach dem installieren und auswählen des bearbeiteten Apps(ADW Theme),
der ADW Launcher ständig abstürzte und ich nichts mehr machen konnte!
Dies hatte zur Folge das ich Neu Flashen (updaten) musste!
Um dies zu vermeiden empfiehlt es sich vor installation und Auswählen des bearbeiteten ADW Themes die Standardeinstellung des ADW Launchers zu löschen!
So kann man,nachdem ein Theme installiert und aktiviert wurde,und der Launcher danach dauernd abstürzt und nicht mehr startet,wenigstens noch auf den Standardlauncher zugreifen um das Theme wieder zu deinstallieren.
(Einstellungen/Anwendungen/Anwendungen verwalten/ADW.Launcher/Standardeinstellung löschen)


5.Systemapps bearbeiten: (mit Rootexplorer)

-Die .apk die du bearbeiten möchtest erst aus dem Ordner in dem sie sich befindet auf die SD Karte kopiern.
(system als "rw" mounten)
die framework.res z.b liegt in /system/framework
-Dann auf dem PC bearbeiten was du möchtest.
-Danach die .apk wieder auf die SD-Karte kopieren und auch so umbenennen wie die Original .apk heisst!
-Im RootExplorer /system als "rw" mounten (auf rw klicken)
-Die .apk zuerst nach system kopieren
-dort nun die Permissions für die .apk setzen wie im Screenshot.

Dann die .apk in /system/.......... verschieben und die alte .apk damit überschreiben!
Die framework-res.apk kommt z.b nach /system/framework
Die Vending.apk kommt z.b nach /system/app usw.
Vorher die originale am besten sichern!


So hoffe es ist alles halbwegs verständlich und eine Hilfe für den ein oder Anderen.
Danke nicht vergessen:D

Und wie immer und überall gilt Natürlich auch hier:
Benutzung auf eigene Gefahr!

LG
ronny
 

Anhänge

  • Auto-Sign.zip
    9.6 KB Aufrufe: 770
Zuletzt bearbeitet:
Boogieman

Boogieman

Experte
Hi, denke sie anleitung ist so weit verständlich (zumindest für mich der es schon des öfteren getan hat)
Hättest vielleicht noch dabei schreiben können dass man die datei von .apk in eine .zip oder .rar ändern muss.
Btw: ich hab es immer nach methode 1 gemacht da man sich da das signieren spart und hatte noch nie probleme.

Sent from my GT-I9000 using Tapatalk
 
ronny33

ronny33

Experte
Threadstarter
Hallo,

Danke für dein Feedback.
dabei schreiben können dass man die datei von .apk in eine .zip oder .rar ändern muss.
Habe ich doch.
Oder meinst du woanders noch?
methode 1 gemacht.......und hatte noch nie probleme.
Schön dann hab ichs ja richtig erklärt hoffe ich.
Bei mir hat es so nicht funktioniert,warum auch immer:)

LG
ronny
 
Boogieman

Boogieman

Experte
So wie ich es bei dir verstehe öffnest du bei deiner methode eins einfach die apk datei mit winrar, geht das? Ich ändere zuerst die endung von .apk in .zip und öffne dann, bearbeite und ändere dann wieder in .apk. das könnte das problem bei dir sein warum es nicht klappt. Oder übersehe ich da bei dir was?

Sent from my GT-I9000 using Tapatalk
 
ronny33

ronny33

Experte
Threadstarter
Hallo,

öffnest du bei deiner methode eins einfach die apk datei mit winrar, geht das?
Ja klaro geht das;)
Noch nie probiert?

LG
ronny
 
Boogieman

Boogieman

Experte
Ja klaro geht das;)
Noch nie probiert?
Hab ich echt noch nie probiert :ohmy:
Cool, noch nen Schritt gespart :thumbsup:
Man lernt halt nie aus...
 
house-bewohner

house-bewohner

Stammgast
Servus,

geile sache.
Konnt jetzt Problemlos die png´s eines widgets mit Photoshop bearbeiten, da wieder reinpflanzen und die apk neu signieren.

Ha, ein kinderspiel !!!!:thumbup:

Geile Anleitung.

LG Chris
 
H

hans_hansen

Neues Mitglied
Danke schonmal für das Tutorial, genau das brauche ich :)

Habe nur eine Frage: Wie komme ich an die .apk?

In meinem Fall habe ich mir die S-Banking App gekauft, möchte aber das Sparkassen-Symbol gegen das Symbol meiner Bank ersetzen.
 
Boogieman

Boogieman

Experte
Die S-Banking App liegt unter
/data/app/ (falls du sie nicht auf die SD verschoben hast :blushing:)
die heißt übrigends "com.starfinanz.smob.android.sbanking-1.apk"
 
Crazyschranz

Crazyschranz

Experte
Hier mal mein erster Versuch :D Viel Spaß!!
Läuft auf dem X10i problemlos!!

Feedback erwünscht !
 

Anhänge

  • ADW Schranz Theme.apk
    1.4 MB Aufrufe: 326
ronny33

ronny33

Experte
Threadstarter
Hey,

super.hats geklappt?
Screnshots wären nicht schlecht.

LG
ronny
 
tron12

tron12

Ambitioniertes Mitglied
ronny33 schrieb:
Hallo,

1.App bearbeiten: (ohne neu signieren)
Eigentlich sollte das auch so funktionieren das das entpacken der .apk nicht notwendig ist,
und das neue signieren der App überflüssig macht!
Hat bei mir jedoch nicht funktioniert!

ronny
nur als info, es ist klar warum das nicht geht. prinzipiell bedeutet signieren, dass eine prüfsumme über den inhalt gemacht wird, nicht über die namen, sondern über den gesamten inhalt. dass heisst, wenn irgendeine datei, ein icon, oder was auch immer, nicht genau den exakt gleichen inhalt hat, und das ist bei einem austausch natürlich nicht so, dann passt die prüfsumme nicht mehr.

auch wenn es so aussieht als ob winrar die apk nicht entpackt, so stimmt das nicht, was genau passiert hängt ein wenig vom verwendeten packer ab, aber es wird z.b. sehr oft eine datei nicht wirklich ausgetauscht, sondern die neue datei ( icon, was auch immer ) an das rar angehängt, und die original-datei intern im verzeichniss der gepackten datei als veraltet gekennzeichnet.

da sich nun so oder so der inhalt der datei vom original unterscheidet, ist die prüfsumme/signatur nicht mehr übereinstimmend.
 
Boogieman

Boogieman

Experte
Dann erklär mir mal warum es bei mir funktioniert und ich so ein komplettes theme erstellt habe :)
Natürlich muss man auf die gleiche benennung und parameter des png achten, aber sonst gibt es da keine probleme

Sent from my GT-I9000 using Tapatalk
 
tron12

tron12

Ambitioniertes Mitglied
Boogieman schrieb:
Dann erklär mir mal warum es bei mir funktioniert und ich so ein komplettes theme erstellt habe :)
Natürlich muss man auf die gleiche benennung und parameter des png achten, aber sonst gibt es da keine probleme

Sent from my GT-I9000 using Tapatalk
weil du ein galaxy S hast, so wie ich, und die standard-einstellung ist dass auch nicht-market-anwendungen installiert werden können ( was ja eigentlich nicht ok ist, als standardeinstellung), zumindest war es bei meinem galaxy s so. das einzige was eine nicht-market-anwendung von einer ebensolchen unterscheidet, ist der weg wie sie heruntergeladen wird, und eine "offizielle" signatur, wobei der weg ja generell egal ist ( sein sollte ), sonst könnte ja niemand ein backup der apk's machen, und dann neu installieren.

generell muss man schon sagen, dass android bei der ganzen signatur-sache im vergleich mit apple und symbian z.b. ziemlich freundlich vorgeht. bitte nicht falsch verstehen, das hat vor- und nachteile. mir als alt-eingesessenen sysadmin ist es so lieber, da kann ich einfach mehr machen, ohne dass ich mich zusehr verwinden muss.

die meisten, oder zumindest viele linux-distributionen gehen ähnlich vor, in debian z.b. kann jeder ein package erstellen, und distributieren, auch ein eigenes repository machen, aber man muss die signaturen dieser zusätzlichen reps manuell einspielen, sonst wird bei der installation eine warnung ausgegeben, dass dieses deb keine dem system bekannte signatur hat. ist ja auch gut, wenn man weiss was man tut.

probier mal testweise, das nächste mal diese einstellung auszuschalten. dann hoffe ich das android meckert, wenn nicht, naja, mir ist es egal, aber dann gibts eigentlich ein riesiges sicherheitsleck, wenn das einfach geht.

dann könnte jeder eine beliebige applikation nehmen, auseinandernehmen, schadcode einfügen, und das system würde es als komplett legale apk einspielen. ich überlasse es dir darüber nachzudenken, was das bedeutet.
 
Zuletzt bearbeitet:
Boogieman

Boogieman

Experte
Da hast du vollkommen recht, und meine gedanken waren auch nur in bezug auf die kombination galaxy und android.
Dass das installieren nicht funktioniert ist ja auch richtig wenn man die "unbekannte quellen" geschichte deaktiviert hat so macht es ja auch sinn und ist vorallem richtig.
Aber wenn ich jetzt mein theme als grundlage für die ganze geschichte nehme, wo ja nur system apps, launcher und framework dateien des systems über das recovery menü durch ein script ersetzt werden ist doch auch die signatur hinfällig?! Oder täusche ich mich da?
Wie eben auch in einem anderen thread hier erwähnt müssen system apps (welche nicht auf "normalen" weg installiert werden) nicht signiert sein?

Sent from my GT-I9000 using Tapatalk
 
tron12

tron12

Ambitioniertes Mitglied
klar, wenn systemdateien mit einem skript verändert werden hat das nichts mit dem signieren zu tun. spätestens wenn du root hast, kannst du ja jede einzelne datei aus dem system rausholen, und wieder reinkopieren. das system könnte das ja nur erkennen, wenn es entweder einzelne dateien, partitionen, was auch immer, mit einer prüfsumme checkt, und dann die arbeit verweigert wenn es eine manipulation erkennt.

und wenn das so wäre, naja, dann würden wir einfach die prüfsummen auch ersetzen ;)

( wenn das alles so klingt als ob ich mich gut auskennen würde, nein, ich kenne nur das prinzip, aber das war genug um zu wissen, ich kauf mir sicher nie ein ei-phon, sondern definitiv den kleinen netten grünen roboter ;)
 
jetdevil

jetdevil

Experte
Beim Ausführen der "sign.bat" erscheint folgende Meldung im Dos Eingabefenster:

Der Befehl "java" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.


Was mache ich falsch?
 
tron12

tron12

Ambitioniertes Mitglied
jetdevil schrieb:
Beim Ausführen der "sign.bat" erscheint folgende Meldung im Dos Eingabefenster:

Der Befehl "java" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.


Was mache ich falsch?
du machst prinzipiell nichts falsch, du musst nur deine system-einstellungen anpassen, nämlich den dateipfad zu java in den suchpfad einfügen. ich bin jetzt kein windows experte, aber prinzipiell sollte das so funktionieren,

systemsteuerung -> system -> erweiterte systemeinstellungen -> umgebungsvariablen -> PATH

je nachdem wo java bei dir installiert ist, einfügen.

falls du java nicht installiert hast, java installieren. java.com
 
jetdevil

jetdevil

Experte
Nun welche Datei soll die Bat denn aufrufen, die JAVA.EXE? Die liegt bei mir in c:\windows

Habe die BATCH so abgeändert:

c:\windows\java.exe -jar signapk.jar testkey.x509.pem testkey.pk8 *.apk your_app_signed.apk

Das geht aber nicht kommt selber fehler.
 
Oben Unten