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(), [])
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()))
class AndroguardAnalysis(object): def __init__(self, app_path): self.app_path = app_path from androguard.core.bytecodes.apk import APK self.a = APK(app_path) self.d = None self.dx = None self.cert = None if (self.a.is_signed()): signatures = self.a.get_signature_names() for signature in signatures: self.cert = self.a.get_certificate(signature) def get_detailed_analysis(self, app_path): from androguard.misc import AnalyzeAPK self.a, self.d, self.dx = AnalyzeAPK(app_path) def get_developer_name(self): if self.cert is not None: return self.cert['tbs_certificate']['issuer'].native.get( 'organization_name', 'Unknown') else: return "Unknown"