Skanzy Posté(e) 20 décembre 2013 Share Posté(e) 20 décembre 2013 (modifié) Bonjour à tous, J'ai modifié deux images d'un apk (GO SMS Pro), mais impossible de réinstaller l'apk modifié sur mon Galaxy S2, j'obtiens toujours "Application non installée". J'ai essayé plusieurs manières : en dézippant l'apk, en la modifiant et en la rezippant + en la signant, en modifiant l'apk sans la dézipper et en la resignant, etc... De même j'ai essayé plusieurs façon pour la signer : APKTools, One-Click Signer, Autosign, ZipSigner sur le téléphone, etc. J'ai toujours le même soucis, impossible de reinstaller l'apk (en ayant pris soin de désinstaller l'original, hein). Sauriez-vous de quoi cela peut venir ? Est-ce moi qui signe mal l'apk ? Dans ce cas pourriez vous essayer de la signer pour voir ? Merci d'avance ! Cordialement, Skanzy EDIT : Samsung Galaxy S2 rooté, ROM officielle 2.3.3, Clockworkmord Recovery, Modifié 20 décembre 2013 par Skanzy Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Lannig Posté(e) 20 décembre 2013 Share Posté(e) 20 décembre 2013 Bonjour, De quel genre de modification est-ce qu'on parle, là ? qu'as-tu modifié dans l'appli ? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Skanzy Posté(e) 20 décembre 2013 Auteur Share Posté(e) 20 décembre 2013 J'ai remplacé deux png du dossier res/drawable-hdpi/ Mes nouvelles icones sont des icones extraites d'un autre apk (l'app system de messages d'android 2.3.3), renommées pour correspondre à celles de GO PRO Sms. J'ai donc remplacé :res/drawable-hdpi/jb_smsmms.png et res/drawable-hdpi/state_notify_msg_pink_pop.png Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Lannig Posté(e) 20 décembre 2013 Share Posté(e) 20 décembre 2013 Que dit adb logcat quand tu essayes de l'installer ? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Skanzy Posté(e) 20 décembre 2013 Auteur Share Posté(e) 20 décembre 2013 (modifié) Résultat avec un apk signé avec APKTools : Package com.jb.gosms has no certificates; ignoring! Résultat avec un apk signé avec ZipSigner (depuis le téléphone) : Starting: Intent { act=android.intent.action.VIEW dat=file:///mnt/sdcard/com.jb.gosms-2.apk typ=application/vnd.android.package-archive cmp=com.android.packageinstaller/.PackageInstallerActivity } from pid 16083 Ignoring unknown permission:com.jb.gosms.permission.provider.CHAT_INFO_ACCESS Scanning package com.jb.gosms Shared UserID com.jb.gosms (uid=10169): packages=[PackageSetting{40644cc0 com.jb.gosms.fr/10169}] Package com.jb.gosms has no signatures that match those in shared user com.jb.gosms; ignoring! Package couldn't be installed in /data/app/com.jb.gosms-1.apk Donc d'après mes recherches, il se trouve que cet apk possède le même UserID que le package com.jb.gosms.frIl faut donc que je trouve avec quoi a été signé ce dernier pour signer de la même façon mon apk.Je suis allé voir dans le fichier /data/system/packages.xml, voilà ce que j'ai pour cet UID : <package name="com.jb.gosms.fr" codePath="/data/app/com.jb.gosms.fr-1.apk" nativeLibraryPath="/data/data/com.jb.gosms.fr/lib" flags="0" ft="143070b1760" it="143070b1b0e" ut="143070b1b0e" version="13" sharedUserId="10169"> <sigs count="1"> <cert index="5" /> </sigs> <perms /> </package> Dans ce même fichier packages.xml, j'ai trouvé un theme de GO SMS Pro qui possède lui aussi un cert d'index 5 : <package name="com.jb.gosms.theme.getjar.osseven" codePath="/data/app/com.jb.gosms.theme.getjar.osseven-1.apk" nativeLibraryPath="/data/data/com.jb.gosms.theme.getjar.osseven/lib" flags="0" ft="143070db358" it="143070db853" ut="143070db853" version="1" userId="10171" installer="com.android.vending"> <sigs count="1"> <cert index="5" key="3082019f30820108a00302010202044cf5f44c300d06092a864886f70d0101050500301431123010060355040313096c756f6c696e6a756e301e170d3130313230313037303735365a170d3335313132353037303735365a301431123010060355040313096c756f6c696e6a756e30819f300d06092a864886f70d010101050003818d0030818902818100b829df47bac21f641b398528fbfb4a8faf743e20100b5483509b31ae3a6c99ff0ff0ab291bebb55c56486a4f4886f407dab896f5f0fa3f7511aed1ca80bc99747bfacbf2c0fa425197041e72b60e11cefa0691529308edf79c7e8322c8ea9e852ea3af60a1da9dd65ee284cac26f9f071232133bb3f556acb26a4234ed766b130203010001300d06092a864886f70d010105050003818100417871fa1ae4a10753a85332157ef094ef74b6e7e5790d62957a20383600af1fbfc934dd0ccd3b7571113d8c227345511a274e5eb30e99f1594a03c306948f7b2f9243aae09b6c868bb392d2ee0346a252d32d8749bfc11738440239efa14f44af1110024007827b7cc5760c5d2ebf01ecf8b0c8c46ce4552ec4892002b9acff" /> </sigs> <perms> <item name="android.permission.READ_PHONE_STATE" /> <item name="android.permission.GET_ACCOUNTS" /> <item name="android.permission.GET_TASKS" /> <item name="com.android.vending.BILLING" /> <item name="android.permission.INTERNET" /> <item name="android.permission.ACCESS_NETWORK_STATE" /> </perms> </package> Alors voilà, comment dois-je faire pour signer mon apk de la même façon, avec la même key ? Merci d'avance Modifié 20 décembre 2013 par Skanzy Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Lannig Posté(e) 20 décembre 2013 Share Posté(e) 20 décembre 2013 Alors voilà, comment dois-je faire pour signer mon apk de la même façon, avec la même key ? A ma connaissance, ce n'est tout simplement pas possible. Le but de la signature numérique étant aussi de garantir l'authenticité d'un fichier, on ne peut pas le signer avec une identité sans détenir la clef privée liée à cette identité, qui est en général un secret jalousement gardé par l'éditeur (on le comprend). Il faut chercher où le package fait référence à cette identié com.jb.gosms et la replacer par l'identité utilisée par les différents programmes de signature d'APK (celle qui est dans la clef privée utilisée) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Skanzy Posté(e) 20 décembre 2013 Auteur Share Posté(e) 20 décembre 2013 (modifié) Il faut que je modifie tous les apk qui possèdent le cert d'index 5 pour les resigner chacun avec la même clé que celle que j'ai utilisée pour mon apk modifié ? Donc concrètement : - je dois prendre toutes les apk qui sont liées à GO SMS Pro (thèmes, plugins, language packs, etc.) - je vire leur signature actuelle (en supprimant le dossier META-INF) - je les repasse une par une dans ZipSigner en les signant avec la même clé (au choix : media, platform, shared, testkey ou none) - je les réinstalle une par une C'est bien ça ? Ou alors c'est pas possible et je dois me résigner à ne pas modder cet apk ? En tout cas, merci pour ton aide Lannig ! :) Modifié 20 décembre 2013 par Skanzy Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Lannig Posté(e) 20 décembre 2013 Share Posté(e) 20 décembre 2013 Je t'ai donné la méthode générale, du moins ce que j'en sais. Après, les détails... je ne sais pas trop. Je ne connais pas l'appli ZipSigner. Mais en gros ce que tu proposes me paraît jouable, ou au moins à essayer :) Des tas de gens arrivent à modifier des APKs d'applications, donc pas de raison que ce ne soit pas faisable. D'ailleurs il y a un très bon tuto sur ce forum : https://forum.frandroid.com/topic/94471-tuto-modifier-un-apk-facilement/ (merci à l'auteur Toinouintrarezo) ...et de rien. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Skanzy Posté(e) 20 décembre 2013 Auteur Share Posté(e) 20 décembre 2013 (modifié) Bon alors j'ai testé et ça marche ! B) Comme je l'avais dit, j'ai virer les signatures des apk et je les ai tous resignés avec la clé "shared". Tout fonctionne correctement, seul petit bémol, j'avais la version Pro (payante), et une fois le changement de clé effectué, impossible d'avoir accès aux fonctionnalités Pro. Éventuellement, si un jour j'ai le temps, je verrai pour décompiler l'apk complètement et bidouiller dedans pour avoir à nouveau accès aux fonctionnalités que j'ai payées ($4.99). Et bien voilà, merci à toi Lannig, et en espérant que ça servira à d'autres :) EDIT : C'est bon ça marche, je sais pas pourquoi, mais ça marche, j'ai de nouveau la version pro. J'passe tout en résolu ! Modifié 21 décembre 2013 par Skanzy Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Rejoignez la conversation
Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.