NAME=Check if is Java lang
FILE=bins/java/Hello.class
CMDS=iI~lang
EXPECT=<<EOF
lang     java
EOF
RUN


NAME=Check if is Kotlin lang
FILE=bins/java/HiKt.class
CMDS=iI~lang
EXPECT=<<EOF
lang     kotlin
EOF
RUN


NAME=Check if is Groovy lang
FILE=bins/java/test.class
CMDS=iI~lang
EXPECT=<<EOF
lang     groovy
EOF
RUN


NAME=Check if has line number
FILE=bins/java/Main.class
CMDS=iI~linenum
EXPECT=<<EOF
linenum  true
EOF
RUN


NAME=Check that it does not have line number
FILE=bins/java/TryWithResources.class
CMDS=iI~linenum
EXPECT=<<EOF
linenum  false
EOF
RUN


NAME=Check that entry point points to main
FILE=bins/java/HiKt.class
CMDS=iS ; s
EXPECT=<<EOF
paddr      size  vaddr      vsize align perm name                           type flags 
---------------------------------------------------------------------------------------
0x0000000a 0x201 0x0000000a 0x201 0x0   -r-- class.constant_pool                 
0x0000020f 0x4e  0x0000020f 0x4e  0x0   -r-- class.methods                       
0x0000020f 0x4e  0x0000020f 0x4e  0x0   -r-- class.methods.main.attr             
0x00000225 0x31  0x00000225 0x31  0x0   -r-x class.methods.main.attr.0.code      
0x0000025d 0x54  0x0000025d 0x54  0x0   -r-- class.attr                          
0x225
EOF
RUN


NAME=Check that entry point points to <init>
FILE=bins/java/jdwpexeccmd.class
CMDS=iS ; s
EXPECT=<<EOF
paddr      size  vaddr      vsize align perm name                             type flags 
-----------------------------------------------------------------------------------------
0x0000000a 0x315 0x0000000a 0x315 0x0   -r-- class.constant_pool                   
0x00000323 0x124 0x00000323 0x124 0x0   -r-- class.methods                         
0x00000323 0x2b  0x00000323 0x2b  0x0   -r-- class.methods._init_.attr             
0x00000339 0x1d  0x00000339 0x1d  0x0   -r-x class.methods._init_.attr.0.code      
0x0000034e 0xf9  0x0000034e 0xf9  0x0   -r-- class.methods.run.attr                
0x00000364 0xe9  0x00000364 0xe9  0x0   -r-x class.methods.run.attr.0.code         
0x00000447 0x8   0x00000447 0x8   0x0   -r-- class.attr                            
0x339
EOF
RUN


