Closed paulobrien closed 8 years ago
Please provide the boot.oat and app odex.
I uploaded the boot.oat and 2 problem odex files here:
http://content.modaco.net/dropzone/smaliex.files.zip
P
Working on cast case.
FTCService.smali
.method static constructor
.line 181
if-eqz v2, :cond_78
instance-of v3, v2, Ljava/lang/Integer;
if-eqz v3, :cond_78
.line 182
nop
nop
.end local v2 # "value":Ljava/lang/Object;
invoke-virtual-quick {v2}, vtable@14
Utilities.smali
.method static constructor
.line 294
.local v2, "status":Ljava/lang/Object;
instance-of v3, v2, Ljava/lang/Integer;
if-eqz v3, :cond_df
.line 295
nop
nop
.end local v2 # "status":Ljava/lang/Object;
invoke-virtual-quick {v2}, vtable@14
Thanks for looking at this. Could you clarify your reply? Anything else you need from me?
P
Have a try: download
Workaround in 3ee8b5fc
Previous reply is about check-cast will be compiled to 2 nop: http://androidxref.com/5.0.0_r2/xref/art/compiler/dex/dex_to_dex_compiler.cc#175
Many thanks.
Using the build linked above returns the following:
10-12 17:31:13:394 Invalid elf magic: HwLauncher6.odex
10-12 17:31:13:521 De-optimizing /system/app/HwLauncher6/HwLauncher6.apk
10-12 17:31:14:725 Analysis info of Lcom/huawei/android/launcher/Utilities;-><clinit>:
Recover optimized nop-nop: cast v2 to Ljava/lang/Integer; for INVOKE_VIRTUAL_QUICK_ART at line 298
Recover optimized nop-nop: cast v0 to Ljava/lang/Integer; for INVOKE_VIRTUAL_QUICK_ART at line 304
10-12 17:31:15:069 Analysis info of Lcom/huawei/netinteractive/NetInteractiveGetJson;->getJson:
Recover optimized nop-nop: cast v3 to Ljavax/net/ssl/HttpsURLConnection; for MOVE_OBJECT at line 98
Resolve method from the nearest instance-of. method=Ljavax/net/ssl/HttpsURLConnection;->setSSLSocketFactory instr=INVOKE_VIRTUAL_QUICK_ART at line 98
Recover optimized nop-nop: cast v3 to Ljavax/net/ssl/HttpsURLConnection; for MOVE_OBJECT at line 114
Resolve method from the nearest instance-of. method=Ljavax/net/ssl/HttpsURLConnection;->setHostnameVerifier instr=INVOKE_VIRTUAL_QUICK_ART at line 114
Resolve calling object from debug info: instr=INVOKE_VIRTUAL_QUICK_ART type=Ljava/io/InputStreamReader; mIdx=11 objReg=8 at line 155
Resolve calling object from debug info: instr=INVOKE_VIRTUAL_QUICK_ART type=Ljava/io/InputStreamReader; mIdx=11 objReg=8 at line 155
10-12 17:31:15:936 Output to /var/bigdisk/h7/b121/system/app.temp/HwLauncher6/arm64/HwLauncher6.dex
Not sure where that invalid elf magic has come from!
Please try again with latest version. Those output information can be ignored.
Perfect. Built a new version and after updating it to smali/baksmali 2.1.0, I was able to successfully deoptimise the two apps mentioned above. Thanks for your help, much appreciated!
I receive the following error when deoptimising a specific application from the Honor 7 (5.0.2):
(freshly built SmaliEx today)