反编译淘宝的Android客户端时出现了以下的提示,反编译失败!原因不明!只想看到布局的xml文件,同样的环境可以编译其它的apk,如今日头条的apk文件等.求教:是什么原因啊?
G:\fanbianyi\反编译工具>apktool d 600120_taobao_android_3.9.2_UC.apk
I: Baksmaling...
Exception in thread "main" org.jf.dexlib.Util.ExceptionWithContext: Index: 28641
7133, Size: 7909
at org.jf.dexlib.Util.ExceptionWithContext.withContext(ExceptionWithCont
ext.java:54)
at org.jf.dexlib.IndexedSection.getItemByIndex(IndexedSection.java:77)
at org.jf.dexlib.Code.InstructionWithReference.lookupReferencedItem(Inst
ructionWithReference.java:85)
at org.jf.dexlib.Code.InstructionWithReference.<init>(InstructionWithRef
erence.java:57)
at org.jf.dexlib.Code.Format.InstructionWithJumboReference.<init>(Instru
ctionWithJumboReference.java:51)
at org.jf.dexlib.Code.Format.Instruction52c.<init>(Instruction52c.java:6
3)
at org.jf.dexlib.Code.Format.Instruction52c.<init>(Instruction52c.java:4
2)
at org.jf.dexlib.Code.Format.Instruction52c$Factory.makeInstruction(Inst
ruction52c.java:91)
at org.jf.dexlib.Code.InstructionIterator.IterateInstructions(Instructio
nIterator.java:82)
at org.jf.dexlib.CodeItem.readItem(CodeItem.java:154)
at org.jf.dexlib.Item.readFrom(Item.java:77)
at org.jf.dexlib.OffsettedSection.readItems(OffsettedSection.java:48)
at org.jf.dexlib.Section.readFrom(Section.java:143)
at org.jf.dexlib.DexFile.<init>(DexFile.java:431)
at org.jf.dexlib.DexFile.<init>(DexFile.java:267)
at brut.androlib.src.SmaliDecoder.decode(SmaliDecoder.java:49)
at brut.androlib.src.SmaliDecoder.decode(SmaliDecoder.java:34)
at brut.androlib.Androlib.decodeSourcesSmali(Androlib.java:74)
at brut.androlib.ApkDecoder.decode(ApkDecoder.java:89)
at brut.apktool.Main.cmdDecode(Main.java:146)
at brut.apktool.Main.main(Main.java:77)
Caused by: java.lang.IndexOutOfBoundsException: Index: 286417133, Size: 7909
at java.util.ArrayList.rangeCheck(ArrayList.java:604)
at java.util.ArrayList.get(ArrayList.java:382)
at org.jf.dexlib.IndexedSection.getItemByIndex(IndexedSection.java:75)
... 19 more
Error occured while retrieving the type_id_item item at index 286417133
Error occured at code address 0
code_item @0x13aae0
反编译 android 淘宝 xml apk
------解决方案--------------------
只看xml 加上 -s 是肯定可以解开的。
xml文件没有做保护,只是利用无效指令,对dex文件做了保护。
如果想查看smali。可以参考http://bbs.pediy.com/showthread.php?t=177114&highlight=Dalvik+%E9%AA%8C%E8%AF%81+%E8%AF%81
把无效指令去掉就行。