siis / ic3

IC3: Inter-Component Communication Analysis in Android
http://siis.cse.psu.edu/ic3/
Apache License 2.0
36 stars 21 forks source link

How to interpret ic3 results #33

Open leslieducy opened 4 years ago

leslieducy commented 4 years ago

Hello, I recently successfully ran the IC3 tool by running commands on Ubuntu, and got the test results, but the results I am a bit confused, can you tell me what they all mean。For example extras,statement,exit_points,etc.How should I understand What about this result?THANK YOU!! components { name: "com.anzhi.ad.coverscreen.SA" kind: ACTIVITY exported: false extras { extra: "ads" instruction { statement: "r33 = virtualinvoke $r4.<android.content.Intent: java.lang.String getStringExtra(java.lang.String)>(\"ads\")" class_name: "com.anzhi.ad.coverscreen.SA" method: "<com.anzhi.ad.coverscreen.SA: java.util.Vector b()>" id: 2 } } extras { extra: "currentIndex" instruction { statement: "$i0 = virtualinvoke r1.<android.os.Bundle: int getInt(java.lang.String,int)>(\"currentIndex\", 0)" class_name: "com.anzhi.ad.coverscreen.SA" method: "<com.anzhi.ad.coverscreen.SA: void onCreate(android.os.Bundle)>" id: 16 } } exit_points { instruction { statement: "virtualinvoke r0.<com.anzhi.ad.coverscreen.SA: void startActivity(android.content.Intent)>(r78)" class_name: "com.anzhi.ad.coverscreen.SA" method: "<com.anzhi.ad.coverscreen.SA: void a(com.anzhi.ad.coverscreen.b.a)>" id: 129 } kind: ACTIVITY intents { attributes { kind: ACTION value: "android.intent.action.VIEW" } attributes { kind: FLAG int_value: 335544320 } attributes { kind: CLASS value: "com.tencent.mm.ui.qrcode.GetQRCodeInfoUI" } attributes { kind: PACKAGE value: "com.tencent.mm" } attributes { kind: URI value: "(.*)" } } intents { attributes { kind: ACTION value: "android.intent.action.VIEW" } attributes { kind: FLAG int_value: 335544320 } attributes { kind: URI value: "(.*)" } } } exit_points { instruction { statement: "virtualinvoke r0.<com.anzhi.ad.coverscreen.SA: void startActivity(android.content.Intent)>(r78)" class_name: "com.anzhi.ad.coverscreen.SA" method: "<com.anzhi.ad.coverscreen.SA: void a(com.anzhi.ad.coverscreen.b.a)>" id: 112 } kind: ACTIVITY intents { attributes { kind: FLAG int_value: 335544320 } attributes { kind: CLASS value: "com.tencent.mm.ui.qrcode.GetQRCodeInfoUI" } attributes { kind: PACKAGE value: "com.tencent.mm" } attributes { kind: URI value: "(.*)" } } } exit_points { instruction { statement: "virtualinvoke r0.<com.anzhi.ad.coverscreen.SA: void startActivity(android.content.Intent)>(r80)" class_name: "com.anzhi.ad.coverscreen.SA" method: "<com.anzhi.ad.coverscreen.SA: void a(com.anzhi.ad.coverscreen.b.a)>" id: 141 } kind: ACTIVITY intents { attributes { kind: EXTRA value: "url" } attributes { kind: CLASS value: "com/anzhi/ad/coverscreen/WA" } attributes { kind: PACKAGE value: "com.andan.dievksuqch" } } } exit_points { instruction { statement: "virtualinvoke r0.<android.content.Context: void sendBroadcast(android.content.Intent)>($r1)" class_name: "com.anzhi.ad.coverscreen.CoverAdComponent" method: "<com.anzhi.ad.coverscreen.CoverAdComponent: void close(android.content.Context)>" id: 3 } kind: RECEIVER intents { attributes { kind: ACTION value: "com.screen.main.coverscreen.close" } } } exit_points { instruction { statement: "virtualinvoke r0.<com.anzhi.ad.coverscreen.SA: void sendBroadcast(android.content.Intent)>(r73)" class_name: "com.anzhi.ad.coverscreen.SA" method: "<com.anzhi.ad.coverscreen.SA: void a(com.anzhi.ad.coverscreen.b.a)>" id: 23 } kind: RECEIVER intents { attributes { kind: ACTION value: "broadcast.route.control" } attributes { kind: EXTRA value: "packageName" value: "type" } } } }