NAME=Check that strings are provided by Java class
FILE=bins/java/HiKt.class
CMDS=iz
EXPECT=<<EOF
nth paddr      vaddr      len size section             type  string                                                                                                                                                                                                                                                                  
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1   0x0000000a 0x0000000a 4   4    class.constant_pool mutf8 HiKt
3   0x00000014 0x00000014 16  16   class.constant_pool mutf8 java/lang/Object
5   0x0000002a 0x0000002a 4   4    class.constant_pool mutf8 main
6   0x00000031 0x00000031 22  22   class.constant_pool mutf8 ([Ljava/lang/String;)V
7   0x0000004a 0x0000004a 35  35   class.constant_pool mutf8 Lorg/jetbrains/annotations/NotNull;
8   0x00000070 0x00000070 4   4    class.constant_pool mutf8 args
10  0x0000007a 0x0000007a 30  30   class.constant_pool mutf8 kotlin/jvm/internal/Intrinsics
12  0x0000009e 0x0000009e 23  23   class.constant_pool mutf8 checkParameterIsNotNull
13  0x000000b8 0x000000b8 39  39   class.constant_pool mutf8 (Ljava/lang/Object;Ljava/lang/String;)V
16  0x000000ec 0x000000ec 19  19   class.constant_pool mutf8 [Ljava/lang/String;
17  0x00000102 0x00000102 17  17   class.constant_pool mutf8 Lkotlin/Metadata;
18  0x00000116 0x00000116 2   2    class.constant_pool mutf8 mv
21  0x00000125 0x00000125 2   2    class.constant_pool mutf8 bv
23  0x0000012f 0x0000012f 1   1    class.constant_pool mutf8 k
25  0x00000138 0x00000138 2   2    class.constant_pool mutf8 d1
26  0x0000013d 0x0000013d 53  53   class.constant_pool mutf8 \u0000\u0012\n\u0000\n\u0002\u0010\u0002\n\u0000\n\u0002\u0010\u0011\n\u0002\u0010\u000e\n\u0000\u001a\u0019\u0010\u0000\u001a\u00020\u00012\f\u0010\u0002\u001a\b\u0012\u0004\u0012\u00020\u00040\u0003¢\u0006\u0002\u0010\u0005 blocks=Basic Latin,Latin-1 Supplement
27  0x00000175 0x00000175 2   2    class.constant_pool mutf8 d2
29  0x0000017d 0x0000017d 5   5    class.constant_pool mutf8 hi.kt
30  0x00000185 0x00000185 4   4    class.constant_pool mutf8 Code
31  0x0000018c 0x0000018c 18  18   class.constant_pool mutf8 LocalVariableTable
32  0x000001a1 0x000001a1 15  15   class.constant_pool mutf8 LineNumberTable
33  0x000001b3 0x000001b3 36  36   class.constant_pool mutf8 RuntimeInvisibleParameterAnnotations
34  0x000001da 0x000001da 10  10   class.constant_pool mutf8 SourceFile
35  0x000001e7 0x000001e7 25  25   class.constant_pool mutf8 RuntimeVisibleAnnotations
EOF
RUN


NAME=Java list symbols crash2.class
FILE=bins/java/crash2.class
CMDS=is
EXPECT=<<EOF
nth paddr vaddr bind type size lib name 
----------------------------------------
EOF
RUN


NAME=Java list symbols DemoTest.class
FILE=bins/java/DemoTest.class
CMDS=is
EXPECT=<<EOF
nth paddr      vaddr      bind   type  size lib                 name                     
-----------------------------------------------------------------------------------------
0   0x00000190 0x00000190 LOCAL  FUNC  27   DemoTest            int fun()
1   0x000001b9 0x000001b9 LOCAL  FUNC  33   DemoTest            void <init>()
2   0x000001e8 0x000001e8 LOCAL  FUNC  27   DemoTest            String res()
3   0x00000211 0x00000211 LOCAL  FUNC  37   DemoTest            void main(String[])
1   0x0000000a 0x0000000a IMPORT METH  0    java.lang.Object    imp.void <init>()
3   0x00000012 0x00000012 IMPORT FIELD 0    java.lang.System    imp.System.out
5   0x0000001a 0x0000001a IMPORT METH  0    java.io.PrintStream imp.void println(String)
EOF
RUN


NAME=Java list symbols ExCaseTableSwitch.class
FILE=bins/java/ExCaseTableSwitch.class
CMDS=is
EXPECT=<<EOF
nth paddr      vaddr      bind   type  size lib                     name                            
----------------------------------------------------------------------------------------------------
0   0x00000464 0x00000464 LOCAL  FUNC  47   CaseTableSwitch         void <init>()
1   0x000004a1 0x000004a1 LOCAL  FUNC  304  CaseTableSwitch         String a(int)
2   0x000005df 0x000005df LOCAL  FUNC  54   CaseTableSwitch         int a(String)
3   0x00000623 0x00000623 LOCAL  FUNC  44   CaseTableSwitch         int a()
4   0x0000065d 0x0000065d LOCAL  FUNC  427  CaseTableSwitch         void hopskip_line_switch()
5   0x00000816 0x00000816 LOCAL  FUNC  454  CaseTableSwitch         void straight_line_switch()
6   0x000009ea 0x000009ea LOCAL  FUNC  446  CaseTableSwitch         void straight_line_switch_()
7   0x00000bb6 0x00000bb6 LOCAL  FUNC  446  CaseTableSwitch         void main(String[])
8   0x0000004b 0x0000004b IMPORT METH  0    java.lang.Object        imp.void <init>()
16  0x000000b3 0x000000b3 IMPORT FIELD 0    java.lang.System        imp.System.out
26  0x0000011d 0x0000011d IMPORT METH  0    java.lang.StringBuilder imp.void <init>(String)
29  0x0000013f 0x0000013f IMPORT METH  0    java.lang.StringBuilder imp.StringBuilder append(int)
33  0x00000171 0x00000171 IMPORT METH  0    java.lang.StringBuilder imp.String toString()
37  0x0000019d 0x0000019d IMPORT METH  0    java.io.PrintStream     imp.void println(String)
46  0x000001fd 0x000001fd IMPORT METH  0    java.lang.String        imp.void <init>()
55  0x00000267 0x00000267 IMPORT METH  0    java.lang.Integer       imp.Integer valueOf(int)
61  0x000002ab 0x000002ab IMPORT METH  0    TestVariableSwitchUp    imp.void TestMultipleVariable()
EOF
RUN


NAME=Java list symbols fuckedup.class
FILE=bins/java/fuckedup.class
CMDS=is
EXPECT=<<EOF
nth paddr vaddr bind type size lib name 
----------------------------------------
EOF
RUN


NAME=Java list symbols Hello.class
FILE=bins/java/Hello.class
CMDS=is
EXPECT=<<EOF
nth paddr      vaddr      bind   type  size lib                     name                             
-----------------------------------------------------------------------------------------------------
0   0x0000022b 0x0000022b LOCAL  FUNC  42   Hello                   void <init>(String)
1   0x00000263 0x00000263 LOCAL  FUNC  57   Hello                   void say()
2   0x000002aa 0x000002aa LOCAL  FUNC  41   Hello                   void main(String[])
0   0x0000020b 0x0000020b LOCAL  OBJ   0    Hello                   Hello.who
1   0x0000000a 0x0000000a IMPORT METH  0    java.lang.Object        imp.void <init>()
2   0x0000000f 0x0000000f IMPORT FIELD 0    Hello                   imp.Hello.who
3   0x00000014 0x00000014 IMPORT FIELD 0    java.lang.System        imp.System.out
5   0x0000001c 0x0000001c IMPORT METH  0    java.lang.StringBuilder imp.void <init>()
7   0x00000024 0x00000024 IMPORT METH  0    java.lang.StringBuilder imp.StringBuilder append(String)
8   0x00000029 0x00000029 IMPORT METH  0    java.lang.StringBuilder imp.String toString()
9   0x0000002e 0x0000002e IMPORT METH  0    java.io.PrintStream     imp.void println(String)
12  0x00000039 0x00000039 IMPORT METH  0    Hello                   imp.void <init>(String)
13  0x0000003e 0x0000003e IMPORT METH  0    Hello                   imp.void say()
EOF
RUN


NAME=Java list symbols HiKt.class
FILE=bins/java/HiKt.class
CMDS=is
EXPECT=<<EOF
nth paddr      vaddr      bind   type size lib                            name                                             
---------------------------------------------------------------------------------------------------------------------------
0   0x00000225 0x00000225 GLOBAL FUNC 49   HiKt                           void main(String[])
15  0x000000e7 0x000000e7 IMPORT METH 0    kotlin.jvm.internal.Intrinsics imp.void checkParameterIsNotNull(Object, String)
EOF
RUN


NAME=Java list symbols invisible.class
FILE=bins/java/invisible.class
CMDS=is
EXPECT=<<EOF
nth paddr      vaddr      bind   type  size lib                 name                     
-----------------------------------------------------------------------------------------
0   0x00000120 0x00000120 LOCAL  FUNC  17   Test                void main(String[])
7   0x0000003a 0x0000003a IMPORT FIELD 0    java.lang.System    imp.System.out
8   0x0000003f 0x0000003f IMPORT METH  0    java.io.PrintStream imp.void println(String)
EOF
RUN


NAME=Java list symbols jdwpexeccmd.class
FILE=bins/java/jdwpexeccmd.class
CMDS=is
EXPECT=<<EOF
nth paddr      vaddr      bind   type size lib                       name                                     
--------------------------------------------------------------------------------------------------------------
0   0x00000339 0x00000339 LOCAL  FUNC 29   JDWPExecCmd               void <init>()
1   0x00000364 0x00000364 LOCAL  FUNC 233  JDWPExecCmd               String run(String)
1   0x0000000a 0x0000000a IMPORT METH 0    java.lang.Object          imp.void <init>()
3   0x00000012 0x00000012 IMPORT METH 0    java.lang.StringBuilder   imp.void <init>()
4   0x00000017 0x00000017 IMPORT METH 0    java.lang.StringBuilder   imp.StringBuilder append(String)
6   0x0000001f 0x0000001f IMPORT METH 0    java.lang.StringBuilder   imp.String toString()
7   0x00000024 0x00000024 IMPORT METH 0    java.lang.Runtime         imp.Runtime getRuntime()
8   0x00000029 0x00000029 IMPORT METH 0    java.lang.Runtime         imp.Process exec(String)
11  0x00000034 0x00000034 IMPORT METH 0    java.lang.Process         imp.java.io.InputStream getInputStream()
12  0x00000039 0x00000039 IMPORT METH 0    java.io.InputStreamReader imp.void <init>(java.io.InputStream)
13  0x0000003e 0x0000003e IMPORT METH 0    java.io.BufferedReader    imp.void <init>(java.io.Reader)
14  0x00000043 0x00000043 IMPORT METH 0    java.io.BufferedReader    imp.String readLine()
15  0x00000048 0x00000048 IMPORT METH 0    java.lang.String          imp.String trim()
EOF
RUN


NAME=Java list symbols MainActivity.class
FILE=bins/java/MainActivity.class
CMDS=is
EXPECT=<<EOF
nth paddr      vaddr      bind   type  size lib                                  name                                                                                                
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
0   0x00001c87 0x00001c87 LOCAL  FUNC  113  org.radare2.installer.MainActivity   void <init>()
1   0x00001d06 0x00001d06 LOCAL  FUNC  494  org.radare2.installer.MainActivity   void onCreate(android.os.Bundle)
2   0x00001f02 0x00001f02 LOCAL  FUNC  74   org.radare2.installer.MainActivity   boolean onCreateOptionsMenu(android.view.Menu)
3   0x00001f5a 0x00001f5a LOCAL  FUNC  143  org.radare2.installer.MainActivity   boolean onOptionsItemSelected(android.view.MenuItem)
4   0x00001ff7 0x00001ff7 LOCAL  FUNC  71   org.radare2.installer.MainActivity   boolean checkForRadare()
5   0x0000204c 0x0000204c LOCAL  FUNC  90   org.radare2.installer.MainActivity   void output(String)
6   0x000020b4 0x000020b4 LOCAL  FUNC  392  org.radare2.installer.MainActivity   void unTarGz(String, String)
7   0x00002254 0x00002254 LOCAL  FUNC  79   org.radare2.installer.MainActivity   void resetButtons()
8   0x000022b1 0x000022b1 LOCAL  FUNC  807  org.radare2.installer.MainActivity   boolean download(String, String)
9   0x000025e6 0x000025e6 LOCAL  FUNC  300  org.radare2.installer.MainActivity   void onResume()
10  0x00002720 0x00002720 LOCAL  FUNC  47   org.radare2.installer.MainActivity   org.radare2.installer.Utils access$000(org.radare2.installer.MainActivity)
11  0x0000275d 0x0000275d LOCAL  FUNC  58   org.radare2.installer.MainActivity   void access$100(org.radare2.installer.MainActivity, String)
12  0x000027a5 0x000027a5 LOCAL  FUNC  47   org.radare2.installer.MainActivity   String access$200(org.radare2.installer.MainActivity)
13  0x000027e2 0x000027e2 LOCAL  FUNC  47   org.radare2.installer.MainActivity   boolean access$300(org.radare2.installer.MainActivity)
14  0x0000281f 0x0000281f LOCAL  FUNC  59   org.radare2.installer.MainActivity   android.widget.Button access$402(org.radare2.installer.MainActivity, android.widget.Button)
15  0x00002868 0x00002868 LOCAL  FUNC  47   org.radare2.installer.MainActivity   android.widget.Button access$400(org.radare2.installer.MainActivity)
16  0x000028a5 0x000028a5 LOCAL  FUNC  47   org.radare2.installer.MainActivity   android.widget.TextView access$500(org.radare2.installer.MainActivity)
17  0x000028e2 0x000028e2 LOCAL  FUNC  47   org.radare2.installer.MainActivity   Thread access$600(org.radare2.installer.MainActivity)
18  0x0000291f 0x0000291f LOCAL  FUNC  59   org.radare2.installer.MainActivity   Thread access$602(org.radare2.installer.MainActivity, Thread)
19  0x00002968 0x00002968 LOCAL  FUNC  47   org.radare2.installer.MainActivity   android.os.Handler access$700(org.radare2.installer.MainActivity)
20  0x000029a5 0x000029a5 LOCAL  FUNC  69   org.radare2.installer.MainActivity   boolean access$800(org.radare2.installer.MainActivity, String, String)
0   0x00001c1f 0x00001c1f LOCAL  OBJ   0    org.radare2.installer.MainActivity   org.radare2.installer.MainActivity.outputView
1   0x00001c27 0x00001c27 LOCAL  OBJ   0    org.radare2.installer.MainActivity   org.radare2.installer.MainActivity.handler
2   0x00001c2f 0x00001c2f LOCAL  OBJ   0    org.radare2.installer.MainActivity   org.radare2.installer.MainActivity.remoteRunButton
3   0x00001c37 0x00001c37 LOCAL  OBJ   0    org.radare2.installer.MainActivity   org.radare2.installer.MainActivity.localRunButton
4   0x00001c3f 0x00001c3f LOCAL  OBJ   0    org.radare2.installer.MainActivity   org.radare2.installer.MainActivity.context
5   0x00001c47 0x00001c47 LOCAL  OBJ   0    org.radare2.installer.MainActivity   org.radare2.installer.MainActivity.mUtils
6   0x00001c4f 0x00001c4f LOCAL  OBJ   0    org.radare2.installer.MainActivity   org.radare2.installer.MainActivity.http_url_default
7   0x00001c57 0x00001c57 LOCAL  OBJ   0    org.radare2.installer.MainActivity   org.radare2.installer.MainActivity.onLocalRunButtonClick
8   0x00001c5f 0x00001c5f LOCAL  OBJ   0    org.radare2.installer.MainActivity   org.radare2.installer.MainActivity.thread
9   0x00001c67 0x00001c67 LOCAL  OBJ   0    org.radare2.installer.MainActivity   org.radare2.installer.MainActivity.onRemoteRunButtonClick
1   0x0000000a 0x0000000a IMPORT METH  0    org.radare2.installer.MainActivity   imp.boolean download(String, String)
2   0x0000000f 0x0000000f IMPORT FIELD 0    org.radare2.installer.MainActivity   imp.org.radare2.installer.MainActivity.handler
3   0x00000014 0x00000014 IMPORT FIELD 0    org.radare2.installer.MainActivity   imp.org.radare2.installer.MainActivity.thread
4   0x00000019 0x00000019 IMPORT FIELD 0    org.radare2.installer.MainActivity   imp.org.radare2.installer.MainActivity.outputView
5   0x0000001e 0x0000001e IMPORT FIELD 0    org.radare2.installer.MainActivity   imp.org.radare2.installer.MainActivity.remoteRunButton
6   0x00000023 0x00000023 IMPORT METH  0    org.radare2.installer.MainActivity   imp.boolean checkForRadare()
7   0x00000028 0x00000028 IMPORT FIELD 0    org.radare2.installer.MainActivity   imp.org.radare2.installer.MainActivity.http_url_default
8   0x0000002d 0x0000002d IMPORT METH  0    org.radare2.installer.MainActivity   imp.void output(String)
9   0x00000032 0x00000032 IMPORT FIELD 0    org.radare2.installer.MainActivity   imp.org.radare2.installer.MainActivity.mUtils
10  0x00000037 0x00000037 IMPORT METH  0    android.app.Activity                 imp.void <init>()
12  0x0000003f 0x0000003f IMPORT METH  0    android.os.Handler                   imp.void <init>()
15  0x0000004a 0x0000004a IMPORT METH  0    org.radare2.installer.MainActivity$2 imp.void <init>(org.radare2.installer.MainActivity)
16  0x0000004f 0x0000004f IMPORT FIELD 0    org.radare2.installer.MainActivity   imp.org.radare2.installer.MainActivity.onLocalRunButtonClick
18  0x00000057 0x00000057 IMPORT METH  0    org.radare2.installer.MainActivity$3 imp.void <init>(org.radare2.installer.MainActivity)
19  0x0000005c 0x0000005c IMPORT FIELD 0    org.radare2.installer.MainActivity   imp.org.radare2.installer.MainActivity.onRemoteRunButtonClick
20  0x00000061 0x00000061 IMPORT METH  0    android.app.Activity                 imp.void onCreate(android.os.Bundle)
23  0x0000006e 0x0000006e IMPORT METH  0    org.radare2.installer.MainActivity   imp.void setContentView(int)
25  0x00000076 0x00000076 IMPORT METH  0    org.radare2.installer.MainActivity   imp.android.content.Context getApplicationContext()
26  0x0000007b 0x0000007b IMPORT METH  0    org.radare2.installer.Utils          imp.void <init>(android.content.Context)
29  0x00000088 0x00000088 IMPORT METH  0    org.radare2.installer.MainActivity   imp.android.view.View findViewById(int)
34  0x0000009d 0x0000009d IMPORT METH  0    org.radare2.installer.Utils          imp.String GetPref(String)
36  0x000000a5 0x000000a5 IMPORT METH  0    java.lang.String                     imp.boolean equals(Object)
37  0x000000aa 0x000000aa IMPORT METH  0    android.widget.CheckBox              imp.void setChecked(boolean)
45  0x000000c8 0x000000c8 IMPORT METH  0    android.widget.Button                imp.void setOnClickListener(android.view.View$OnClickListener)
47  0x000000d2 0x000000d2 IMPORT FIELD 0    org.radare2.installer.MainActivity   imp.org.radare2.installer.MainActivity.localRunButton
49  0x000000da 0x000000da IMPORT METH  0    org.radare2.installer.Utils          imp.boolean isInternetAvailable()
50  0x000000df 0x000000df IMPORT METH  0    android.preference.PreferenceManager imp.android.content.SharedPreferences getDefaultSharedPreferences(android.content.Context)
53  0x000000ea 0x000000ea IMPORT METH  0    org.radare2.installer.MainActivity$1 imp.void <init>(org.radare2.installer.MainActivity, android.content.SharedPreferences)
54  0x000000ef 0x000000ef IMPORT METH  0    java.lang.Thread                     imp.void <init>(java.lang.Runnable)
55  0x000000f4 0x000000f4 IMPORT METH  0    java.lang.Thread                     imp.void start()
58  0x000000ff 0x000000ff IMPORT IMETH 0    android.view.Menu                    imp.android.view.MenuItem add(int, int, int, java.lang.CharSequence)
59  0x00000104 0x00000104 IMPORT METH  0    android.app.Activity                 imp.boolean onCreateOptionsMenu(android.view.Menu)
60  0x00000109 0x00000109 IMPORT IMETH 0    android.view.MenuItem                imp.int getItemId()
63  0x00000114 0x00000114 IMPORT METH  0    android.content.Intent               imp.void <init>(android.content.Context, Class)
65  0x0000011e 0x0000011e IMPORT METH  0    android.content.Intent               imp.android.content.Intent setFlags(int)
66  0x00000123 0x00000123 IMPORT METH  0    org.radare2.installer.MainActivity   imp.void startActivity(android.content.Intent)
69  0x0000012e 0x0000012e IMPORT METH  0    java.io.File                         imp.void <init>(String)
70  0x00000133 0x00000133 IMPORT METH  0    java.io.File                         imp.boolean exists()
72  0x0000013b 0x0000013b IMPORT METH  0    org.radare2.installer.MainActivity$4 imp.void <init>(org.radare2.installer.MainActivity, String)
73  0x00000140 0x00000140 IMPORT METH  0    android.os.Handler                   imp.boolean post(java.lang.Runnable)
76  0x0000014b 0x0000014b IMPORT METH  0    java.io.FileInputStream              imp.void <init>(String)
77  0x00000150 0x00000150 IMPORT METH  0    java.util.zip.GZIPInputStream        imp.void <init>(java.io.InputStream)
78  0x00000155 0x00000155 IMPORT METH  0    java.lang.String                     imp.int lastIndexOf(int)
79  0x0000015a 0x0000015a IMPORT METH  0    java.lang.String                     imp.String substring(int, int)
82  0x00000165 0x00000165 IMPORT METH  0    java.lang.StringBuilder              imp.void <init>()
83  0x0000016a 0x0000016a IMPORT METH  0    java.lang.StringBuilder              imp.StringBuilder append(String)
85  0x00000172 0x00000172 IMPORT METH  0    java.lang.StringBuilder              imp.String toString()
87  0x0000017a 0x0000017a IMPORT METH  0    java.io.FileOutputStream             imp.void <init>(String)
88  0x0000017f 0x0000017f IMPORT METH  0    java.util.zip.GZIPInputStream        imp.int read(byte[])
89  0x00000184 0x00000184 IMPORT METH  0    java.io.OutputStream                 imp.void write(byte[], int, int)
90  0x00000189 0x00000189 IMPORT METH  0    java.util.zip.GZIPInputStream        imp.void close()
91  0x0000018e 0x0000018e IMPORT METH  0    java.io.OutputStream                 imp.void close()
93  0x00000196 0x00000196 IMPORT METH  0    com.ice.tar.TarArchive               imp.void <init>(java.io.InputStream)
94  0x0000019b 0x0000019b IMPORT METH  0    com.ice.tar.TarArchive               imp.void extractContents(java.io.File)
95  0x000001a0 0x000001a0 IMPORT METH  0    com.ice.tar.TarArchive               imp.void closeArchive()
96  0x000001a5 0x000001a5 IMPORT METH  0    java.io.File                         imp.boolean delete()
98  0x000001ad 0x000001ad IMPORT METH  0    org.radare2.installer.MainActivity$5 imp.void <init>(org.radare2.installer.MainActivity)
100 0x000001b5 0x000001b5 IMPORT METH  0    java.net.URL                         imp.void <init>(String)
101 0x000001ba 0x000001ba IMPORT METH  0    java.net.URL                         imp.java.net.URLConnection openConnection()
104 0x000001c5 0x000001c5 IMPORT METH  0    java.net.HttpURLConnection           imp.void setRequestMethod(String)
105 0x000001ca 0x000001ca IMPORT METH  0    java.net.HttpURLConnection           imp.void setInstanceFollowRedirects(boolean)
106 0x000001cf 0x000001cf IMPORT METH  0    java.net.HttpURLConnection           imp.java.util.Map getRequestProperties()
107 0x000001d4 0x000001d4 IMPORT METH  0    java.net.HttpURLConnection           imp.void connect()
108 0x000001d9 0x000001d9 IMPORT METH  0    java.net.HttpURLConnection           imp.int getContentLength()
110 0x000001e1 0x000001e1 IMPORT METH  0    java.lang.StringBuilder              imp.StringBuilder append(int)
113 0x000001ec 0x000001ec IMPORT METH  0    java.net.HttpURLConnection           imp.String getHeaderField(String)
114 0x000001f1 0x000001f1 IMPORT METH  0    org.radare2.installer.Utils          imp.void StorePref(String, String)
115 0x000001f6 0x000001f6 IMPORT METH  0    java.net.HttpURLConnection           imp.java.io.InputStream getInputStream()
117 0x000001fe 0x000001fe IMPORT METH  0    java.io.InputStream                  imp.int read(byte[])
118 0x00000203 0x00000203 IMPORT METH  0    java.io.FileOutputStream             imp.void write(byte[], int, int)
121 0x0000020e 0x0000020e IMPORT METH  0    org.radare2.installer.MainActivity   imp.void resetButtons()
123 0x00000216 0x00000216 IMPORT METH  0    java.io.FileOutputStream             imp.void close()
124 0x0000021b 0x0000021b IMPORT METH  0    java.io.InputStream                  imp.void close()
125 0x00000220 0x00000220 IMPORT METH  0    java.net.HttpURLConnection           imp.void disconnect()
127 0x00000228 0x00000228 IMPORT METH  0    java.lang.Exception                  imp.void printStackTrace()
128 0x0000022d 0x0000022d IMPORT METH  0    android.app.Activity                 imp.void onResume()
131 0x00000238 0x00000238 IMPORT IMETH 0    android.content.SharedPreferences    imp.String getString(String, String)
132 0x0000023d 0x0000023d IMPORT METH  0    java.lang.Integer                    imp.int parseInt(String)
134 0x00000245 0x00000245 IMPORT IMETH 0    android.content.SharedPreferences    imp.boolean getBoolean(String, boolean)
137 0x00000250 0x00000250 IMPORT METH  0    org.radare2.installer.MainActivity   imp.Object getSystemService(String)
140 0x0000025b 0x0000025b IMPORT METH  0    android.app.PendingIntent            imp.android.app.PendingIntent getService(android.content.Context, int, android.content.Intent, int)
141 0x00000260 0x00000260 IMPORT METH  0    android.app.AlarmManager             imp.void cancel(android.app.PendingIntent)
142 0x00000265 0x00000265 IMPORT METH  0    android.os.SystemClock               imp.long elapsedRealtime()
143 0x0000026a 0x0000026a IMPORT METH  0    android.app.AlarmManager             imp.void setInexactRepeating(int, long, long, android.app.PendingIntent)
EOF
RUN


NAME=Java list symbols Main.class
FILE=bins/java/Main.class
CMDS=is
EXPECT=<<EOF
nth paddr      vaddr      bind   type  size lib                     name                                             
---------------------------------------------------------------------------------------------------------------------
0   0x00000389 0x00000389 LOCAL  FUNC  29   Main                    void <init>()
1   0x000003b4 0x000003b4 LOCAL  FUNC  206  Main                    void main(String[])
1   0x0000000a 0x0000000a IMPORT METH  0    java.lang.Object        imp.void <init>()
2   0x0000000f 0x0000000f IMPORT FIELD 0    java.lang.System        imp.System.out
4   0x00000017 0x00000017 IMPORT METH  0    java.io.PrintStream     imp.void println(String)
8   0x00000025 0x00000025 IMPORT METH  0    java.io.FileReader      imp.void <init>(String)
9   0x0000002a 0x0000002a IMPORT METH  0    java.io.BufferedReader  imp.void <init>(java.io.Reader)
10  0x0000002f 0x0000002f IMPORT METH  0    java.io.BufferedReader  imp.String readLine()
12  0x00000037 0x00000037 IMPORT METH  0    java.lang.StringBuilder imp.void <init>()
14  0x0000003f 0x0000003f IMPORT METH  0    java.lang.StringBuilder imp.StringBuilder append(String)
15  0x00000044 0x00000044 IMPORT METH  0    java.lang.StringBuilder imp.String toString()
16  0x00000049 0x00000049 IMPORT METH  0    java.io.BufferedReader  imp.void close()
18  0x00000051 0x00000051 IMPORT FIELD 0    java.lang.System        imp.System.err
21  0x0000005c 0x0000005c IMPORT METH  0    java.io.PrintStream     imp.java.io.PrintStream format(String, Object[])
22  0x00000061 0x00000061 IMPORT METH  0    java.lang.Exception     imp.void printStackTrace()
EOF
RUN


NAME=Java list symbols sjybq.class
FILE=bins/java/sjybq.class
CMDS=is
EXPECT=<<EOF
nth paddr vaddr bind type size lib name 
----------------------------------------
EOF
RUN


NAME=Java list symbols test.class
FILE=bins/java/test.class
CMDS=is
EXPECT=<<EOF
nth paddr      vaddr      bind   type  size lib                                                name                                                                          
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
0   0x000008f9 0x000008f9 LOCAL  FUNC  39   test                                               void <init>()
1   0x0000092e 0x0000092e LOCAL  FUNC  50   test                                               void <init>(groovy.lang.Binding)
2   0x0000096e 0x0000096e LOCAL  FUNC  50   test                                               void main(String[])
3   0x000009ae 0x000009ae LOCAL  FUNC  254  test                                               Object run()
4   0x00000aba 0x00000aba LOCAL  FUNC  51   test                                               groovy.lang.MetaClass $getStaticMetaClass()
5   0x00000afb 0x00000afb LOCAL  FUNC  97   test                                               void $createCallSiteArray_1(String[])
6   0x00000b6a 0x00000b6a LOCAL  FUNC  33   test                                               org.codehaus.groovy.runtime.callsite.CallSiteArray $createCallSiteArray()
7   0x00000b99 0x00000b99 LOCAL  FUNC  52   test                                               org.codehaus.groovy.runtime.callsite.CallSite[] $getCallSiteArray()
0   0x000008c9 0x000008c9 LOCAL  OBJ   0    test                                               test.$staticClassInfo
1   0x000008d1 0x000008d1 LOCAL  OBJ   0    test                                               test.__$stMC
2   0x000008d9 0x000008d9 LOCAL  OBJ   0    test                                               test.$callSiteArray
13  0x0000009c 0x0000009c IMPORT METH  0    groovy.lang.Script                                 imp.void <init>()
17  0x000000ef 0x000000ef IMPORT METH  0    test                                               imp.org.codehaus.groovy.runtime.callsite.CallSite[] $getCallSiteArray()
22  0x00000124 0x00000124 IMPORT METH  0    groovy.lang.Script                                 imp.void <init>(groovy.lang.Binding)
35  0x0000022b 0x0000022b IMPORT IMETH 0    org.codehaus.groovy.runtime.callsite.CallSite      imp.Object call(Object, Object, Object)
55  0x00000317 0x00000317 IMPORT IMETH 0    org.codehaus.groovy.runtime.callsite.CallSite      imp.Object callConstructor(Object, Object)
61  0x0000038b 0x0000038b IMPORT METH  0    org.codehaus.groovy.runtime.ScriptBytecodeAdapter  imp.java.util.Map createMap(Object[])
67  0x000003a7 0x000003a7 IMPORT IMETH 0    org.codehaus.groovy.runtime.callsite.CallSite      imp.Object call(Object, Object)
71  0x00000402 0x00000402 IMPORT IMETH 0    org.codehaus.groovy.runtime.callsite.CallSite      imp.Object callCurrent(groovy.lang.GroovyObject, Object)
79  0x00000459 0x00000459 IMPORT IMETH 0    org.codehaus.groovy.runtime.callsite.CallSite      imp.Object callGetProperty(Object)
92  0x000004b5 0x000004b5 IMPORT IMETH 0    org.codehaus.groovy.runtime.callsite.CallSite      imp.Object call(Object)
100 0x0000052d 0x0000052d IMPORT METH  0    java.lang.Object                                   imp.Class getClass()
104 0x00000575 0x00000575 IMPORT METH  0    org.codehaus.groovy.runtime.ScriptBytecodeAdapter  imp.groovy.lang.MetaClass initMetaClass(Object)
106 0x0000057f 0x0000057f IMPORT FIELD 0    test                                               imp.test.$staticClassInfo
112 0x00000606 0x00000606 IMPORT METH  0    org.codehaus.groovy.reflection.ClassInfo           imp.org.codehaus.groovy.reflection.ClassInfo getClassInfo(Class)
115 0x0000061f 0x0000061f IMPORT METH  0    org.codehaus.groovy.reflection.ClassInfo           imp.groovy.lang.MetaClass getMetaClass()
147 0x00000767 0x00000767 IMPORT METH  0    test                                               imp.void $createCallSiteArray_1(String[])
152 0x000007d3 0x000007d3 IMPORT METH  0    org.codehaus.groovy.runtime.callsite.CallSiteArray imp.void <init>(Class, String[])
154 0x000007dd 0x000007dd IMPORT FIELD 0    test                                               imp.test.$callSiteArray
159 0x0000080e 0x0000080e IMPORT METH  0    java.lang.ref.SoftReference                        imp.Object get()
161 0x00000818 0x00000818 IMPORT METH  0    test                                               imp.org.codehaus.groovy.runtime.callsite.CallSiteArray $createCallSiteArray()
164 0x0000083a 0x0000083a IMPORT METH  0    java.lang.ref.SoftReference                        imp.void <init>(Object)
168 0x0000087f 0x0000087f IMPORT FIELD 0    org.codehaus.groovy.runtime.callsite.CallSiteArray imp.org.codehaus.groovy.runtime.callsite.CallSiteArray.array
EOF
RUN


NAME=Java list symbols TryWithResources.class
FILE=bins/java/TryWithResources.class
CMDS=is
EXPECT=<<EOF
nth paddr      vaddr      bind   type  size  lib                        name                              
----------------------------------------------------------------------------------------------------------
0   0x00000421 0x00000421 LOCAL  FUNC  21    TryWithResources           TryWithResources $(int)
1   0x00000444 0x00000444 LOCAL  FUNC  50    TryWithResources           void <init>(int)
2   0x00000484 0x00000484 LOCAL  FUNC  62    TryWithResources           void close()
3   0x000004d0 0x000004d0 LOCAL  FUNC  29    TryWithResources           void $(int, RuntimeException)
4   0x000004fb 0x000004fb LOCAL  FUNC  20    TryWithResources           void $(RuntimeException)
5   0x0000051d 0x0000051d LOCAL  FUNC  23    TryWithResources           void main(String[])
6   0x0000054c 0x0000054c LOCAL  FUNC  18879 TryWithResources           TryWithResources.main
7   0x00004f19 0x00004f19 LOCAL  FUNC  24    TryWithResources           void <clinit>()
0   0x000003f9 0x000003f9 LOCAL  OBJ   0     TryWithResources           TryWithResources.$
1   0x00000401 0x00000401 LOCAL  OBJ   0     TryWithResources           TryWithResources.i
2   0x0000000d 0x0000000d IMPORT METH  0     TryWithResources           imp.void <init>(int)
3   0x00000012 0x00000012 IMPORT METH  0     java.lang.RuntimeException imp.void <init>()
4   0x00000017 0x00000017 IMPORT FIELD 0     java.lang.System           imp.System.out
6   0x0000001f 0x0000001f IMPORT METH  0     java.lang.StringBuilder    imp.void <init>()
8   0x00000027 0x00000027 IMPORT METH  0     java.lang.StringBuilder    imp.StringBuilder append(String)
9   0x0000002c 0x0000002c IMPORT METH  0     java.lang.StringBuilder    imp.StringBuilder append(int)
10  0x00000031 0x00000031 IMPORT METH  0     java.lang.StringBuilder    imp.String toString()
11  0x00000036 0x00000036 IMPORT METH  0     java.io.PrintStream        imp.void println(String)
12  0x0000003b 0x0000003b IMPORT FIELD 0     TryWithResources           imp.TryWithResources.i
14  0x00000043 0x00000043 IMPORT METH  0     java.io.PrintStream        imp.void println(Object)
15  0x00000048 0x00000048 IMPORT FIELD 0     TryWithResources           imp.TryWithResources.$
17  0x00000050 0x00000050 IMPORT FUNC  0     TryWithResources           imp.TryWithResources.main
19  0x00000058 0x00000058 IMPORT METH  0     TryWithResources           imp.void $(RuntimeException)
20  0x0000005d 0x0000005d IMPORT METH  0     java.io.PrintStream        imp.void println(int)
21  0x00000062 0x00000062 IMPORT METH  0     TryWithResources           imp.void $(int, RuntimeException)
22  0x00000067 0x00000067 IMPORT METH  0     TryWithResources           imp.void close()
24  0x0000006f 0x0000006f IMPORT METH  0     java.lang.Throwable        imp.void addSuppressed(Throwable)
25  0x00000074 0x00000074 IMPORT METH  0     TryWithResources           imp.TryWithResources $(int)
26  0x00000079 0x00000079 IMPORT IMETH 0     java.lang.AutoCloseable    imp.void close()
27  0x0000007e 0x0000007e IMPORT METH  0     java.lang.Throwable        imp.void printStackTrace()
EOF
RUN


NAME=Java list classes crash2.class
FILE=bins/java/crash2.class
CMDS=<<EOF
ic
icf 'unknown_class'
icm 'unknown_class'
EOF
EXPECT=<<EOF
address    min        max        name          super         
-------------------------------------------------------------
0x00000000 0x00000000 0x00000000 unknown_class unknown_super
address index class flags name type 
------------------------------------
address index class flags name 
-------------------------------
EOF
RUN


NAME=Java list classes DemoTest.class
FILE=bins/java/DemoTest.class
CMDS=<<EOF
ic
icf 'DemoTest'
icm 'DemoTest'
EOF
EXPECT=<<EOF
address    min        max        name     super  
-------------------------------------------------
0x00000000 0x00000190 0x00000236 DemoTest Object
address index class flags name type 
------------------------------------
address    index class    flags name                
----------------------------------------------------
0x00000190 0     DemoTest p     int fun()
0x000001b9 1     DemoTest p     void <init>()
0x000001e8 2     DemoTest p     String res()
0x00000211 3     DemoTest sp    void main(String[])
EOF
RUN


NAME=Java list classes ExCaseTableSwitch.class
FILE=bins/java/ExCaseTableSwitch.class
CMDS=<<EOF
ic
icf 'CaseTableSwitch'
icm 'CaseTableSwitch'
EOF
EXPECT=<<EOF
address    min        max        name            super  
--------------------------------------------------------
0x00000000 0x00000464 0x00000d74 CaseTableSwitch Object
address index class flags name type 
------------------------------------
address    index class           flags name                         
--------------------------------------------------------------------
0x00000464 0     CaseTableSwitch p     void <init>()
0x000004a1 1     CaseTableSwitch p     String a(int)
0x000005df 2     CaseTableSwitch p     int a(String)
0x00000623 3     CaseTableSwitch p     int a()
0x0000065d 4     CaseTableSwitch p     void hopskip_line_switch()
0x00000816 5     CaseTableSwitch p     void straight_line_switch()
0x000009ea 6     CaseTableSwitch p     void straight_line_switch_()
0x00000bb6 7     CaseTableSwitch sp    void main(String[])
EOF
RUN


NAME=Java list classes fuckedup.class
FILE=bins/java/fuckedup.class
CMDS=<<EOF
ic
icf 'unknown_class'
icm 'unknown_class'
EOF
EXPECT=<<EOF
address    min        max        name          super         
-------------------------------------------------------------
0x00000000 0x00000000 0x00000000 unknown_class unknown_super
address index class flags name type 
------------------------------------
address index class flags name 
-------------------------------
EOF
RUN


NAME=Java list classes Hello.class
FILE=bins/java/Hello.class
CMDS=<<EOF
ic
icf 'Hello'
icm 'Hello'
EOF
EXPECT=<<EOF
address    min        max        name  super  
----------------------------------------------
0x00000000 0x0000022b 0x000002d3 Hello Object
address    index class flags name type   
-----------------------------------------
0x0000020b 0     Hello P     who  String
address    index class flags name                
-------------------------------------------------
0x0000022b 0     Hello p     void <init>(String)
0x00000263 1     Hello p     void say()
0x000002aa 2     Hello sp    void main(String[])
EOF
RUN


NAME=Java list classes HiKt.class
FILE=bins/java/HiKt.class
CMDS=<<EOF
ic
icf 'HiKt'
icm 'HiKt'
EOF
EXPECT=<<EOF
address    min        max        name super  
---------------------------------------------
0x00000000 0x00000225 0x00000256 HiKt Object
address index class flags name type 
------------------------------------
address    index class flags name                
-------------------------------------------------
0x00000225 0     HiKt  spf   void main(String[])
EOF
RUN


NAME=Java list classes invisible.class
FILE=bins/java/invisible.class
CMDS=<<EOF
ic
icf 'Test'
icm 'Test'
EOF
EXPECT=<<EOF
address    min        max        name super  
---------------------------------------------
0x00000000 0x00000120 0x00000131 Test Object
address index class flags name type 
------------------------------------
address    index class flags name                
-------------------------------------------------
0x00000120 0     Test  sp    void main(String[])
EOF
RUN


NAME=Java list classes jdwpexeccmd.class
FILE=bins/java/jdwpexeccmd.class
CMDS=<<EOF
ic
icf 'JDWPExecCmd'
icm 'JDWPExecCmd'
EOF
EXPECT=<<EOF
address    min        max        name        super  
----------------------------------------------------
0x00000000 0x00000339 0x0000044d JDWPExecCmd Object
address index class flags name type 
------------------------------------
address    index class       flags name               
------------------------------------------------------
0x00000339 0     JDWPExecCmd p     void <init>()
0x00000364 1     JDWPExecCmd sp    String run(String)
EOF
RUN


NAME=Java list classes MainActivity.class
FILE=bins/java/MainActivity.class
CMDS=<<EOF
ic
icf 'org.radare2.installer.MainActivity'
icm 'org.radare2.installer.MainActivity'
EOF
EXPECT=<<EOF
address    min        max        name                               super                
-----------------------------------------------------------------------------------------
0x00000000 0x00001c87 0x000029ea org.radare2.installer.MainActivity android.app.Activity
address    index class                              flags name                   type                              
-------------------------------------------------------------------------------------------------------------------
0x00001c1f 0     org.radare2.installer.MainActivity P     outputView             android.widget.TextView
0x00001c27 1     org.radare2.installer.MainActivity P     handler                android.os.Handler
0x00001c2f 2     org.radare2.installer.MainActivity P     remoteRunButton        android.widget.Button
0x00001c37 3     org.radare2.installer.MainActivity P     localRunButton         android.widget.Button
0x00001c3f 4     org.radare2.installer.MainActivity P     context                android.content.Context
0x00001c47 5     org.radare2.installer.MainActivity P     mUtils                 org.radare2.installer.Utils
0x00001c4f 6     org.radare2.installer.MainActivity P     http_url_default       String
0x00001c57 7     org.radare2.installer.MainActivity P     onLocalRunButtonClick  android.view.View$OnClickListener
0x00001c5f 8     org.radare2.installer.MainActivity P     thread                 Thread
0x00001c67 9     org.radare2.installer.MainActivity P     onRemoteRunButtonClick android.view.View$OnClickListener
address    index class                              flags name                                                                                        
------------------------------------------------------------------------------------------------------------------------------------------------------
0x00001c87 0     org.radare2.installer.MainActivity p     void <init>()
0x00001d06 1     org.radare2.installer.MainActivity p     void onCreate(android.os.Bundle)
0x00001f02 2     org.radare2.installer.MainActivity p     boolean onCreateOptionsMenu(android.view.Menu)
0x00001f5a 3     org.radare2.installer.MainActivity p     boolean onOptionsItemSelected(android.view.MenuItem)
0x00001ff7 4     org.radare2.installer.MainActivity P     boolean checkForRadare()
0x0000204c 5     org.radare2.installer.MainActivity P     void output(String)
0x000020b4 6     org.radare2.installer.MainActivity sp    void unTarGz(String, String)
0x00002254 7     org.radare2.installer.MainActivity P     void resetButtons()
0x000022b1 8     org.radare2.installer.MainActivity P     boolean download(String, String)
0x000025e6 9     org.radare2.installer.MainActivity p     void onResume()
0x00002720 10    org.radare2.installer.MainActivity sh    org.radare2.installer.Utils access$000(org.radare2.installer.MainActivity)
0x0000275d 11    org.radare2.installer.MainActivity sh    void access$100(org.radare2.installer.MainActivity, String)
0x000027a5 12    org.radare2.installer.MainActivity sh    String access$200(org.radare2.installer.MainActivity)
0x000027e2 13    org.radare2.installer.MainActivity sh    boolean access$300(org.radare2.installer.MainActivity)
0x0000281f 14    org.radare2.installer.MainActivity sh    android.widget.Button access$402(org.radare2.installer.MainActivity, android.widget.Button)
0x00002868 15    org.radare2.installer.MainActivity sh    android.widget.Button access$400(org.radare2.installer.MainActivity)
0x000028a5 16    org.radare2.installer.MainActivity sh    android.widget.TextView access$500(org.radare2.installer.MainActivity)
0x000028e2 17    org.radare2.installer.MainActivity sh    Thread access$600(org.radare2.installer.MainActivity)
0x0000291f 18    org.radare2.installer.MainActivity sh    Thread access$602(org.radare2.installer.MainActivity, Thread)
0x00002968 19    org.radare2.installer.MainActivity sh    android.os.Handler access$700(org.radare2.installer.MainActivity)
0x000029a5 20    org.radare2.installer.MainActivity sh    boolean access$800(org.radare2.installer.MainActivity, String, String)
EOF
RUN


NAME=Java list classes Main.class
FILE=bins/java/Main.class
CMDS=<<EOF
ic
icf 'Main'
icm 'Main'
EOF
EXPECT=<<EOF
address    min        max        name super  
---------------------------------------------
0x00000000 0x00000389 0x00000482 Main Object
address index class flags name type 
------------------------------------
address    index class flags name                
-------------------------------------------------
0x00000389 0     Main  p     void <init>()
0x000003b4 1     Main  sp    void main(String[])
EOF
RUN


NAME=Java list classes sjybq.class
FILE=bins/java/sjybq.class
CMDS=ic
EXPECT=<<EOF
address min max name super 
---------------------------
EOF
RUN


NAME=Java list classes test.class
FILE=bins/java/test.class
CMDS=<<EOF
ic
icf 'test'
icm 'test'
EOF
EXPECT=<<EOF
address    min        max        name super              
---------------------------------------------------------
0x00000000 0x000008f9 0x00000bcd test groovy.lang.Script
address    index class flags name             type                                     
---------------------------------------------------------------------------------------
0x000008c9 0     test  sPh   $staticClassInfo org.codehaus.groovy.reflection.ClassInfo
0x000008d1 1     test  spgh  __$stMC          boolean
0x000008d9 2     test  sPh   $callSiteArray   java.lang.ref.SoftReference
address    index class flags name                                                                      
-------------------------------------------------------------------------------------------------------
0x000008f9 0     test  p     void <init>()
0x0000092e 1     test  p     void <init>(groovy.lang.Binding)
0x0000096e 2     test  spg   void main(String[])
0x000009ae 3     test  p     Object run()
0x00000aba 4     test  rh    groovy.lang.MetaClass $getStaticMetaClass()
0x00000afb 5     test  sPh   void $createCallSiteArray_1(String[])
0x00000b6a 6     test  sPh   org.codehaus.groovy.runtime.callsite.CallSiteArray $createCallSiteArray()
0x00000b99 7     test  sPh   org.codehaus.groovy.runtime.callsite.CallSite[] $getCallSiteArray()
EOF
RUN


NAME=Java list classes TryWithResources.class
FILE=bins/java/TryWithResources.class
CMDS=<<EOF
ic
icf 'TryWithResources'
icm 'TryWithResources'
EOF
EXPECT=<<EOF
address    min        max        name             super            
-------------------------------------------------------------------
0x00000000 0x00000421 0x00004f31 TryWithResources RuntimeException
address    index class            flags name type             
--------------------------------------------------------------
0x000003f9 0     TryWithResources sp    $    TryWithResources
0x00000401 1     TryWithResources pf    i    int
address    index class            flags name                          
----------------------------------------------------------------------
0x00000421 0     TryWithResources sp    TryWithResources $(int)
0x00000444 1     TryWithResources p     void <init>(int)
0x00000484 2     TryWithResources p     void close()
0x000004d0 3     TryWithResources sp    void $(int, RuntimeException)
0x000004fb 4     TryWithResources sp    void $(RuntimeException)
0x0000051d 5     TryWithResources sp    void main(String[])
0x0000054c 6     TryWithResources pg    TryWithResources.main
0x00004f19 7     TryWithResources s     void <clinit>()
EOF
RUN




NAME=Java list imports crash2.class
FILE=bins/java/crash2.class
CMDS=ii
EXPECT=<<EOF
nth vaddr bind type lib name 
-----------------------------
EOF
RUN


NAME=Java list imports DemoTest.class
FILE=bins/java/DemoTest.class
CMDS=ii
EXPECT=<<EOF
nth vaddr      bind type  lib                 name    
------------------------------------------------------
1   ---------- NONE METH  java.lang.Object    <init>
3   ---------- NONE FIELD java.lang.System    out
5   ---------- NONE METH  java.io.PrintStream println
EOF
RUN


NAME=Java list imports ExCaseTableSwitch.class
FILE=bins/java/ExCaseTableSwitch.class
CMDS=ii
EXPECT=<<EOF
nth vaddr      bind type  lib                     name                 
-----------------------------------------------------------------------
8   ---------- NONE METH  java.lang.Object        <init>
16  ---------- NONE FIELD java.lang.System        out
26  ---------- NONE METH  java.lang.StringBuilder <init>
29  ---------- NONE METH  java.lang.StringBuilder append
33  ---------- NONE METH  java.lang.StringBuilder toString
37  ---------- NONE METH  java.io.PrintStream     println
46  ---------- NONE METH  java.lang.String        <init>
55  ---------- NONE METH  java.lang.Integer       valueOf
61  ---------- NONE METH  TestVariableSwitchUp    TestMultipleVariable
EOF
RUN


NAME=Java list imports fuckedup.class
FILE=bins/java/fuckedup.class
CMDS=ii
EXPECT=<<EOF
nth vaddr bind type lib name 
-----------------------------
EOF
RUN


NAME=Java list imports Hello.class
FILE=bins/java/Hello.class
CMDS=ii
EXPECT=<<EOF
nth vaddr      bind type  lib                     name     
-----------------------------------------------------------
1   ---------- NONE METH  java.lang.Object        <init>
2   ---------- NONE FIELD Hello                   who
3   ---------- NONE FIELD java.lang.System        out
5   ---------- NONE METH  java.lang.StringBuilder <init>
7   ---------- NONE METH  java.lang.StringBuilder append
8   ---------- NONE METH  java.lang.StringBuilder toString
9   ---------- NONE METH  java.io.PrintStream     println
12  ---------- NONE METH  Hello                   <init>
13  ---------- NONE METH  Hello                   say
EOF
RUN


NAME=Java list imports HiKt.class
FILE=bins/java/HiKt.class
CMDS=ii
EXPECT=<<EOF
nth vaddr      bind type lib                            name                    
--------------------------------------------------------------------------------
15  ---------- NONE METH kotlin.jvm.internal.Intrinsics checkParameterIsNotNull
EOF
RUN


NAME=Java list imports invisible.class
FILE=bins/java/invisible.class
CMDS=ii
EXPECT=<<EOF
nth vaddr      bind type  lib                 name    
------------------------------------------------------
7   ---------- NONE FIELD java.lang.System    out
8   ---------- NONE METH  java.io.PrintStream println
EOF
RUN


NAME=Java list imports jdwpexeccmd.class
FILE=bins/java/jdwpexeccmd.class
CMDS=ii
EXPECT=<<EOF
nth vaddr      bind type lib                       name           
------------------------------------------------------------------
1   ---------- NONE METH java.lang.Object          <init>
3   ---------- NONE METH java.lang.StringBuilder   <init>
4   ---------- NONE METH java.lang.StringBuilder   append
6   ---------- NONE METH java.lang.StringBuilder   toString
7   ---------- NONE METH java.lang.Runtime         getRuntime
8   ---------- NONE METH java.lang.Runtime         exec
11  ---------- NONE METH java.lang.Process         getInputStream
12  ---------- NONE METH java.io.InputStreamReader <init>
13  ---------- NONE METH java.io.BufferedReader    <init>
14  ---------- NONE METH java.io.BufferedReader    readLine
15  ---------- NONE METH java.lang.String          trim
EOF
RUN


NAME=Java list imports MainActivity.class
FILE=bins/java/MainActivity.class
CMDS=ii
EXPECT=<<EOF
nth vaddr      bind type  lib                                  name                        
-------------------------------------------------------------------------------------------
1   ---------- NONE METH  org.radare2.installer.MainActivity   download
2   ---------- NONE FIELD org.radare2.installer.MainActivity   handler
3   ---------- NONE FIELD org.radare2.installer.MainActivity   thread
4   ---------- NONE FIELD org.radare2.installer.MainActivity   outputView
5   ---------- NONE FIELD org.radare2.installer.MainActivity   remoteRunButton
6   ---------- NONE METH  org.radare2.installer.MainActivity   checkForRadare
7   ---------- NONE FIELD org.radare2.installer.MainActivity   http_url_default
8   ---------- NONE METH  org.radare2.installer.MainActivity   output
9   ---------- NONE FIELD org.radare2.installer.MainActivity   mUtils
10  ---------- NONE METH  android.app.Activity                 <init>
12  ---------- NONE METH  android.os.Handler                   <init>
15  ---------- NONE METH  org.radare2.installer.MainActivity$2 <init>
16  ---------- NONE FIELD org.radare2.installer.MainActivity   onLocalRunButtonClick
18  ---------- NONE METH  org.radare2.installer.MainActivity$3 <init>
19  ---------- NONE FIELD org.radare2.installer.MainActivity   onRemoteRunButtonClick
20  ---------- NONE METH  android.app.Activity                 onCreate
23  ---------- NONE METH  org.radare2.installer.MainActivity   setContentView
25  ---------- NONE METH  org.radare2.installer.MainActivity   getApplicationContext
26  ---------- NONE METH  org.radare2.installer.Utils          <init>
29  ---------- NONE METH  org.radare2.installer.MainActivity   findViewById
34  ---------- NONE METH  org.radare2.installer.Utils          GetPref
36  ---------- NONE METH  java.lang.String                     equals
37  ---------- NONE METH  android.widget.CheckBox              setChecked
45  ---------- NONE METH  android.widget.Button                setOnClickListener
47  ---------- NONE FIELD org.radare2.installer.MainActivity   localRunButton
49  ---------- NONE METH  org.radare2.installer.Utils          isInternetAvailable
50  ---------- NONE METH  android.preference.PreferenceManager getDefaultSharedPreferences
53  ---------- NONE METH  org.radare2.installer.MainActivity$1 <init>
54  ---------- NONE METH  java.lang.Thread                     <init>
55  ---------- NONE METH  java.lang.Thread                     start
58  ---------- NONE IMETH android.view.Menu                    add
59  ---------- NONE METH  android.app.Activity                 onCreateOptionsMenu
60  ---------- NONE IMETH android.view.MenuItem                getItemId
63  ---------- NONE METH  android.content.Intent               <init>
65  ---------- NONE METH  android.content.Intent               setFlags
66  ---------- NONE METH  org.radare2.installer.MainActivity   startActivity
69  ---------- NONE METH  java.io.File                         <init>
70  ---------- NONE METH  java.io.File                         exists
72  ---------- NONE METH  org.radare2.installer.MainActivity$4 <init>
73  ---------- NONE METH  android.os.Handler                   post
76  ---------- NONE METH  java.io.FileInputStream              <init>
77  ---------- NONE METH  java.util.zip.GZIPInputStream        <init>
78  ---------- NONE METH  java.lang.String                     lastIndexOf
79  ---------- NONE METH  java.lang.String                     substring
82  ---------- NONE METH  java.lang.StringBuilder              <init>
83  ---------- NONE METH  java.lang.StringBuilder              append
85  ---------- NONE METH  java.lang.StringBuilder              toString
87  ---------- NONE METH  java.io.FileOutputStream             <init>
88  ---------- NONE METH  java.util.zip.GZIPInputStream        read
89  ---------- NONE METH  java.io.OutputStream                 write
90  ---------- NONE METH  java.util.zip.GZIPInputStream        close
91  ---------- NONE METH  java.io.OutputStream                 close
93  ---------- NONE METH  com.ice.tar.TarArchive               <init>
94  ---------- NONE METH  com.ice.tar.TarArchive               extractContents
95  ---------- NONE METH  com.ice.tar.TarArchive               closeArchive
96  ---------- NONE METH  java.io.File                         delete
98  ---------- NONE METH  org.radare2.installer.MainActivity$5 <init>
100 ---------- NONE METH  java.net.URL                         <init>
101 ---------- NONE METH  java.net.URL                         openConnection
104 ---------- NONE METH  java.net.HttpURLConnection           setRequestMethod
105 ---------- NONE METH  java.net.HttpURLConnection           setInstanceFollowRedirects
106 ---------- NONE METH  java.net.HttpURLConnection           getRequestProperties
107 ---------- NONE METH  java.net.HttpURLConnection           connect
108 ---------- NONE METH  java.net.HttpURLConnection           getContentLength
110 ---------- NONE METH  java.lang.StringBuilder              append
113 ---------- NONE METH  java.net.HttpURLConnection           getHeaderField
114 ---------- NONE METH  org.radare2.installer.Utils          StorePref
115 ---------- NONE METH  java.net.HttpURLConnection           getInputStream
117 ---------- NONE METH  java.io.InputStream                  read
118 ---------- NONE METH  java.io.FileOutputStream             write
121 ---------- NONE METH  org.radare2.installer.MainActivity   resetButtons
123 ---------- NONE METH  java.io.FileOutputStream             close
124 ---------- NONE METH  java.io.InputStream                  close
125 ---------- NONE METH  java.net.HttpURLConnection           disconnect
127 ---------- NONE METH  java.lang.Exception                  printStackTrace
128 ---------- NONE METH  android.app.Activity                 onResume
131 ---------- NONE IMETH android.content.SharedPreferences    getString
132 ---------- NONE METH  java.lang.Integer                    parseInt
134 ---------- NONE IMETH android.content.SharedPreferences    getBoolean
137 ---------- NONE METH  org.radare2.installer.MainActivity   getSystemService
140 ---------- NONE METH  android.app.PendingIntent            getService
141 ---------- NONE METH  android.app.AlarmManager             cancel
142 ---------- NONE METH  android.os.SystemClock               elapsedRealtime
143 ---------- NONE METH  android.app.AlarmManager             setInexactRepeating
EOF
RUN


NAME=Java list imports Main.class
FILE=bins/java/Main.class
CMDS=ii
EXPECT=<<EOF
nth vaddr      bind type  lib                     name            
------------------------------------------------------------------
1   ---------- NONE METH  java.lang.Object        <init>
2   ---------- NONE FIELD java.lang.System        out
4   ---------- NONE METH  java.io.PrintStream     println
8   ---------- NONE METH  java.io.FileReader      <init>
9   ---------- NONE METH  java.io.BufferedReader  <init>
10  ---------- NONE METH  java.io.BufferedReader  readLine
12  ---------- NONE METH  java.lang.StringBuilder <init>
14  ---------- NONE METH  java.lang.StringBuilder append
15  ---------- NONE METH  java.lang.StringBuilder toString
16  ---------- NONE METH  java.io.BufferedReader  close
18  ---------- NONE FIELD java.lang.System        err
21  ---------- NONE METH  java.io.PrintStream     format
22  ---------- NONE METH  java.lang.Exception     printStackTrace
EOF
RUN


NAME=Java list imports sjybq.class
FILE=bins/java/sjybq.class
CMDS=ii
EXPECT=<<EOF
nth vaddr bind type lib name 
-----------------------------
EOF
RUN


NAME=Java list imports test.class
FILE=bins/java/test.class
CMDS=ii
EXPECT=<<EOF
nth vaddr      bind type  lib                                                name                   
----------------------------------------------------------------------------------------------------
13  ---------- NONE METH  groovy.lang.Script                                 <init>
17  ---------- NONE METH  test                                               $getCallSiteArray
22  ---------- NONE METH  groovy.lang.Script                                 <init>
35  ---------- NONE IMETH org.codehaus.groovy.runtime.callsite.CallSite      call
55  ---------- NONE IMETH org.codehaus.groovy.runtime.callsite.CallSite      callConstructor
61  ---------- NONE METH  org.codehaus.groovy.runtime.ScriptBytecodeAdapter  createMap
67  ---------- NONE IMETH org.codehaus.groovy.runtime.callsite.CallSite      call
71  ---------- NONE IMETH org.codehaus.groovy.runtime.callsite.CallSite      callCurrent
79  ---------- NONE IMETH org.codehaus.groovy.runtime.callsite.CallSite      callGetProperty
92  ---------- NONE IMETH org.codehaus.groovy.runtime.callsite.CallSite      call
100 ---------- NONE METH  java.lang.Object                                   getClass
104 ---------- NONE METH  org.codehaus.groovy.runtime.ScriptBytecodeAdapter  initMetaClass
106 ---------- NONE FIELD test                                               $staticClassInfo
112 ---------- NONE METH  org.codehaus.groovy.reflection.ClassInfo           getClassInfo
115 ---------- NONE METH  org.codehaus.groovy.reflection.ClassInfo           getMetaClass
147 ---------- NONE METH  test                                               $createCallSiteArray_1
152 ---------- NONE METH  org.codehaus.groovy.runtime.callsite.CallSiteArray <init>
154 ---------- NONE FIELD test                                               $callSiteArray
159 ---------- NONE METH  java.lang.ref.SoftReference                        get
161 ---------- NONE METH  test                                               $createCallSiteArray
164 ---------- NONE METH  java.lang.ref.SoftReference                        <init>
168 ---------- NONE FIELD org.codehaus.groovy.runtime.callsite.CallSiteArray array
EOF
RUN


NAME=Java list imports TryWithResources.class
FILE=bins/java/TryWithResources.class
CMDS=ii
EXPECT=<<EOF
nth vaddr      bind   type  lib                        name            
-----------------------------------------------------------------------
2   ---------- NONE   METH  TryWithResources           <init>
3   ---------- NONE   METH  java.lang.RuntimeException <init>
4   ---------- NONE   FIELD java.lang.System           out
6   ---------- NONE   METH  java.lang.StringBuilder    <init>
8   ---------- NONE   METH  java.lang.StringBuilder    append
9   ---------- NONE   METH  java.lang.StringBuilder    append
10  ---------- NONE   METH  java.lang.StringBuilder    toString
11  ---------- NONE   METH  java.io.PrintStream        println
12  ---------- NONE   FIELD TryWithResources           i
14  ---------- NONE   METH  java.io.PrintStream        println
15  ---------- NONE   FIELD TryWithResources           $
17  ---------- GLOBAL FUNC  TryWithResources           main
19  ---------- NONE   METH  TryWithResources           $
20  ---------- NONE   METH  java.io.PrintStream        println
21  ---------- NONE   METH  TryWithResources           $
22  ---------- NONE   METH  TryWithResources           close
24  ---------- NONE   METH  java.lang.Throwable        addSuppressed
25  ---------- NONE   METH  TryWithResources           $
26  ---------- NONE   IMETH java.lang.AutoCloseable    close
27  ---------- NONE   METH  java.lang.Throwable        printStackTrace
0   ---------- WEAK   IFACE java.lang.AutoCloseable    *
EOF
RUN


NAME=Java list sections crash2.class
FILE=bins/java/crash2.class
CMDS=iS
EXPECT=<<EOF
paddr      size vaddr      vsize align perm name                type flags 
---------------------------------------------------------------------------
0x0000000a 0x12 0x0000000a 0x12  0x0   -r-- class.constant_pool      
EOF
RUN


NAME=Java list sections DemoTest.class
FILE=bins/java/DemoTest.class
CMDS=iS
EXPECT=<<EOF
paddr      size  vaddr      vsize align perm name                             type flags 
-----------------------------------------------------------------------------------------
0x0000000a 0x16c 0x0000000a 0x16c 0x0   -r-- class.constant_pool                   
0x0000017a 0xb6  0x0000017a 0xb6  0x0   -r-- class.methods                         
0x0000017a 0x29  0x0000017a 0x29  0x0   -r-- class.methods.fun.attr                
0x00000190 0x1b  0x00000190 0x1b  0x0   -r-x class.methods.fun.attr.0.code         
0x000001a3 0x2f  0x000001a3 0x2f  0x0   -r-- class.methods._init_.attr             
0x000001b9 0x21  0x000001b9 0x21  0x0   -r-x class.methods._init_.attr.0.code      
0x000001d2 0x29  0x000001d2 0x29  0x0   -r-- class.methods.res.attr                
0x000001e8 0x1b  0x000001e8 0x1b  0x0   -r-x class.methods.res.attr.0.code         
0x000001fb 0x35  0x000001fb 0x35  0x0   -r-- class.methods.main.attr               
0x00000211 0x25  0x00000211 0x25  0x0   -r-x class.methods.main.attr.0.code        
0x00000230 0x8   0x00000230 0x8   0x0   -r-- class.attr                            
EOF
RUN


NAME=Java list sections ExCaseTableSwitch.class
FILE=bins/java/ExCaseTableSwitch.class
CMDS=iS
EXPECT=<<EOF
paddr      size  vaddr      vsize align perm name                                            type flags 
--------------------------------------------------------------------------------------------------------
0x0000000a 0x440 0x0000000a 0x440 0x0   -r-- class.constant_pool                                  
0x0000044e 0x920 0x0000044e 0x920 0x0   -r-- class.methods                                        
0x0000044e 0x3d  0x0000044e 0x3d  0x0   -r-- class.methods._init_.attr                            
0x00000464 0x2f  0x00000464 0x2f  0x0   -r-x class.methods._init_.attr.0.code                     
0x0000048b 0x13e 0x0000048b 0x13e 0x0   -r-- class.methods.a.attr                                 
0x000004a1 0x130 0x000004a1 0x130 0x0   -r-x class.methods.a.attr.0.code                          
0x000005c9 0x44  0x000005c9 0x44  0x0   -r-- class.methods.a_1.attr                               
0x000005df 0x36  0x000005df 0x36  0x0   -r-x class.methods.a_1.attr.0.code                        
0x0000060d 0x3a  0x0000060d 0x3a  0x0   -r-- class.methods.a_1.attr_0x60d                         
0x00000623 0x2c  0x00000623 0x2c  0x0   -r-x class.methods.a_1.attr.0.code_0x623                  
0x00000647 0x1b9 0x00000647 0x1b9 0x0   -r-- class.methods.hopskip_line_switch.attr               
0x0000065d 0x1ab 0x0000065d 0x1ab 0x0   -r-x class.methods.hopskip_line_switch.attr.0.code        
0x00000800 0x1d4 0x00000800 0x1d4 0x0   -r-- class.methods.straight_line_switch.attr              
0x00000816 0x1c6 0x00000816 0x1c6 0x0   -r-x class.methods.straight_line_switch.attr.0.code       
0x000009d4 0x1cc 0x000009d4 0x1cc 0x0   -r-- class.methods.straight_line_switch_.attr             
0x000009ea 0x1be 0x000009ea 0x1be 0x0   -r-x class.methods.straight_line_switch_.attr.0.code      
0x00000ba0 0x1ce 0x00000ba0 0x1ce 0x0   -r-- class.methods.main.attr                              
0x00000bb6 0x1be 0x00000bb6 0x1be 0x0   -r-x class.methods.main.attr.0.code                       
0x00000d6e 0x8   0x00000d6e 0x8   0x0   -r-- class.attr                                           
EOF
RUN


NAME=Java list sections fuckedup.class
FILE=bins/java/fuckedup.class
CMDS=iS
EXPECT=<<EOF
paddr      size vaddr      vsize align perm name                type flags 
---------------------------------------------------------------------------
0x0000000a 0x41 0x0000000a 0x41  0x0   -r-- class.constant_pool      
EOF
RUN


NAME=Java list sections Hello.class
FILE=bins/java/Hello.class
CMDS=iS
EXPECT=<<EOF
paddr      size  vaddr      vsize align perm name                             type flags 
-----------------------------------------------------------------------------------------
0x0000000a 0x1ff 0x0000000a 0x1ff 0x0   -r-- class.constant_pool                   
0x0000020b 0xa   0x0000020b 0xa   0x0   -r-- class.fields.who.attr                 
0x0000020b 0xa   0x0000020b 0xa   0x0   -r-- class.fields                          
0x00000215 0xb8  0x00000215 0xb8  0x0   -r-- class.methods                         
0x00000215 0x38  0x00000215 0x38  0x0   -r-- class.methods._init_.attr             
0x0000022b 0x2a  0x0000022b 0x2a  0x0   -r-x class.methods._init_.attr.0.code      
0x0000024d 0x47  0x0000024d 0x47  0x0   -r-- class.methods.say.attr                
0x00000263 0x39  0x00000263 0x39  0x0   -r-x class.methods.say.attr.0.code         
0x00000294 0x39  0x00000294 0x39  0x0   -r-- class.methods.main.attr               
0x000002aa 0x29  0x000002aa 0x29  0x0   -r-x class.methods.main.attr.0.code        
0x000002cd 0x8   0x000002cd 0x8   0x0   -r-- class.attr                            
EOF
RUN


NAME=Java list sections HiKt.class
FILE=bins/java/HiKt.class
CMDS=iS
EXPECT=<<EOF
paddr      size  vaddr      vsize align perm name                           type flags 
---------------------------------------------------------------------------------------
0x0000000a 0x201 0x0000000a 0x201 0x0   -r-- class.constant_pool                 
0x0000020f 0x4e  0x0000020f 0x4e  0x0   -r-- class.methods                       
0x0000020f 0x4e  0x0000020f 0x4e  0x0   -r-- class.methods.main.attr             
0x00000225 0x31  0x00000225 0x31  0x0   -r-x class.methods.main.attr.0.code      
0x0000025d 0x54  0x0000025d 0x54  0x0   -r-- class.attr                          
EOF
RUN


NAME=Java list sections invisible.class
FILE=bins/java/invisible.class
CMDS=iS
EXPECT=<<EOF
paddr      size  vaddr      vsize align perm name                           type flags 
---------------------------------------------------------------------------------------
0x0000000a 0x100 0x0000000a 0x100 0x0   -r-- class.constant_pool                 
0x0000010e 0x21  0x0000010e 0x21  0x0   -r-- class.methods                       
0x0000010e 0x21  0x0000010e 0x21  0x0   -r-- class.methods.main.attr             
0x00000120 0x11  0x00000120 0x11  0x0   -r-x class.methods.main.attr.0.code      
EOF
RUN


NAME=Java list sections jdwpexeccmd.class
FILE=bins/java/jdwpexeccmd.class
CMDS=iS
EXPECT=<<EOF
paddr      size  vaddr      vsize align perm name                             type flags 
-----------------------------------------------------------------------------------------
0x0000000a 0x315 0x0000000a 0x315 0x0   -r-- class.constant_pool                   
0x00000323 0x124 0x00000323 0x124 0x0   -r-- class.methods                         
0x00000323 0x2b  0x00000323 0x2b  0x0   -r-- class.methods._init_.attr             
0x00000339 0x1d  0x00000339 0x1d  0x0   -r-x class.methods._init_.attr.0.code      
0x0000034e 0xf9  0x0000034e 0xf9  0x0   -r-- class.methods.run.attr                
0x00000364 0xe9  0x00000364 0xe9  0x0   -r-x class.methods.run.attr.0.code         
0x00000447 0x8   0x00000447 0x8   0x0   -r-- class.attr                            
EOF
RUN


NAME=Java list sections MainActivity.class
FILE=bins/java/MainActivity.class
CMDS=iS
EXPECT=<<EOF
paddr      size   vaddr      vsize  align perm name                                            type flags 
----------------------------------------------------------------------------------------------------------
0x0000000a 0x1c13 0x0000000a 0x1c13 0x0   -r-- class.constant_pool                                  
0x00001c1f 0x8    0x00001c1f 0x8    0x0   -r-- class.fields.outputView.attr                         
0x00001c27 0x8    0x00001c27 0x8    0x0   -r-- class.fields.handler.attr                            
0x00001c2f 0x8    0x00001c2f 0x8    0x0   -r-- class.fields.remoteRunButton.attr                    
0x00001c37 0x8    0x00001c37 0x8    0x0   -r-- class.fields.localRunButton.attr                     
0x00001c3f 0x8    0x00001c3f 0x8    0x0   -r-- class.fields.context.attr                            
0x00001c47 0x8    0x00001c47 0x8    0x0   -r-- class.fields.mUtils.attr                             
0x00001c4f 0x8    0x00001c4f 0x8    0x0   -r-- class.fields.http_url_default.attr                   
0x00001c57 0x8    0x00001c57 0x8    0x0   -r-- class.fields.onLocalRunButtonClick.attr              
0x00001c5f 0x8    0x00001c5f 0x8    0x0   -r-- class.fields.thread.attr                             
0x00001c67 0xa    0x00001c67 0xa    0x0   -r-- class.fields.onRemoteRunButtonClick.attr             
0x00001c1f 0x52   0x00001c1f 0x52   0x0   -r-- class.fields                                         
0x00001c71 0xd73  0x00001c71 0xd73  0x0   -r-- class.methods                                        
0x00001c71 0x7f   0x00001c71 0x7f   0x0   -r-- class.methods._init_.attr                            
0x00001c87 0x71   0x00001c87 0x71   0x0   -r-x class.methods._init_.attr.0.code                     
0x00001cf0 0x1fc  0x00001cf0 0x1fc  0x0   -r-- class.methods.onCreate.attr                          
0x00001d06 0x1ee  0x00001d06 0x1ee  0x0   -r-x class.methods.onCreate.attr.0.code                   
0x00001eec 0x58   0x00001eec 0x58   0x0   -r-- class.methods.onCreateOptionsMenu.attr               
0x00001f02 0x4a   0x00001f02 0x4a   0x0   -r-x class.methods.onCreateOptionsMenu.attr.0.code        
0x00001f44 0x9d   0x00001f44 0x9d   0x0   -r-- class.methods.onOptionsItemSelected.attr             
0x00001f5a 0x8f   0x00001f5a 0x8f   0x0   -r-x class.methods.onOptionsItemSelected.attr.0.code      
0x00001fe1 0x55   0x00001fe1 0x55   0x0   -r-- class.methods.checkForRadare.attr                    
0x00001ff7 0x47   0x00001ff7 0x47   0x0   -r-x class.methods.checkForRadare.attr.0.code             
0x00002036 0x68   0x00002036 0x68   0x0   -r-- class.methods.output.attr                            
0x0000204c 0x5a   0x0000204c 0x5a   0x0   -r-x class.methods.output.attr.0.code                     
0x0000209e 0x1a0  0x0000209e 0x1a0  0x0   -r-- class.methods.unTarGz.attr                           
0x000020b4 0x188  0x000020b4 0x188  0x0   -r-x class.methods.unTarGz.attr.0.code                    
0x0000223e 0x5d   0x0000223e 0x5d   0x0   -r-- class.methods.resetButtons.attr                      
0x00002254 0x4f   0x00002254 0x4f   0x0   -r-x class.methods.resetButtons.attr.0.code               
0x0000229b 0x335  0x0000229b 0x335  0x0   -r-- class.methods.download.attr                          
0x000022b1 0x327  0x000022b1 0x327  0x0   -r-x class.methods.download.attr.0.code                   
0x000025d0 0x13a  0x000025d0 0x13a  0x0   -r-- class.methods.onResume.attr                          
0x000025e6 0x12c  0x000025e6 0x12c  0x0   -r-x class.methods.onResume.attr.0.code                   
0x0000270a 0x3d   0x0000270a 0x3d   0x0   -r-- class.methods.access_000.attr                        
0x00002720 0x2f   0x00002720 0x2f   0x0   -r-x class.methods.access_000.attr.0.code                 
0x00002747 0x48   0x00002747 0x48   0x0   -r-- class.methods.access_100.attr                        
0x0000275d 0x3a   0x0000275d 0x3a   0x0   -r-x class.methods.access_100.attr.0.code                 
0x0000278f 0x3d   0x0000278f 0x3d   0x0   -r-- class.methods.access_200.attr                        
0x000027a5 0x2f   0x000027a5 0x2f   0x0   -r-x class.methods.access_200.attr.0.code                 
0x000027cc 0x3d   0x000027cc 0x3d   0x0   -r-- class.methods.access_300.attr                        
0x000027e2 0x2f   0x000027e2 0x2f   0x0   -r-x class.methods.access_300.attr.0.code                 
0x00002809 0x49   0x00002809 0x49   0x0   -r-- class.methods.access_402.attr                        
0x0000281f 0x3b   0x0000281f 0x3b   0x0   -r-x class.methods.access_402.attr.0.code                 
0x00002852 0x3d   0x00002852 0x3d   0x0   -r-- class.methods.access_400.attr                        
0x00002868 0x2f   0x00002868 0x2f   0x0   -r-x class.methods.access_400.attr.0.code                 
0x0000288f 0x3d   0x0000288f 0x3d   0x0   -r-- class.methods.access_500.attr                        
0x000028a5 0x2f   0x000028a5 0x2f   0x0   -r-x class.methods.access_500.attr.0.code                 
0x000028cc 0x3d   0x000028cc 0x3d   0x0   -r-- class.methods.access_600.attr                        
0x000028e2 0x2f   0x000028e2 0x2f   0x0   -r-x class.methods.access_600.attr.0.code                 
0x00002909 0x49   0x00002909 0x49   0x0   -r-- class.methods.access_602.attr                        
0x0000291f 0x3b   0x0000291f 0x3b   0x0   -r-x class.methods.access_602.attr.0.code                 
0x00002952 0x3d   0x00002952 0x3d   0x0   -r-- class.methods.access_700.attr                        
0x00002968 0x2f   0x00002968 0x2f   0x0   -r-x class.methods.access_700.attr.0.code                 
0x0000298f 0x55   0x0000298f 0x55   0x0   -r-- class.methods.access_800.attr                        
0x000029a5 0x45   0x000029a5 0x45   0x0   -r-x class.methods.access_800.attr.0.code                 
0x000029e4 0x50   0x000029e4 0x50   0x0   -r-- class.attr                                           
EOF
RUN


NAME=Java list sections Main.class
FILE=bins/java/Main.class
CMDS=iS
EXPECT=<<EOF
paddr      size  vaddr      vsize align perm name                             type flags 
-----------------------------------------------------------------------------------------
0x0000000a 0x365 0x0000000a 0x365 0x0   -r-- class.constant_pool                   
0x00000373 0x109 0x00000373 0x109 0x0   -r-- class.methods                         
0x00000373 0x2b  0x00000373 0x2b  0x0   -r-- class.methods._init_.attr             
0x00000389 0x1d  0x00000389 0x1d  0x0   -r-x class.methods._init_.attr.0.code      
0x0000039e 0xde  0x0000039e 0xde  0x0   -r-- class.methods.main.attr               
0x000003b4 0xce  0x000003b4 0xce  0x0   -r-x class.methods.main.attr.0.code        
0x0000047c 0x8   0x0000047c 0x8   0x0   -r-- class.attr                            
EOF
RUN


NAME=Java list sections sjybq.class
FILE=bins/java/sjybq.class
CMDS=iS
EXPECT=<<EOF
paddr size vaddr vsize align perm name type flags 
--------------------------------------------------
EOF
RUN


NAME=Java list sections test.class
FILE=bins/java/test.class
CMDS=iS
EXPECT=<<EOF
paddr      size  vaddr      vsize align perm name                                             type flags 
---------------------------------------------------------------------------------------------------------
0x0000000a 0x8bd 0x0000000a 0x8bd 0x0   -r-- class.constant_pool                                   
0x000008c9 0x8   0x000008c9 0x8   0x0   -r-- class.fields._staticClassInfo.attr                    
0x000008d1 0x8   0x000008d1 0x8   0x0   -r-- class.fields.___stMC.attr                             
0x000008d9 0xa   0x000008d9 0xa   0x0   -r-- class.fields._callSiteArray.attr                      
0x000008c9 0x1a  0x000008c9 0x1a  0x0   -r-- class.fields                                          
0x000008e3 0x2e4 0x000008e3 0x2e4 0x0   -r-- class.methods                                         
0x000008e3 0x35  0x000008e3 0x35  0x0   -r-- class.methods._init_.attr                             
0x000008f9 0x27  0x000008f9 0x27  0x0   -r-x class.methods._init_.attr.0.code                      
0x00000918 0x40  0x00000918 0x40  0x0   -r-- class.methods._init__1.attr                           
0x0000092e 0x32  0x0000092e 0x32  0x0   -r-x class.methods._init__1.attr.0.code                    
0x00000958 0x40  0x00000958 0x40  0x0   -r-- class.methods.main.attr                               
0x0000096e 0x32  0x0000096e 0x32  0x0   -r-x class.methods.main.attr.0.code                        
0x00000998 0x10c 0x00000998 0x10c 0x0   -r-- class.methods.run.attr                                
0x000009ae 0xfe  0x000009ae 0xfe  0x0   -r-x class.methods.run.attr.0.code                         
0x00000aa4 0x41  0x00000aa4 0x41  0x0   -r-- class.methods._getStaticMetaClass.attr                
0x00000aba 0x33  0x00000aba 0x33  0x0   -r-x class.methods._getStaticMetaClass.attr.0.code         
0x00000ae5 0x6f  0x00000ae5 0x6f  0x0   -r-- class.methods._createCallSiteArray_1.attr             
0x00000afb 0x61  0x00000afb 0x61  0x0   -r-x class.methods._createCallSiteArray_1.attr.0.code      
0x00000b54 0x2f  0x00000b54 0x2f  0x0   -r-- class.methods._createCallSiteArray.attr               
0x00000b6a 0x21  0x00000b6a 0x21  0x0   -r-x class.methods._createCallSiteArray.attr.0.code        
0x00000b83 0x44  0x00000b83 0x44  0x0   -r-- class.methods._getCallSiteArray.attr                  
0x00000b99 0x34  0x00000b99 0x34  0x0   -r-x class.methods._getCallSiteArray.attr.0.code           
0x00000bc7 0x8   0x00000bc7 0x8   0x0   -r-- class.attr                                            
EOF
RUN


NAME=Java list sections TryWithResources.class
FILE=bins/java/TryWithResources.class
CMDS=iS
EXPECT=<<EOF
paddr      size   vaddr      vsize  align perm name                                type flags 
----------------------------------------------------------------------------------------------
0x0000000a 0x3eb  0x0000000a 0x3eb  0x0   -r-- class.constant_pool                      
0x000003f5 0x4    0x000003f5 0x4    0x0   -r-- class.interfaces                         
0x000003f9 0x8    0x000003f9 0x8    0x0   -r-- class.fields._.attr                      
0x00000401 0xa    0x00000401 0xa    0x0   -r-- class.fields.i.attr                      
0x000003f9 0x12   0x000003f9 0x12   0x0   -r-- class.fields                             
0x0000040b 0x4b20 0x0000040b 0x4b20 0x0   -r-- class.methods                            
0x0000040b 0x23   0x0000040b 0x23   0x0   -r-- class.methods._.attr                     
0x00000421 0x15   0x00000421 0x15   0x0   -r-x class.methods._.attr.0.code              
0x0000042e 0x40   0x0000042e 0x40   0x0   -r-- class.methods._init_.attr                
0x00000444 0x32   0x00000444 0x32   0x0   -r-x class.methods._init_.attr.0.code         
0x0000046e 0x4c   0x0000046e 0x4c   0x0   -r-- class.methods.close.attr                 
0x00000484 0x3e   0x00000484 0x3e   0x0   -r-x class.methods.close.attr.0.code          
0x000004ba 0x2b   0x000004ba 0x2b   0x0   -r-- class.methods.__1.attr                   
0x000004d0 0x1d   0x000004d0 0x1d   0x0   -r-x class.methods.__1.attr.0.code            
0x000004e5 0x22   0x000004e5 0x22   0x0   -r-- class.methods.__1.attr_0x4e5             
0x000004fb 0x14   0x000004fb 0x14   0x0   -r-x class.methods.__1.attr.0.code_0x4fb      
0x00000507 0x2f   0x00000507 0x2f   0x0   -r-- class.methods.main.attr                  
0x0000051d 0x17   0x0000051d 0x17   0x0   -r-x class.methods.main.attr.0.code           
0x00000536 0x49cd 0x00000536 0x49cd 0x0   -r-- class.methods.main_1.attr                
0x0000054c 0x49bf 0x0000054c 0x49bf 0x0   -r-x class.methods.main_1.attr.0.code         
0x00004f03 0x28   0x00004f03 0x28   0x0   -r-- class.methods._clinit_.attr              
0x00004f19 0x18   0x00004f19 0x18   0x0   -r-x class.methods._clinit_.attr.0.code       
EOF
RUN

NAME=Java list exports HiKt.class
FILE=bins/java/HiKt.class
CMDS=iE
EXPECT=<<EOF
nth paddr      vaddr      bind   type size lib  name                
--------------------------------------------------------------------
0   0x00000225 0x00000225 GLOBAL FUNC 49   HiKt void main(String[])
EOF
RUN


