testwhat / SmaliEx

A wrapper to get de-optimized dex from odex/oat/vdex.
529 stars 142 forks source link

LG H410 deodex error #17

Open Soft-Man opened 8 years ago

Soft-Man commented 8 years ago

commit ce54c597a79dc73502425243c8b08bebee1edc44 solves a lot of problems, but some still remained I attach folder framework and problematic app and priv-app https://drive.google.com/a/citymasseurs.ru/file/d/0B2QhEXa2ySgkVzBOQkgxUk13T1U/view?usp=sharing and log log_deodex.txt

Soft-Man commented 8 years ago

[*] LGATCMDService.apk... 02-23 13:40:05:881 De-optimizing /system/app/LGATCMDService/LGATCMDService.apk 02-23 13:40:06:328 Analysis error in class=Lcom/lge/android/atservice/Database; method=checkMediaDatabase Method: Lcom/lge/android/atservice/Database;->checkMediaDatabase(Landroid/net/Uri;ZZ[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)Z Opcode: invoke-virtual-quick Code address: 441 Near line: 188

02-23 13:40:06:328 org.jf.dexlib2.analysis.AnalysisException at org.jf.dexlib2.analysis.MethodAnalyzer.analyze(MethodAnalyzer.java:239) at org.jf.dexlib2.analysis.MethodAnalyzer.(MethodAnalyzer.java:165) at org.rh.smaliex.DexUtil$ODexRewriterModule$1$1.getInstructions(DexUtil.java:402) at org.jf.dexlib2.immutable.ImmutableMethodImplementation.of(ImmutableMethodImplementation.java:82) at org.jf.dexlib2.immutable.ImmutableMethod.(ImmutableMethod.java:72) ...(Skip 21 traces) at org.rh.smaliex.DexUtil$ODexRewriter.rewriteDexFile(DexUtil.java:342) at org.rh.smaliex.OatUtil.convertToDex(OatUtil.java:269) at org.rh.smaliex.OatUtil.oat2dex(OatUtil.java:134) at org.rh.smaliex.Main.mainImpl(Main.java:128) at org.rh.smaliex.Main.main(Main.java:54)

02-23 13:40:06:328 Failed to re-construct dex java.lang.ClassCastException: org.jf.dexlib2.analysis.UnresolvedOdexInstruction cannot be cast to org.jf.dexlib2.iface.instruction.formats.Instruction35ms 02-23 13:40:06:328 convertToDex: skip /system/app/LGATCMDService/LGATCMDService.apk [*]

[*] LGEIME.apk... 02-23 13:40:06:682 De-optimizing /system/app/LGEIME/LGEIME.apk 02-23 13:40:07:800 Analysis error in class=Lcom/amazonaws/util/json/JSONArray; method=write Method: Lcom/amazonaws/util/json/JSONArray;->write(Ljava/io/Writer;)Ljava/io/Writer; Opcode: invoke-virtual-quick Code address: 47 Near line: -1

02-23 13:40:07:800 org.jf.dexlib2.analysis.AnalysisException at org.jf.dexlib2.analysis.MethodAnalyzer.analyze(MethodAnalyzer.java:239) at org.jf.dexlib2.analysis.MethodAnalyzer.(MethodAnalyzer.java:165) at org.rh.smaliex.DexUtil$ODexRewriterModule$1$1.getInstructions(DexUtil.java:402) at org.jf.dexlib2.immutable.ImmutableMethodImplementation.of(ImmutableMethodImplementation.java:82) at org.jf.dexlib2.immutable.ImmutableMethod.(ImmutableMethod.java:72) ...(Skip 21 traces) at org.rh.smaliex.DexUtil$ODexRewriter.rewriteDexFile(DexUtil.java:342) at org.rh.smaliex.OatUtil.convertToDex(OatUtil.java:269) at org.rh.smaliex.OatUtil.oat2dex(OatUtil.java:134) at org.rh.smaliex.Main.mainImpl(Main.java:128) at org.rh.smaliex.Main.main(Main.java:54)

02-23 13:40:07:800 Failed to re-construct dex java.lang.ClassCastException: org.jf.dexlib2.analysis.UnresolvedOdexInstruction cannot be cast to org.jf.dexlib2.iface.instruction.formats.Instruction35ms 02-23 13:40:07:800 convertToDex: skip /system/app/LGEIME/LGEIME.apk [*]

[*] LGWeatherService.apk... 02-23 13:40:08:048 Invalid art magic alm Exception in thread "main" org.jf.util.ExceptionWithContext: Encountered small uint that is out of range at offset 0x16c8 at org.jf.dexlib2.dexbacked.BaseDexBuffer.readSmallUint(BaseDexBuffer.java:52) at org.jf.dexlib2.dexbacked.DexBackedDexFile.getString(DexBackedDexFile.java:233) at org.jf.dexlib2.dexbacked.DexBackedDexFile.getType(DexBackedDexFile.java:251) at org.jf.dexlib2.dexbacked.DexBackedClassDef.getType(DexBackedClassDef.java:98) at org.jf.dexlib2.analysis.ClassPath.addDex(ClassPath.java:116) at org.rh.smaliex.DexUtil$ODexRewriter.addDexToClassPath(DexUtil.java:351) at org.rh.smaliex.OatUtil.convertToDex(OatUtil.java:257) at org.rh.smaliex.OatUtil.oat2dex(OatUtil.java:134) at org.rh.smaliex.Main.mainImpl(Main.java:128) at org.rh.smaliex.Main.main(Main.java:54)

[*]

[*] InCalAgent.apk... 02-23 13:40:08:587 De-optimizing /system/priv-app/InCalAgent/InCalAgent.apk 02-23 13:40:09:219 Analysis error in class=Lbolts/AppLinkNavigation; method=getJSONValue Method: Lbolts/AppLinkNavigation;->getJSONValue(Ljava/lang/Object;)Ljava/lang/Object; Opcode: aget-wide Code address: 357 Near line: 231

02-23 13:40:09:219 org.jf.dexlib2.analysis.AnalysisException: aget-wide used with non-array register: (Reference,Ljava/lang/Object;) at org.jf.dexlib2.analysis.MethodAnalyzer.analyzeAgetWide(MethodAnalyzer.java:1349) at org.jf.dexlib2.analysis.MethodAnalyzer.analyzeInstruction(MethodAnalyzer.java:831) at org.jf.dexlib2.analysis.MethodAnalyzer.analyze(MethodAnalyzer.java:228) at org.jf.dexlib2.analysis.MethodAnalyzer.(MethodAnalyzer.java:165) at org.rh.smaliex.DexUtil$ODexRewriterModule$1$1.getInstructions(DexUtil.java:402) ...(Skip 23 traces) at org.rh.smaliex.DexUtil$ODexRewriter.rewriteDexFile(DexUtil.java:342) at org.rh.smaliex.OatUtil.convertToDex(OatUtil.java:269) at org.rh.smaliex.OatUtil.oat2dex(OatUtil.java:134) at org.rh.smaliex.Main.mainImpl(Main.java:128) at org.rh.smaliex.Main.main(Main.java:54)

02-23 13:40:09:219 Failed to re-construct dex java.lang.ClassCastException: org.jf.dexlib2.analysis.UnresolvedOdexInstruction cannot be cast to org.jf.dexlib2.iface.instruction.formats.Instruction35ms 02-23 13:40:09:219 convertToDex: skip /system/priv-app/InCalAgent/InCalAgent.apk [*]\

[*] LGCameraApp.apk... 02-23 13:40:09:589 De-optimizing /system/priv-app/LGCameraApp/LGCameraApp.apk 02-23 13:40:10:823 Analysis error in class=Lcom/google/android/gms/tagmanager/ai; method=c Method: Lcom/google/android/gms/tagmanager/ai;->c(Lcom/google/android/gms/tagmanager/DataLayer;Lcom/google/android/gms/internal/c$d;)V Opcode: invoke-virtual-quick Code address: 139 Near line: -1

02-23 13:40:10:823 org.jf.dexlib2.analysis.AnalysisException at org.jf.dexlib2.analysis.MethodAnalyzer.analyze(MethodAnalyzer.java:239) at org.jf.dexlib2.analysis.MethodAnalyzer.(MethodAnalyzer.java:165) at org.rh.smaliex.DexUtil$ODexRewriterModule$1$1.getInstructions(DexUtil.java:402) at org.jf.dexlib2.immutable.ImmutableMethodImplementation.of(ImmutableMethodImplementation.java:82) at org.jf.dexlib2.immutable.ImmutableMethod.(ImmutableMethod.java:72) ...(Skip 21 traces) at org.rh.smaliex.DexUtil$ODexRewriter.rewriteDexFile(DexUtil.java:342) at org.rh.smaliex.OatUtil.convertToDex(OatUtil.java:269) at org.rh.smaliex.OatUtil.oat2dex(OatUtil.java:134) at org.rh.smaliex.Main.mainImpl(Main.java:128) at org.rh.smaliex.Main.main(Main.java:54)

02-23 13:40:10:823 Failed to re-construct dex java.lang.ClassCastException: org.jf.dexlib2.analysis.UnresolvedOdexInstruction cannot be cast to org.jf.dexlib2.iface.instruction.formats.Instruction35ms 02-23 13:40:10:823 convertToDex: skip /system/priv-app/LGCameraApp/LGCameraApp.apk [*]

[*] LGContacts.apk... 02-23 13:40:11:224 De-optimizing /system/priv-app/LGContacts/LGContacts.apk 02-23 13:40:14:365 Analysis error in class=Lcom/android/contacts/group/JoinedGroupData; method=equals Method: Lcom/android/contacts/group/JoinedGroupData;->equals(Ljava/lang/Object;)Z Opcode: invoke-virtual-quick Code address: 81 Near line: 90

02-23 13:40:14:365 org.jf.dexlib2.analysis.AnalysisException at org.jf.dexlib2.analysis.MethodAnalyzer.analyze(MethodAnalyzer.java:239) at org.jf.dexlib2.analysis.MethodAnalyzer.(MethodAnalyzer.java:165) at org.rh.smaliex.DexUtil$ODexRewriterModule$1$1.getInstructions(DexUtil.java:402) at org.jf.dexlib2.immutable.ImmutableMethodImplementation.of(ImmutableMethodImplementation.java:82) at org.jf.dexlib2.immutable.ImmutableMethod.(ImmutableMethod.java:72) ...(Skip 21 traces) at org.rh.smaliex.DexUtil$ODexRewriter.rewriteDexFile(DexUtil.java:342) at org.rh.smaliex.OatUtil.convertToDex(OatUtil.java:269) at org.rh.smaliex.OatUtil.oat2dex(OatUtil.java:134) at org.rh.smaliex.Main.mainImpl(Main.java:128) at org.rh.smaliex.Main.main(Main.java:54)

02-23 13:40:14:365 Failed to re-construct dex java.lang.ClassCastException: org.jf.dexlib2.analysis.UnresolvedOdexInstruction cannot be cast to org.jf.dexlib2.iface.instruction.formats.Instruction35ms 02-23 13:40:14:366 convertToDex: skip /system/priv-app/LGContacts/LGContacts.apk [*]

[*] LGHome.apk... 02-23 13:40:14:716 De-optimizing /system/priv-app/LGHome/LGHome.apk 02-23 13:40:16:785 Analysis error in class=Lcom/lge/launcher2/Launcher; method=bindItems Method: Lcom/lge/launcher2/Launcher;->bindItems(Ljava/util/ArrayList;II)V Opcode: iget-object-quick Code address: 621 Near line: 3942

02-23 13:40:16:785 org.jf.dexlib2.analysis.AnalysisException: Could not resolve the field in class (Reference,Ljava/lang/Object;) at offset 80 in bindItems at org.jf.dexlib2.analysis.MethodAnalyzer.analyzeIputIgetQuick(MethodAnalyzer.java:2042) at org.jf.dexlib2.analysis.MethodAnalyzer.analyzeInstruction(MethodAnalyzer.java:1134) at org.jf.dexlib2.analysis.MethodAnalyzer.analyze(MethodAnalyzer.java:228) at org.jf.dexlib2.analysis.MethodAnalyzer.(MethodAnalyzer.java:165) at org.rh.smaliex.DexUtil$ODexRewriterModule$1$1.getInstructions(DexUtil.java:402) ...(Skip 23 traces) at org.rh.smaliex.DexUtil$ODexRewriter.rewriteDexFile(DexUtil.java:342) at org.rh.smaliex.OatUtil.convertToDex(OatUtil.java:269) at org.rh.smaliex.OatUtil.oat2dex(OatUtil.java:134) at org.rh.smaliex.Main.mainImpl(Main.java:128) at org.rh.smaliex.Main.main(Main.java:54)

02-23 13:40:16:785 Failed to re-construct dex java.lang.ClassCastException: org.jf.dexlib2.analysis.UnresolvedOdexInstruction cannot be cast to org.jf.dexlib2.iface.instruction.formats.Instruction22cs 02-23 13:40:16:785 convertToDex: skip /system/priv-app/LGHome/LGHome.apk [*]\

[*] LGMessage.apk... 02-23 13:40:17:170 De-optimizing /system/priv-app/LGMessage/LGMessage.apk 02-23 13:40:18:943 Analysis error in class=Lcom/android/mms/ui/MessageListAdapter; method=bindView Method: Lcom/android/mms/ui/MessageListAdapter;->bindView(Landroid/view/View;Landroid/content/Context;Landroid/database/Cursor;)V Opcode: invoke-virtual-quick Code address: 355 Near line: 534

02-23 13:40:18:943 org.jf.dexlib2.analysis.AnalysisException at org.jf.dexlib2.analysis.MethodAnalyzer.analyze(MethodAnalyzer.java:239) at org.jf.dexlib2.analysis.MethodAnalyzer.(MethodAnalyzer.java:165) at org.rh.smaliex.DexUtil$ODexRewriterModule$1$1.getInstructions(DexUtil.java:402) at org.jf.dexlib2.immutable.ImmutableMethodImplementation.of(ImmutableMethodImplementation.java:82) at org.jf.dexlib2.immutable.ImmutableMethod.(ImmutableMethod.java:72) ...(Skip 21 traces) at org.rh.smaliex.DexUtil$ODexRewriter.rewriteDexFile(DexUtil.java:342) at org.rh.smaliex.OatUtil.convertToDex(OatUtil.java:269) at org.rh.smaliex.OatUtil.oat2dex(OatUtil.java:134) at org.rh.smaliex.Main.mainImpl(Main.java:128) at org.rh.smaliex.Main.main(Main.java:54)

02-23 13:40:18:943 Failed to re-construct dex java.lang.ClassCastException: org.jf.dexlib2.analysis.UnresolvedOdexInstruction cannot be cast to org.jf.dexlib2.iface.instruction.formats.Instruction35ms 02-23 13:40:18:943 convertToDex: skip /system/priv-app/LGMessage/LGMessage.apk [*]

[*] LGSettings.apk... 02-23 13:40:19:328 De-optimizing /system/priv-app/LGSettings/LGSettings.apk 02-23 13:40:21:033 Analysis error in class=Lcom/android/settings/applications/RunningProcessesView$ViewHolder; method=bind Method: Lcom/android/settings/applications/RunningProcessesView$ViewHolder;->bind(Lcom/android/settings/applications/RunningState;Lcom/android/settings/applications/RunningState$BaseItem;Ljava/lang/StringBuilder;)Lcom/android/settings/applications/RunningProcessesView$ActiveItem; Opcode: iget-object-quick Code address: 39 Near line: 203

02-23 13:40:21:033 org.jf.dexlib2.analysis.AnalysisException: Could not resolve the field in class (Reference,Lcom/android/settings/applications/RunningState$BaseItem;) at offset 76 in bind at org.jf.dexlib2.analysis.MethodAnalyzer.analyzeIputIgetQuick(MethodAnalyzer.java:2042) at org.jf.dexlib2.analysis.MethodAnalyzer.analyzeInstruction(MethodAnalyzer.java:1134) at org.jf.dexlib2.analysis.MethodAnalyzer.analyze(MethodAnalyzer.java:228) at org.jf.dexlib2.analysis.MethodAnalyzer.(MethodAnalyzer.java:165) at org.rh.smaliex.DexUtil$ODexRewriterModule$1$1.getInstructions(DexUtil.java:402) ...(Skip 23 traces) at org.rh.smaliex.DexUtil$ODexRewriter.rewriteDexFile(DexUtil.java:342) at org.rh.smaliex.OatUtil.convertToDex(OatUtil.java:269) at org.rh.smaliex.OatUtil.oat2dex(OatUtil.java:134) at org.rh.smaliex.Main.mainImpl(Main.java:128) at org.rh.smaliex.Main.main(Main.java:54)

02-23 13:40:21:033 Failed to re-construct dex java.lang.ClassCastException: org.jf.dexlib2.analysis.UnresolvedOdexInstruction cannot be cast to org.jf.dexlib2.iface.instruction.formats.Instruction22cs 02-23 13:40:21:033 convertToDex: skip /system/priv-app/LGSettings/LGSettings.apk [*]

testwhat commented 8 years ago

The latest build should work for most of cases. Unless LGWeatherService (special LG format) and LGEIME (some classes does not contain debug info) which are too hard to recover original information.