android - How to track a local variable by Androguard -
i want track intent objects, cannot find api.
i want know component start in application.also, want know how happen, if intent explicit intent or if has data.
for example, activity can launched method called startactivity(intent i), want know detail information of "i".so need locate it.
can give me help?
thanks much!
#!/usr/bin/env python import sys,string androguard.core.bytecodes.dvm import dalvikvmformat androguard.core.bytecodes.apk import apk androguard.core.analysis.analysis import uvmanalysis androguard.core.analysis.ganalysis import gvmanalysis def join_names(items): arr = [] item in items: arr.append(item[0].class_name+"->"+item[0].name) return string.join(arr, ", ") if len(sys.argv) > 2: filename = sys.argv[1] method_name = sys.argv[2] d = dalvikvmformat(apk(filename, false).get_dex()) d.create_python_export() dx = uvmanalysis(d) gx = gvmanalysis(dx, none) d.set_vmanalysis(dx) d.set_gvmanalysis(gx) d.create_xref() m in d.get_methods(): if m.name == method_name: print (m.class_name + "->" + m.name + " ----------------- xreffrom: [" + join_names(m.xreffrom.items) + "] xrefto: [" + join_names(m.xrefto.items) + "]") run so:
android@honeynet:~/tools/androguard$ ./xref.py your_apk.apk startactivity
Comments
Post a Comment