Jump to content

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


Scraps974
 Share

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 :

Edited by Scraps974
  • Like 2
Link to comment
Share on other 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"

Link to comment
Share on other 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é ^_^

Link to comment
Share on other 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.

Link to comment
Share on other 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

Edited by viirus6200
Link to comment
Share on other 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 !

Link to comment
Share on other 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 ..........

Link to comment
Share on other 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

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...