zhangwenan / smali

Automatically exported from code.google.com/p/smali
0 stars 0 forks source link

Deodexing from Gingerbread fails #52

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
It seems they've changed the dex format and/or added some new opcodes. From the 
Nexus S system dump, deodexing fails.

java -Xss1m -Xmx512M -jar $BAKSMALI -c 
:javax.obex.jar:com.google.android.maps.jar -o $TMP/out -x  $APP.odex

Working on: GenieWidget
Deodexing: GenieWidget

Error occured while disassembling class 
Lcom.google.common.io.protocol.ProtoBuf; - skipping class
java.lang.RuntimeException: Invalid inline method index 19.
    at org.jf.dexlib.Code.Analysis.DeodexUtil.lookupInlineMethod(DeodexUtil.java:101)
    at org.jf.dexlib.Code.Analysis.MethodAnalyzer.analyzeExecuteInline(MethodAnalyzer.java:3312)
    at org.jf.dexlib.Code.Analysis.MethodAnalyzer.analyzeInstruction(MethodAnalyzer.java:1003)
    at org.jf.dexlib.Code.Analysis.MethodAnalyzer.analyze(MethodAnalyzer.java:208)
    at org.jf.baksmali.Adaptors.MethodDefinition.addAnalyzedInstructionMethodItems(MethodDefinition.java:353)
    at org.jf.baksmali.Adaptors.MethodDefinition.getMethodItems(MethodDefinition.java:290)
    at org.jf.baksmali.Adaptors.MethodDefinition.writeTo(MethodDefinition.java:130)
    at org.jf.baksmali.Adaptors.ClassDefinition.writeMethods(ClassDefinition.java:322)
    at org.jf.baksmali.Adaptors.ClassDefinition.writeVirtualMethods(ClassDefinition.java:307)
    at org.jf.baksmali.Adaptors.ClassDefinition.writeTo(ClassDefinition.java:136)
    at org.jf.baksmali.baksmali.disassembleDexFile(baksmali.java:191)
    at org.jf.baksmali.main.main(main.java:278)

Original issue reported on code.google.com by steve.ko...@gmail.com on 18 Dec 2010 at 1:00

Attachments:

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
Confirmed, and working on it :). They added a new set of odexed opcodes for 
accessing synchronized fields.

Thanks!

Original comment by JesusFr...@gmail.com on 18 Dec 2010 at 4:04

GoogleCodeExporter commented 9 years ago
FIXITFIXITFIXITFIXIT :)

Original comment by steve.ko...@gmail.com on 19 Dec 2010 at 3:19

GoogleCodeExporter commented 9 years ago
Any eta on a fix?

Original comment by green...@gmail.com on 21 Dec 2010 at 4:41

GoogleCodeExporter commented 9 years ago
I have a fix written, I just need to test it more thoroughly before doing a 
release, hopefully tonight. However, I've just uploaded the changes, so feel 
free to pull the latest source and try it out

Original comment by JesusFr...@gmail.com on 21 Dec 2010 at 5:36

GoogleCodeExporter commented 9 years ago
This is now fixed in 1.2.6 :)

Original comment by JesusFr...@gmail.com on 23 Dec 2010 at 8:14