def testAPKWrapper(self): from androguard.misc import AnalyzeAPK from androguard.core.bytecodes.apk import APK from androguard.core.bytecodes.dvm import DalvikVMFormat from androguard.core.analysis.analysis import Analysis a, d, dx = AnalyzeAPK("examples/android/TestsAndroguard/bin/TestActivity.apk") self.assertIsInstance(a, APK) self.assertIsInstance(d[0], DalvikVMFormat) self.assertIsInstance(dx, Analysis) self.assertEqual(a.get_signature_name(), "META-INF/CERT.RSA") self.assertEqual(a.get_signature_names(), ["META-INF/CERT.RSA"]) self.assertIsNotNone(a.get_certificate(a.get_signature_name()))
def testAPKWrapper(self): from androguard.misc import AnalyzeAPK from androguard.core.bytecodes.apk import APK from androguard.core.bytecodes.dvm import DalvikVMFormat from androguard.core.analysis.analysis import Analysis a, d, dx = AnalyzeAPK("examples/android/TestsAndroguard/bin/TestActivity.apk") self.assertIsInstance(a, APK) self.assertIsInstance(d, DalvikVMFormat) self.assertIsInstance(dx, Analysis) self.assertEqual(a.get_signature_name(), "META-INF/CERT.RSA") self.assertEqual(a.get_signature_names(), ["META-INF/CERT.RSA"]) self.assertIsNotNone(a.get_certificate(a.get_signature_name()))
def testAPKWrapperRaw(self): from androguard.misc import AnalyzeAPK from androguard.core.bytecodes.apk import APK from androguard.core.bytecodes.dvm import DalvikVMFormat from androguard.core.analysis.analysis import Analysis with open( "examples/android/TestsAndroguard/bin/TestActivity.apk", 'rb') \ as file_obj: file_contents = file_obj.read() a, d, dx = AnalyzeAPK(file_contents, raw=True) self.assertIsInstance(a, APK) self.assertIsInstance(d[0], DalvikVMFormat) self.assertIsInstance(dx, Analysis) self.assertEqual(a.get_signature_name(), "META-INF/CERT.RSA") self.assertEqual(a.get_signature_names(), ["META-INF/CERT.RSA"]) self.assertIsNotNone(a.get_certificate(a.get_signature_name()))
def testAPKWrapperUnsigned(self): from androguard.misc import AnalyzeAPK from androguard.core.bytecodes.apk import APK from androguard.core.bytecodes.dvm import DalvikVMFormat from androguard.core.analysis.analysis import Analysis a, d, dx = AnalyzeAPK("examples/android/TestsAndroguard/bin/TestActivity_unsigned.apk") self.assertIsInstance(a, APK) self.assertIsInstance(d[0], DalvikVMFormat) self.assertIsInstance(dx, Analysis) self.assertIsNone(a.get_signature_name()) self.assertEqual(a.get_signature_names(), [])
def testAPKWrapperUnsigned(self): from androguard.misc import AnalyzeAPK from androguard.core.bytecodes.apk import APK from androguard.core.bytecodes.dvm import DalvikVMFormat from androguard.core.analysis.analysis import Analysis a, d, dx = AnalyzeAPK("examples/android/TestsAndroguard/bin/TestActivity_unsigned.apk") self.assertIsInstance(a, APK) self.assertIsInstance(d, DalvikVMFormat) self.assertIsInstance(dx, Analysis) self.assertEqual(a.get_signature_name(), None) self.assertEqual(a.get_signature_names(), [])
'{http://schemas.android.com/apk/res/android}versionCode'), 'libraries': list(apk.get_libraries()), 'androidtv': apk.is_androidtv(), 'target_sdk_version': apk.get_target_sdk_version(), 'api_keys': {}, # TODO 'activities': apk.get_activities(), 'main_activity': apk.get_main_activity(), 'receivers': apk.get_receivers(), 'signature_name': apk.get_signature_name(), 'dexes': {}, 'displayed_version': apk.xml['AndroidManifest.xml'].get( '{http://schemas.android.com/apk/res/android}versionName'), 'services': apk.get_services(), 'permissions': apk.get_permissions(), 'cordova': None, #What is this ? 'functionalities': {}, 'urls': get_urls(apk), }