4 votes

Comment convertir un fichier .odex en fichier dex ?

J'essaie de décompiler une application système. Malheureusement, il n'y a pas de classes.dex pour cette application système particulière. Il y a seulement un *.odex. Je sais que je dois le décompiler pour obtenir un fichier .dex. J'ai regardé smali mais à chaque fois que je le lance, j'obtiens l'erreur suivante. Baksmali me dit d'utiliser la syntaxe suivante :(Je fonctionne sous Windows donc je ne peux pas utiliser le wrapper bash fourni)

java -jar baksmali-1.3.3.jar -x name.odex

Cependant, une exception de haut niveau est levée :

UNEXPECTED TOP-LEVEL EXCEPTION:
org.jf.dexlib.Util.ExceptionWithContext: regCount does not match the number of a
rguments of the method

2voto

Nick Pierpoint Points 7976

Il serait peut-être préférable d'utiliser le tout-en-un. outil qui pourrait vous aider, publié par Sony Ericsson et son open source.

Pour citer leur page wiki :

Prise en charge des applications et des bibliothèques odex

Utilisez-le pour la bonne raison, pas pour la mauvaise raison (comme le piratage rampant, etc., et je n'insinue rien du tout).

En fait, cela m'a sauvé la mise à un moment où je ne me souvenais plus si j'avais inclus un jpeg dans un apk que j'avais créé et j'ai dû passer par cet outil pour confirmer mon "moment de blondeur".

Edit : Une autre chose que j'ai remarqué - il manque un interrupteur, par exemple, ceci a été tiré de aquí ( Crédit sur le forum Madteam ):

java -jar baksmali.jar -d C:\framework -x TouchWiz30Launcher.odex

Vous avez besoin de la cadre-res.apk (on peut le trouver dans /system/framework sur le combiné) à la place d'où le -d répertoire

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X