4 votos

Cómo convertir un archivo .odex en un archivo dex

Estoy tratando de descompilar una aplicación del sistema. Desafortunadamente no hay classes.dex para esta aplicación de sistema en particular. Sólo hay un *.odex. Sé que tengo que deodex esto para que me dan un archivo .dex. He mirado en smali pero cada vez que lo ejecuto me sale el siguiente error. Baksmali me dice que debo utilizar la siguiente sintaxis: (Estoy ejecutando en Windows por lo tanto no puedo utilizar el envoltorio de bash proporcionado)

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

Sin embargo, lanza una excepción de nivel superior:

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

2voto

Nick Pierpoint Puntos 7976

Podría ser mejor usar el todo en uno herramienta que podría ayudarle a publicar por cortesía de Sony Ericsson y su código abierto.

Citando su página wiki:

Apoyo a las aplicaciones y bibliotecas odex

Usar esto por la razón correcta, no por la razón equivocada (como la piratería desenfrenada, etc., y de ninguna manera estoy insinuando nada)

De hecho esto me salvó el pellejo en un momento en el que no recordaba si había incluido un jpeg en un apk que construí y tuve que pasar por esa herramienta para confirmar mi "momento rubio"

Editar: Otra cosa que noté - te falta un interruptor, por ejemplo, esto fue sacado de aquí ( Crédito del foro Madteam ):

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

Necesitas el framework-res.apk (esto se puede encontrar en /sistema/marco en el auricular) en lugar, por lo tanto, del -d directorio

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X