def dynamic_analysis(request): """Android Dynamic Analysis Entry point.""" try: apks = StaticAnalyzerAndroid.objects.filter( ZIPPED='&type=apk').order_by('-id') try: identifier = get_device() except Exception: msg = ('Is Genymotion Andoird VM running? MobSF cannot' ' find android instance identifier.' ' Please run an android instance and refresh' ' this page. If this error persists,' ' set ANALYZER_IDENTIFIER in MobSF/settings.py') return print_n_send_error_response(request, msg) proxy_ip = get_proxy_ip(identifier) context = { 'apks': apks, 'identifier': identifier, 'proxy_ip': proxy_ip, 'proxy_port': settings.PROXY_PORT, 'title': 'MobSF Dynamic Analysis' } template = 'dynamic_analysis/dynamic_analysis.html' return render(request, template, context) except Exception as exp: logger.exception('Dynamic Analysis') return print_n_send_error_response(request, exp)
def set_global_proxy(self, version): """Set Global Proxy on device.""" # Android 4.4+ supported proxy_ip = None proxy_port = settings.PROXY_PORT if version < 5: proxy_ip = get_proxy_ip(self.identifier) else: proxy_ip = settings.PROXY_IP if proxy_ip: if version < 4.4: logger.warning('Please set Android VM proxy as %s:%s', proxy_ip, proxy_port) return logger.info('Setting Global Proxy for Android VM') self.adb_command([ 'settings', 'put', 'global', 'http_proxy', '{}:{}'.format( proxy_ip, proxy_port) ], True)
def dynamic_analysis(request, api=False): """Android Dynamic Analysis Entry point.""" try: scan_apps = [] apks = StaticAnalyzerAndroid.objects.filter( APP_TYPE='apk').order_by('-id') for apk in apks: temp_dict = { 'ICON_FOUND': apk.ICON_FOUND, 'MD5': apk.MD5, 'APP_NAME': apk.APP_NAME, 'VERSION_NAME': apk.VERSION_NAME, 'FILE_NAME': apk.FILE_NAME, 'PACKAGE_NAME': apk.PACKAGE_NAME, } scan_apps.append(temp_dict) try: identifier = get_device() except Exception: msg = ('Is Android VM running? MobSF cannot' ' find android instance identifier.' ' Please run an android instance and refresh' ' this page. If this error persists,' ' set ANALYZER_IDENTIFIER in MobSF/settings.py') return print_n_send_error_response(request, msg, api) proxy_ip = get_proxy_ip(identifier) context = {'apps': scan_apps, 'identifier': identifier, 'proxy_ip': proxy_ip, 'proxy_port': settings.PROXY_PORT, 'title': 'MobSF Dynamic Analysis', 'version': settings.MOBSF_VER} if api: return context template = 'dynamic_analysis/dynamic_analysis.html' return render(request, template, context) except Exception as exp: logger.exception('Dynamic Analysis') return print_n_send_error_response(request, exp, api)