hanada31 / ICCBot

ICCBot: A Fragment-Aware and Context-Sensitive ICC Resolution Tool for Android Applications
37 stars 10 forks source link

[Bug]: NullPointerException when analyzing Call Graph #14

Closed LightningRS closed 2 years ago

LightningRS commented 2 years ago

Contact Details

No response

ICCBot Command Line

D:/Programs/jdk-18.0.2/bin/java.exe -jar "D:\AACT-mist\ICCBot\ICCBot.jar" -path "D:\AACT-mist\data\APKs" -name "com.csipsimple_0.04-01_1841.apk" -androidJar "D:\AACT-mist\ICCBot\lib/platforms" -time 60 -maxPathNumber 100 -client ICCSpecClient -outputDir "D:\AACT-mist\data\ICCResult"

Technical Details

When using ICCBot to analyze APK [com.csipsimple_0.04-01_1841.apk], it crashed and produced error log.

APK File

https://drive.google.com/uc?id=1R5U9b3HyppEq8zqN3bDo6kL2y0quENX8&export=download&confirm=t

Version of ICCBot

1.1-SNAPSHOT

Version of Java

Oracle JDK 18.0.2

Relevant log output

java.lang.NullPointerException: Cannot invoke "soot.MethodOrMethodContext.method()" because the return value of "soot.jimple.toolkits.callgraph.Edge.getTgt()" is null
        at com.iscas.iccbot.client.cg.CgClientOutput.writeCG(CgClientOutput.java:40)
        at com.iscas.iccbot.client.cg.CallGraphClient.clientOutput(CallGraphClient.java:49)
        at com.iscas.iccbot.client.BaseClient.start(BaseClient.java:23)
        at com.iscas.iccbot.client.obj.target.ctg.ICCSpecClient.clientAnalyze(ICCSpecClient.java:47)
        at com.iscas.iccbot.client.BaseClient.start(BaseClient.java:22)
        at com.iscas.iccbot.Main.startAnalyze(Main.java:81)
        at com.iscas.iccbot.Main.main(Main.java:49)
java.lang.NullPointerException: Cannot invoke "soot.MethodOrMethodContext.method()" because the return value of "soot.jimple.toolkits.callgraph.Edge.getTgt()" is null
        at com.iscas.iccbot.client.cg.CgClientOutput.writeCGToString(CgClientOutput.java:71)
        at com.iscas.iccbot.client.cg.CallGraphClient.clientOutput(CallGraphClient.java:51)
        at com.iscas.iccbot.client.BaseClient.start(BaseClient.java:23)
        at com.iscas.iccbot.client.obj.target.ctg.ICCSpecClient.clientAnalyze(ICCSpecClient.java:47)
        at com.iscas.iccbot.client.BaseClient.start(BaseClient.java:22)
        at com.iscas.iccbot.Main.startAnalyze(Main.java:81)
        at com.iscas.iccbot.Main.main(Main.java:49)