从 smali 代码为 Android APK 构建控制流图

Building a Control Flow Graph for Android APK from smali code

有没有直接解析smali代码构造CFG的工具?我知道 Androguard 做了类似的事情,但它似乎对 apk 文件使用反编译,如果 apk 使用混淆技术,这在某些情况下会变得不可靠。

看看https://androguard.blogspot.co.il/2011/02/android-apps-visualization.html

关于您对 Androguard 的担忧。

it seems to use decompilation on the apk file

你是说 "disassembling" 吗?好吧,工具需要理解字节码才能构建调用图。如果你的意思是 "decompiling to Java",我很确定这不会发生。

unreliable in situations if the apk uses obfuscation techniques

有多种混淆技术。大多数与调用图无关。例如。名称修改将 class 名称如 org.apache.http.client.HttpClient 替换为无意义的名称如 a.b.c。您仍然会在 CFG 中看到此 class 及其功能。