Closed pundoo closed 4 years ago
The classname is somewhat unexpected.
Could you please post the SplashScreen$4.smali
file?
I met same problem. Processing /Users/minyou/Downloads/decomplier/out/smali/android/arch/lifecycle/o$a.smali panic: runtime error: index out of range
goroutine 42 [running]: github.com/alexeysoshin/smali2java/parser.(FieldParser).Parse(0xc4200d1dd8, 0xc4200d1ec8, 0xc4200de2d0, 0x5, 0x5, 0xc4201bc200, 0x100000000000031) /Users/minyou/go/src/github.com/alexeysoshin/smali2java/parser/field.go:21 +0x30b github.com/alexeysoshin/smali2java/parser.(JavaFile).ParseLine(0xc4200d1ec8, 0xc4201be060, 0x30, 0xe17, 0xc4201be060) /Users/minyou/go/src/github.com/alexeysoshin/smali2java/parser/java_file.go:78 +0x658 main.convertSmali.func1(0xc4200789c0, 0x52, 0xc42008c010) /Users/minyou/go/src/github.com/alexeysoshin/smali2java/smali2java.go:54 +0x194 created by main.convertSmali /Users/minyou/go/src/github.com/alexeysoshin/smali2java/smali2java.go:43 +0xed
@djjowfy , thanks a lot for your example. It helped my in finding the problem. Please get the latest revision and let me know if it works for you now.
I'm getting it with the latest, and with inconsistent points where it panics i.e. this got a lot further than the one below it.
$ /home/craig/go/src/github.com/alexeysoshin/smali2java/smali2java -path_to_smali=smali/com/lifx/
2018/07/17 02:12:27 Processing smali/com/lifx/app/AnalyticsApplication.smali
2018/07/17 02:12:27 Processing smali/com/lifx/app/AppBroadcastReceiver$BroadcastEventListener.smali
2018/07/17 02:12:27 Processing smali/com/lifx/app/AppBroadcastReceiver.smali
2018/07/17 02:12:27 Processing smali/com/lifx/app/DiagnosticsActivity$Companion$queryWANState$2$1.smali
2018/07/17 02:12:27 Processing smali/com/lifx/app/DiagnosticsActivity$Companion$sendEmail$1.smali
2018/07/17 02:12:27 Processing smali/com/lifx/app/DiagnosticsActivity$Companion.smali
2018/07/17 02:12:27 Processing smali/com/lifx/app/DiagnosticsActivity$EmailPreparationTask.smali
2018/07/17 02:12:27 Processing smali/com/lifx/app/DiagnosticsActivity$onCreate$1.smali
2018/07/17 02:12:27 Processing smali/com/lifx/app/DiagnosticsActivity$onLongClick$$inlined$let$lambda$1.smali
2018/07/17 02:12:27 Processing smali/com/lifx/app/DiagnosticsActivity$onResume$$inlined$bindServiceAsObservable$1$1.smali
2018/07/17 02:12:27 Processing smali/com/lifx/app/DiagnosticsActivity$onResume$$inlined$bindServiceAsObservable$1.smali
2018/07/17 02:12:27 Processing smali/com/lifx/app/DiagnosticsActivity$onResume$1.smali
2018/07/17 02:12:27 Processing smali/com/lifx/app/DiagnosticsActivity$onResume$2$$special$$inlined$let$lambda$1.smali
2018/07/17 02:12:27 Processing smali/com/lifx/app/DiagnosticsActivity$onResume$2$1$1.smali
2018/07/17 02:12:27 Processing smali/com/lifx/app/DiagnosticsActivity$onResume$2$1$2.smali
2018/07/17 02:12:27 Processing smali/com/lifx/app/DiagnosticsActivity$onResume$2.smali
2018/07/17 02:12:27 Processing smali/com/lifx/app/DiagnosticsActivity.smali
2018/07/17 02:12:27 Processing smali/com/lifx/app/FactoryTestActivity$onResume$subscription$1$1$1.smali
2018/07/17 02:12:27 Processing smali/com/lifx/app/FactoryTestActivity$onResume$subscription$1$1.smali
2018/07/17 02:12:27 Processing smali/com/lifx/app/FactoryTestActivity$onResume$subscription$1$2.smali
2018/07/17 02:12:27 Processing smali/com/lifx/app/FactoryTestActivity$onResume$subscription$1$3.smali
2018/07/17 02:12:27 Processing smali/com/lifx/app/FactoryTestActivity.smali
2018/07/17 02:12:27 Processing smali/com/lifx/app/FragmentCallbacks.smali
2018/07/17 02:12:27 Processing smali/com/lifx/app/LifxApplication.smali
2018/07/17 02:12:27 Processing smali/com/lifx/app/MainActivity$$ViewInjector.smali
2018/07/17 02:12:27 Processing smali/com/lifx/app/MainActivity$1.smali
2018/07/17 02:12:27 Processing smali/com/lifx/app/MainActivity$2.smali
2018/07/17 02:12:27 Processing smali/com/lifx/app/MainActivity$3.smali
2018/07/17 02:12:27 Processing smali/com/lifx/app/MainActivity$4.smali
panic: runtime error: index out of range
goroutine 9 [running]:
github.com/alexeysoshin/smali2java/parser.(*FieldParser).Parse(0xc420046da0, 0xc420046ec8, 0xc4200a4280, 0x5, 0x5, 0xc4200b4336, 0x55)
/home/craig/go/src/github.com/alexeysoshin/smali2java/parser/field.go:21 +0x32e
github.com/alexeysoshin/smali2java/parser.(*JavaFile).ParseLine(0xc420046ec8, 0xc4200c2300, 0x55, 0xcca, 0xc4200c2300)
/home/craig/go/src/github.com/alexeysoshin/smali2java/parser/java_file.go:82 +0xf29
main.convertSmali.func1(0xc4200189b0, 0x42, 0xc4200103c0)
/home/craig/go/src/github.com/alexeysoshin/smali2java/smali2java.go:54 +0x1b6
created by main.convertSmali
/home/craig/go/src/github.com/alexeysoshin/smali2java/smali2java.go:64 +0xf7
$ /home/craig/go/src/github.com/alexeysoshin/smali2java/smali2java -path_to_smali=smali/com/lifx/
2018/07/17 02:12:37 Processing smali/com/lifx/app/AnalyticsApplication.smali
2018/07/17 02:12:37 Processing smali/com/lifx/app/AppBroadcastReceiver$BroadcastEventListener.smali
2018/07/17 02:12:37 Processing smali/com/lifx/app/AppBroadcastReceiver.smali
2018/07/17 02:12:37 Processing smali/com/lifx/app/DiagnosticsActivity$Companion$queryWANState$2$1.smali
2018/07/17 02:12:37 Processing smali/com/lifx/app/DiagnosticsActivity$Companion$sendEmail$1.smali
2018/07/17 02:12:37 Processing smali/com/lifx/app/DiagnosticsActivity$Companion.smali
2018/07/17 02:12:37 Processing smali/com/lifx/app/DiagnosticsActivity$EmailPreparationTask.smali
2018/07/17 02:12:37 Processing smali/com/lifx/app/DiagnosticsActivity$onCreate$1.smali
2018/07/17 02:12:37 Processing smali/com/lifx/app/DiagnosticsActivity$onLongClick$$inlined$let$lambda$1.smali
2018/07/17 02:12:37 Processing smali/com/lifx/app/DiagnosticsActivity$onResume$$inlined$bindServiceAsObservable$1$1.smali
2018/07/17 02:12:37 Processing smali/com/lifx/app/DiagnosticsActivity$onResume$$inlined$bindServiceAsObservable$1.smali
2018/07/17 02:12:37 Processing smali/com/lifx/app/DiagnosticsActivity$onResume$1.smali
2018/07/17 02:12:37 Processing smali/com/lifx/app/DiagnosticsActivity$onResume$2$$special$$inlined$let$lambda$1.smali
panic: runtime error: slice bounds out of range
goroutine 5 [running]:
github.com/alexeysoshin/smali2java/parser.(*MethodParser).Parse(0xc420046da0, 0xc420046ec8, 0xc4200b8300, 0x4, 0x4, 0xc4200b6188, 0x52)
/home/craig/go/src/github.com/alexeysoshin/smali2java/parser/method.go:37 +0x7a1
github.com/alexeysoshin/smali2java/parser.(*JavaFile).ParseLine(0xc420046ec8, 0xc4200bc420, 0x52, 0xe78, 0xc4200bc420)
/home/craig/go/src/github.com/alexeysoshin/smali2java/parser/java_file.go:79 +0xc84
main.convertSmali.func1(0xc4200168a0, 0x2d, 0xc4200103c0)
/home/craig/go/src/github.com/alexeysoshin/smali2java/smali2java.go:54 +0x1b6
created by main.convertSmali
/home/craig/go/src/github.com/alexeysoshin/smali2java/smali2java.go:64 +0xf7
And different again
$ /home/craig/go/src/github.com/alexeysoshin/smali2java/smali2java -path_to_smali=smali/com/lifx/
2018/07/17 02:14:05 Processing smali/com/lifx/app/AnalyticsApplication.smali
2018/07/17 02:14:05 Processing smali/com/lifx/app/AppBroadcastReceiver$BroadcastEventListener.smali
2018/07/17 02:14:05 Processing smali/com/lifx/app/AppBroadcastReceiver.smali
2018/07/17 02:14:05 Processing smali/com/lifx/app/DiagnosticsActivity$Companion$queryWANState$2$1.smali
2018/07/17 02:14:05 Processing smali/com/lifx/app/DiagnosticsActivity$Companion$sendEmail$1.smali
2018/07/17 02:14:05 Processing smali/com/lifx/app/DiagnosticsActivity$Companion.smali
2018/07/17 02:14:05 Processing smali/com/lifx/app/DiagnosticsActivity$EmailPreparationTask.smali
2018/07/17 02:14:05 Processing smali/com/lifx/app/DiagnosticsActivity$onCreate$1.smali
2018/07/17 02:14:05 Processing smali/com/lifx/app/DiagnosticsActivity$onLongClick$$inlined$let$lambda$1.smali
2018/07/17 02:14:05 Processing smali/com/lifx/app/DiagnosticsActivity$onResume$$inlined$bindServiceAsObservable$1$1.smali
2018/07/17 02:14:05 Processing smali/com/lifx/app/DiagnosticsActivity$onResume$$inlined$bindServiceAsObservable$1.smali
2018/07/17 02:14:05 Processing smali/com/lifx/app/DiagnosticsActivity$onResume$1.smali
2018/07/17 02:14:05 Processing smali/com/lifx/app/DiagnosticsActivity$onResume$2$$special$$inlined$let$lambda$1.smali
2018/07/17 02:14:05 Processing smali/com/lifx/app/DiagnosticsActivity$onResume$2$1$1.smali
2018/07/17 02:14:05 Processing smali/com/lifx/app/DiagnosticsActivity$onResume$2$1$2.smali
2018/07/17 02:14:05 Processing smali/com/lifx/app/DiagnosticsActivity$onResume$2.smali
panic: runtime error: index out of range
goroutine 8 [running]:
github.com/alexeysoshin/smali2java/parser.(*FieldParser).Parse(0xc420046da0, 0xc420046ec8, 0xc42009a280, 0x5, 0x5, 0xc4200a036f, 0x5b)
/home/craig/go/src/github.com/alexeysoshin/smali2java/parser/field.go:21 +0x32e
github.com/alexeysoshin/smali2java/parser.(*JavaFile).ParseLine(0xc420046ec8, 0xc4200aa2a0, 0x5b, 0xc91, 0xc4200aa2a0)
/home/craig/go/src/github.com/alexeysoshin/smali2java/parser/java_file.go:82 +0xf29
main.convertSmali.func1(0xc420018910, 0x48, 0xc4200103c0)
/home/craig/go/src/github.com/alexeysoshin/smali2java/smali2java.go:54 +0x1b6
created by main.convertSmali
/home/craig/go/src/github.com/alexeysoshin/smali2java/smali2java.go:64 +0xf7
It seems to stop at a different file every time. Let me know if there is anything else you need.
This is the LIFX apk (smart lights)
@shanness Interesting. Probably has to do with inner classes. Could you attach one of the files, for example smali/com/lifx/app/MainActivity$4.smali
, please?
Yep, will do. I'll also include this one, there are lots of inner classes, so I think it's just a fluke that the above broke on that, this didn't. Will include this one too.
$ /home/craig/go/src/github.com/alexeysoshin/smali2java/smali2java -path_to_smali=smali/com/lifx/
2018/07/17 12:06:44 Processing smali/com/lifx/app/AnalyticsApplication.smali
2018/07/17 12:06:44 Processing smali/com/lifx/app/AppBroadcastReceiver$BroadcastEventListener.smali
2018/07/17 12:06:44 Processing smali/com/lifx/app/AppBroadcastReceiver.smali
2018/07/17 12:06:44 Processing smali/com/lifx/app/DiagnosticsActivity$Companion$queryWANState$2$1.smali
2018/07/17 12:06:44 Processing smali/com/lifx/app/DiagnosticsActivity$Companion$sendEmail$1.smali
2018/07/17 12:06:44 Processing smali/com/lifx/app/DiagnosticsActivity$Companion.smali
2018/07/17 12:06:44 Processing smali/com/lifx/app/DiagnosticsActivity$EmailPreparationTask.smali
2018/07/17 12:06:44 Processing smali/com/lifx/app/DiagnosticsActivity$onCreate$1.smali
2018/07/17 12:06:44 Processing smali/com/lifx/app/DiagnosticsActivity$onLongClick$$inlined$let$lambda$1.smali
2018/07/17 12:06:44 Processing smali/com/lifx/app/DiagnosticsActivity$onResume$$inlined$bindServiceAsObservable$1$1.smali
2018/07/17 12:06:44 Processing smali/com/lifx/app/DiagnosticsActivity$onResume$$inlined$bindServiceAsObservable$1.smali
2018/07/17 12:06:44 Processing smali/com/lifx/app/DiagnosticsActivity$onResume$1.smali
2018/07/17 12:06:44 Processing smali/com/lifx/app/DiagnosticsActivity$onResume$2$$special$$inlined$let$lambda$1.smali
2018/07/17 12:06:44 Processing smali/com/lifx/app/DiagnosticsActivity$onResume$2$1$1.smali
2018/07/17 12:06:44 Processing smali/com/lifx/app/DiagnosticsActivity$onResume$2$1$2.smali
2018/07/17 12:06:44 Processing smali/com/lifx/app/DiagnosticsActivity$onResume$2.smali
2018/07/17 12:06:44 Processing smali/com/lifx/app/DiagnosticsActivity.smali
2018/07/17 12:06:44 Processing smali/com/lifx/app/FactoryTestActivity$onResume$subscription$1$1$1.smali
2018/07/17 12:06:44 Processing smali/com/lifx/app/FactoryTestActivity$onResume$subscription$1$1.smali
2018/07/17 12:06:44 Processing smali/com/lifx/app/FactoryTestActivity$onResume$subscription$1$2.smali
2018/07/17 12:06:44 Processing smali/com/lifx/app/FactoryTestActivity$onResume$subscription$1$3.smali
2018/07/17 12:06:44 Processing smali/com/lifx/app/FactoryTestActivity.smali
2018/07/17 12:06:44 Processing smali/com/lifx/app/FragmentCallbacks.smali
panic: runtime error: index out of range
goroutine 8 [running]:
github.com/alexeysoshin/smali2java/parser.(*FieldParser).Parse(0xc420046da0, 0xc420046ec8, 0xc42009a280, 0x5, 0x5, 0xc4200b636f, 0x5b)
/home/craig/go/src/github.com/alexeysoshin/smali2java/parser/field.go:21 +0x32e
github.com/alexeysoshin/smali2java/parser.(*JavaFile).ParseLine(0xc420046ec8, 0xc4200c82a0, 0x5b, 0xc91, 0xc4200c82a0)
/home/craig/go/src/github.com/alexeysoshin/smali2java/parser/java_file.go:82 +0xf29
main.convertSmali.func1(0xc420018910, 0x48, 0xc4200103c0)
/home/craig/go/src/github.com/alexeysoshin/smali2java/smali2java.go:54 +0x1b6
created by main.convertSmali
/home/craig/go/src/github.com/alexeysoshin/smali2java/smali2java.go:64 +0xf7
Here's smali/com/lifx/app/FragmentCallbacks.smali
.class public interface abstract Lcom/lifx/app/FragmentCallbacks;
.super Ljava/lang/Object;
.source "SourceFile"
# virtual methods
.method public abstract a(Lcom/lifx/app/util/OnServiceBoundListener;)V
.end method
And smali/com/lifx/app/MainActivity$4.smali
.class Lcom/lifx/app/MainActivity$4;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/lifx/app/MainActivity;->onActivityResult(IILandroid/content/Intent;)V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x0
name = null
.end annotation
# instance fields
.field final synthetic a:Lcom/lifx/app/MainActivity;
# direct methods
.method constructor <init>(Lcom/lifx/app/MainActivity;)V
.locals 0
.prologue
.line 409
iput-object p1, p0, Lcom/lifx/app/MainActivity$4;->a:Lcom/lifx/app/MainActivity;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public run()V
.locals 1
.prologue
.line 412
iget-object v0, p0, Lcom/lifx/app/MainActivity$4;->a:Lcom/lifx/app/MainActivity;
invoke-virtual {v0}, Lcom/lifx/app/MainActivity;->u()V
.line 413
return-void
.end method
@shanness Thanks, your examples helped me to catch at least two bugs in the current code!
Please check latest version and if you have any other crashes, please submit other smali
files to investigate.
It's still failing all over the place on random ones. I'll give you a tgz with all the smali files I'm trying it on. You can grab it here.
I've had it fail on
smali/com/lifx/app/FactoryTestActivity$onResume$subscription$1$1$1.smali
smali/com/lifx/app/DiagnosticsActivity.smali
smali/com/lifx/app/LifxApplication.smali
smali/com/lifx/app/DiagnosticsActivity$onResume$2$1$1.smali
smali/com/lifx/app/FactoryTestActivity$onResume$subscription$1$2.smali
and more. Almost every run is a different file.
@shanness I did a couple of improvements. First, I removed concurrency entirely, making run more predictable. Second, your entire project should get parsed without crashes.
Hey there.
Definitely working much better. I assume the messy output is the java classes. They seem pretty unreadable, but might be able to help.
It's now working on the lifx/app package, but fails on the lifx/core/util one (which isn't in the tgz above).
I've updated the above tgz to include all the com.lifx smali files if you are interested in finding the breakage.
Processing smali/com/lifx/core/util/Log$Delegate.smali panic: runtime error: slice bounds out of range
Cheers
Yes, there is still error:
panic: runtime error: slice bounds out of range
Hi @pj-alvarado10 , Could you please attach the file the causes this error for you?
Thanks
Hi. You can see? panic: runtime error: slice bounds out of range
Won't be relevant after #11 is implemented
Hi,
When I execute command I get this error :
What's the issue?
PS: I'm using GO v1.7.6. Even tried with v1.9.3, same error.