コード例 #1
0
ファイル: apkviewer.py プロジェクト: delta24/mobsec
def main(options, arguments):
    if options.input != None and options.output != None:
        ret_type = androconf.is_android(options.input)
        vm = None
        a = None
        if ret_type == "APK":
            a = apk.APK(options.input)
            if a.is_valid_APK():
                vm = dvm.DalvikVMFormat(a.get_dex())
            else:
                print "INVALID APK"
        elif ret_type == "DEX":
            try:
                vm = dvm.DalvikVMFormat(read(options.input))
            except Exception, e:
                print "INVALID DEX", e

        vmx = analysis.VMAnalysis(vm)
        gvmx = ganalysis.GVMAnalysis(vmx, a)

        create_directories(vm, options.output)

        #        dv.export_to_gml( options.output )

        dd = data.Data(vm, vmx, gvmx, a)

        buff = dd.export_apk_to_gml()
        androconf.save_to_disk(buff, options.output + "/" + "apk.graphml")

        buff = dd.export_methodcalls_to_gml()
        androconf.save_to_disk(buff, options.output + "/" + "methodcalls.graphml")

        buff = dd.export_dex_to_gml()
        for i in buff:
            androconf.save_to_disk(buff[i], options.output + "/" + i + ".graphml")
コード例 #2
0
ファイル: androgexf.py プロジェクト: delta24/mobsec
def main(options, arguments):
    if options.input != None and options.output != None:
        ret_type = androconf.is_android( options.input )

        vm = None
        a = None
        if ret_type == "APK":
            a = apk.APK( options.input )
            if a.is_valid_APK():
                vm = dvm.DalvikVMFormat( a.get_dex() )
            else:
                print "INVALID APK"
        elif ret_type == "DEX":
            try:
                vm = dvm.DalvikVMFormat( read(options.input) )
            except Exception, e:
                print "INVALID DEX", e

        vmx = analysis.VMAnalysis( vm )
        gvmx = ganalysis.GVMAnalysis( vmx, a )

        b = gvmx.export_to_gexf()
        androconf.save_to_disk( b, options.output )
コード例 #3
0
ファイル: stadyna_analyser.py プロジェクト: delta24/mobsec
 def saveGexf(self, where, resultsFileName):
     gexfFileName = '%s%s' % (resultsFileName, '.gexf')
     gexfSavePath = os.path.join(where, gexfFileName)
     b = self._stadynaMcg.export_to_gexf()
     androconf.save_to_disk(b, gexfSavePath)