Aller au contenu

[TUTO] Décompilation, Modification, Recompilation d'.apk


Scraps974

Recommended Posts

Bonjour,

Ici nous allons voir comment décompiler une .apk pour y changer notamment les images et la recompiler pour avoir une nouveau fichier.apk.

J'ai fais ce tuto sous Window 7, je ne connait pas les manip pour les personnes qui sont encore sous XP, linux ou Mac OS.

J'ai utiliser pour ce tuto l'apk SystemUI.apk, dans votre cas remplacer le mot SystemUI du tuto par le nom de l'apk que vous allez modifié.

Pré requis :

- PC sous Windows (ps: je suis sous Window 7)

- Xperia U rooté

- Un gestionnaire de fichier (Es file explorer, etc)

- PhotoShop ou The GIMP

- Patience :P

Téléchargement :

- ApkTool

1- Préparation d'APKTool et du framework :

- Décompressez l'archive APKTool.rar a la racine de votre disque dur.

En général sous Windows c'est C:/.

post-124721-0-18286100-1351404772_thumb.

-Ouvrez le dossier C:/APKTool.

-Maintenez la touche shift enfoncé et faire un clic droit cliquez sur ouvrir une fenêtre de commande ici.

post-124721-0-35434900-1351405753_thumb.post-124721-0-17721000-1351405757_thumb.

-Sur votre Xperia U allez dans le dossier /system/framework et copiez les fichiers framework-res.apk et SemcGenericUxpRes.apk sur votre carteSD.

-Connectez votre Xperia U a votre PC, puis copiez les fichiers framework-res.apk et SemcGenericUxpRes.apk dans C:/APKTool.

-Dans l'invite de commande tapez : apktool if framework-res.apk et Appuyez sur entrer

-Tapez : apktool if SemcGenericUxpRes.apk et Appuyez sur entrer

-Si les 2 commandes s'execute avec succès, Pour les gens sous Windows7 Vous devriez avoir maintenant dans le dossier C:/Utilisateurs/le nom de votre PC, le dossier apktool/framework avec dedans deux fichier .apk appelé "1.apk & 2.apk" ce sont les fichiers du framework necessaire au devellopement d'.apk, rien ne marchera sans eux. Pour ceux sous XP c'est dans Mes documents. Linux et Mac OS, Je ne sais pas.

post-124721-0-28051200-1351405760_thumb.

Maintenant nous pouvons commencez a manipulez nos fichier .apk :)

2- Décompilation d'un fichier .apk :

-Retournez dans C:/APKTool.

-Copiez un fichier .apk dans le dossier C:/APKTool (ici j'utilise SystemUI.apk)

post-124721-0-08520900-1351405969_thumb.

-Dans l'invite de commande tapez apktool d SystemUI.apk, puis appuyez sur entrer.

Cette commande décompile votre fichier.apk en un dossier du même nom se trouvant dans C:/APKTool.

-Danc mon cas donc, Vous aurez alors un dossier appelé SystemUI dans C:/APKTool.

post-124721-0-79124600-1351406152_thumb.

3- Modification du fichier .apk :

-Ouvrez le dossier se trouvant dans C:/APKTool portant le nom de votre apk. Puis allez dans le sous-dossier appelé res.

-Ici tous les dossiers commençant par le mot drawable sont des dossier d'image que vous pouvez modifier.

-Je vais par exemple dans le sous-dossier drawable-hdpi, il contient les icones des toggles, de la bar de notifications et bien d'autres.

post-124721-0-11155600-1351406360_thumb.

-Pour modifier une image il faut la remplacer par une image de même format, nom et dimension, sinon cela risque de planté :P

-Ici j'ai remplacer les icones des toggles par exemples ( voir image ci-dessus)

4- Recompiler le Fichier.apk :

-Taper la commande apktool b SystemUI (ou le nom de votre dossier) dans l'invite de commande.

Ceci créera un sous-dossier nommé build dans C:/APKTool/SystemUI (ou le nom de votre dossier)

Et un sous-dossier nomé apk dans C:/APKTool/SystemUI/build

post-124721-0-21724100-1351406636_thumb.

-Allez dans C:/APKTool.

-Ouvrez votre .apk d'origine (ici SystemUI.apk) avec Winrar ou 7zip ou autre.

-Vous verrez normalement les fichiers et dossiers META-INF & AndroidManifest.xml.

-Copiez les dans C:/APKTool/SystemUI/build/apk.

Ils contiennent la signature de l'apk

post-124721-0-94146700-1351406951_thumb.

-Recompilez encore une fois l'.apk avec la commande apktool b SystemUI (ou le nom de votre dossier) dans l'invite de commande.

-Votre nouveau fichier .apk (ici SystemUI.apk) se trouv dans le dossier C:/APKTool/SystemUI/dist.

-Copiez le dans votre Xperia U a l'endroit ou vous l'aviez pris avec les permissions rw-r--r--..

(ici pour SystemUI.apk c'est dans /system/app)

-Reboot

- Attention pas toutes les .apk du smartphones sont modifiables.

Entre autre les .apk systemes.

Les recompilations peuvent ne pas marcher.

- Les Fichiers .9.png ne sont pas de simple image que l'on peut remplacer comme sa.

Exemple de la status_bar_close.9.png :

Modifié par Scraps974
  • Like 2
Lien vers le commentaire
Partager sur d’autres sites

Oui toute les .apk sont décompilable, mais pas forcément recompilable.

Parce que des que tu modifie un truc, meme une image dans les fichier xml sa fait une erreur

Virus ce n'est pas une obligation. C'est juste que si ton image a un fond bleu, bin sur le tel yora le fond bleu lol

Avec les theme pas vraiment parce que pour modifié les led et tout faut pas juste changer les images

xt615 Dans le tuto j'explique comment monté les frameworks.

Mais dans le XU il y a just 2 fichier apk de framework : framework-res.apk et SemcGenericUxpRes.apk

Pour ceux qui on essayé de modifier le "champi vert" en bas de la barre il ne suffit pas juste de changer l'image.

Si vous zoomer bien vous verrez des bords noirs de 1pixel de chaque coté. Il ne faut pas les supprimer !

Et le format du fichier c'est : ".9.png"

Lien vers le commentaire
Partager sur d’autres sites

alors pour les erreurs quand tu recompile il faut changer apktools (un truc comme ca)

j'ai galérer pareil pour le motoluxe quand j'ai créer un thème ics ( et oui sur le motoluxe il n'y a pas d'ics et encore moins de cm9....)

pour les .9png c'est un peu galère

pour les images dans le framework tu peut les changé directement dans le zip sa evite d'avoir des bootloops au demarrage (sa aussi sa met arrivé et sur un tel ou tu est coincé dans tous les sens c'est la m...e)

mais voila un bon tuto pour modifié un peu son xperia ou tous autre android

bon boulot et tu as pas mal cherché ^_^

Lien vers le commentaire
Partager sur d’autres sites

Quand je veut recompiler j'ai une erreur

Exception in thread "main" brut.androlib.AndrolibException: brut.directory.PathNotExist: apktool.yml
at brut.androlib.Androlib.readMetaFile(Androlib.java:142)
at brut.androlib.Androlib.build(Androlib.java:159)
at brut.androlib.Androlib.build(Androlib.java:154)
at brut.apktool.Main.cmdBuild(Main.java:182)
at brut.apktool.Main.main(Main.java:67)
Caused by: brut.directory.PathNotExist: apktool.yml
at brut.directory.AbstractDirectory.getFileInput(AbstractDirectory.java:103)
at brut.androlib.Androlib.readMetaFile(Androlib.java:138)
... 4 more

Je réessaierais sous Windows mais si quelqu'un à une idée je suis preneur.

Lien vers le commentaire
Partager sur d’autres sites

je vais commencer maintenant, je vous tiens au courant !

Sa commence super bien ..

-Pressez shift + clic droit de la souris et cliquez sur " ouvrir une fenêtre de commande ici "

Ca ne marche pas.. =='

Windows XP

Modifié par viirus6200
Lien vers le commentaire
Partager sur d’autres sites

Bon alors de 1 cette phrase n'est pas logique : -Sur votre Xperia U allez dans /system/framework et copiez les fichiers framework-res.apk et SemcGenericUxpRes.apk dans le dossier d'apkt ool.

Et de 2 : -Vous devriez avoir maintenant dans Mes documents le dossier apktool/framework avec dedans deux fichier .apk appelé "1 & 2" ce sont les fichiers du framework necessaire au devellopement d'.apk.

Je n'ai rien du tout !!

Je suis a 2 doigts de lancer mon pc ! Ouuuu lala ca m'enerve ce genre de chose !

Lien vers le commentaire
Partager sur d’autres sites

no stress faire les chose calmement

tu copie les 2 fichiers sur ta carte sd puis tu les recuperes sur ton pc

la tu les met dans ton dossier apktool

touche windows+r

cmd

cd c:/"ton dossier"

et la ligne de commande apktool -d ..........

Lien vers le commentaire
Partager sur d’autres sites

Quand je veut recompiler j'ai une erreur

Exception in thread "main" brut.androlib.AndrolibException: brut.directory.PathNotExist: apktool.yml
at brut.androlib.Androlib.readMetaFile(Androlib.java:142)
at brut.androlib.Androlib.build(Androlib.java:159)
at brut.androlib.Androlib.build(Androlib.java:154)
at brut.apktool.Main.cmdBuild(Main.java:182)
at brut.apktool.Main.main(Main.java:67)
Caused by: brut.directory.PathNotExist: apktool.yml
at brut.directory.AbstractDirectory.getFileInput(AbstractDirectory.java:103)
at brut.androlib.Androlib.readMetaFile(Androlib.java:138)
... 4 more

Je réessaierais sous Windows mais si quelqu'un à une idée je suis preneur.

pour les erreurs essaye un autre apktool des fois sa passe

mais des fois

sinon il est possible que tu est des erreurs dans ton fichier que tu recompile

Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...