Skip to content

CoronaMadrid - 1.0.4

Warning

Aether static analyses of apps can reveal what trackers are embedded in an application. It can also reveal which permissions the application requires in order to correctly operate on your smartphone and what are operations the app could execute. A static analysis can not provide conclusive evidence whether app features listed in this report are actually used in practice.

Warning

The report lists trackers signatures found by static analysis in the APK. This is not a proof of activity of these trackers. The application could also contain tracker(s) we do not know yet.

APK details

  • Size: 18.17MB
  • MD5: bad687c2aa03cdc3137996da6821ce3f
  • SHA1: 017db39ceaa47b2e1c7cdd92d7da7dde8592f4c8
  • SHA256: 46d4fdbd609a5f79ff63c24de2461ddba4f224cb2e91f03da502d7c15eb55bc9
  • UAID: 3FD3A80749F6E802BB793DE54D6B82D937762B00
  • Package name: org.madrid.CoronaMadrid
  • Main activity: org.madrid.CoronaMadrid.MainActivity
  • Application name: CoronaMadrid
  • Version name: 1.0.4
  • Version code: 21

Application features overview

  • The application probably makes OS calls.

  • The application probably executes OS commands.

  • The application probably loads JS-capable web views.

  • The application probably plays sound.

  • The application probably gets the advertising ID for tracking purposes.

  • The application probably reads the Android serial number.

  • The application probably gets all the contacts.

  • The application probably gets the location based on GPS and/or Wi-Fi.

  • The application probably gets network interfaces addresses (IP and/or MAC).

  • The application probably gets the network connections information.

  • The application probably gets the phone number associated to the SIM card.

  • The application probably gets memory and CPU information.

  • The application probably reads the system settings.

  • The application probably gets different information regarding the telephony capabilities.

  • The application probably gets the Wi-Fi connection information.

  • The application probably sends data over HTTP/S.

  • The application probably uses cryptography.

  • The application probably uses reflection.

  • The application probably uses the phone sensors.

Certificate

Organization: Comunidad de Madrid, Locality: Madrid, State/Province: Madrid, Country: ES

Permissions

  • android.permission.WAKE_LOCK

  • android.permission.ACCESS_NETWORK_STATE

  • android.permission.ACCESS_FINE_LOCATION

  • android.permission.ACCESS_COARSE_LOCATION

  • com.google.android.c2dm.permission.RECEIVE

  • android.permission.INTERNET

  • com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE

  • android.permission.WRITE_EXTERNAL_STORAGE

  • android.permission.USE_FINGERPRINT

  • android.permission.READ_EXTERNAL_STORAGE

  • android.permission.READ_PHONE_STATE

  • android.permission.ACCESS_WIFI_STATE

Trackers

  • Google CrashLytics

  • Google Firebase Analytics

Detection rules

The application probably makes OS calls.

Entrypoints:

  • com.facebook.yoga.YogaNative.<clinit>()

  • com.facebook.react.m.onActivityResult()

  • com.facebook.react.fabric.events.EventBeatManager.<clinit>()

  • com.facebook.react.m.onPause()

  • com.facebook.react.fabric.events.EventEmitterWrapper.<clinit>()

  • com.facebook.jni.Countable.<clinit>()

  • com.facebook.react.bridge.JSCJavaScriptExecutor.<clinit>()

  • com.facebook.react.turbomodule.core.JSCallInvokerHolderImpl.<clinit>()

  • com.facebook.react.modules.blob.BlobCollector.<clinit>()

  • com.facebook.react.fabric.Binding.<clinit>()

  • com.facebook.react.m.onNewIntent()

  • com.facebook.react.c.onStartCommand()

  • com.facebook.imagepipeline.nativecode.NativeRoundingFilter.<clinit>()

  • com.facebook.react.bridge.Inspector.<clinit>()

  • com.facebook.react.bridge.WritableNativeMap.<clinit>()

  • com.facebook.react.bridge.NativeArray.<clinit>()

  • com.facebook.imagepipeline.nativecode.NativeJpegTranscoder.a()

  • com.facebook.react.ReactFragment.V()

  • com.facebook.react.bridge.CxxModuleWrapperBase.<clinit>()

  • com.facebook.react.fabric.ComponentFactoryDelegate.<clinit>()

  • com.facebook.react.bridge.ReadableNativeArray.<clinit>()

  • com.facebook.react.m.onKeyUp()

  • a.f.f.d.a()

  • com.facebook.react.c.onDestroy()

  • com.facebook.react.ReactFragment.Q()

  • com.facebook.react.ReactFragment.a()

  • com.facebook.jni.ThreadScopeSupport.<clinit>()

  • com.facebook.jni.CpuCapabilitiesJni.<clinit>()

  • com.facebook.soloader.b.a()

  • com.facebook.react.m.onDestroy()

  • com.facebook.react.ReactFragment.U()

  • com.facebook.react.bridge.CatalystInstanceImpl.<clinit>()

  • com.facebook.react.fabric.c.<clinit>()

  • com.facebook.jni.HybridData.<clinit>()

  • com.facebook.react.bridge.NativeMap.<clinit>()

  • com.facebook.react.m.onBackPressed()

  • com.facebook.imagepipeline.memory.NativeMemoryChunk.<clinit>()

  • com.facebook.react.m.onResume()

  • com.facebook.imagepipeline.nativecode.NativeJpegTranscoder.<clinit>()

  • com.facebook.imagepipeline.nativecode.DalvikPurgeableDecoder.<clinit>()

  • com.facebook.react.m.onWindowFocusChanged()

  • com.facebook.react.bridge.WritableNativeArray.<clinit>()

  • com.facebook.react.bridge.ReadableNativeMap.<clinit>()

  • com.facebook.react.bridge.ProxyJavaScriptExecutor.<clinit>()

  • com.facebook.react.bridge.CxxModuleWrapper.makeDso()

  • com.facebook.react.bridge.NativeDeltaClient.<clinit>()

  • com.facebook.hermes.reactexecutor.HermesExecutor.<clinit>()

  • com.facebook.imagepipeline.nativecode.Bitmaps.<clinit>()

  • com.facebook.imagepipeline.nativecode.NativeBlurFilter.<clinit>()

  • org.madrid.CoronaMadrid.MainActivity.onCreate()

  • com.facebook.react.jscexecutor.JSCExecutor.<clinit>()

  • com.facebook.react.m.onKeyLongPress()

Calls:

  • android.system.OsConstants.S_ISREG(I)

  • android.system.Os.stat(String)

  • android.system.Os.readlink(String)

  • android.system.Os.posix_fallocate(FileDescriptor,J,J)

The application probably executes OS commands.

Entrypoints:

  • com.facebook.react.modules.systeminfo.AndroidInfoModule.getServerHost()

Calls:

  • java.lang.Runtime.exec([Ljava/lang/String;)
The application probably loads JS-capable web views.

Entrypoints:

  • com.reactnativecommunity.webview.RNCWebViewManager.setSource()

  • com.reactnativecommunity.webview.RNCWebViewManager.setJavaScriptEnabled()

  • com.reactnativecommunity.webview.RNCWebViewManager.receiveCommand()

  • com.reactnativecommunity.webview.RNCWebViewManager.setMessagingEnabled()

  • com.reactnativecommunity.webview.RNCWebViewManager$g.onPageFinished()

Calls:

  • android.webkit.WebView.loadUrl(String,Map)

  • android.webkit.WebView.addJavascriptInterface(Object,String)

  • android.webkit.WebSettings.setJavaScriptEnabled(Z)

  • android.webkit.WebView.loadUrl(String)

The application probably plays sound.

Entrypoints:

  • androidx.appcompat.app.g$j.dispatchKeyEvent()

  • com.facebook.react.modules.sound.SoundManagerModule.playTouchSound()

  • com.facebook.react.uimanager.UIManagerModule.playTouchSound()

  • androidx.appcompat.app.g$n.dispatchKeyEvent()

Calls:

  • android.media.AudioManager.playSoundEffect(I)
The application probably gets the advertising ID for tracking purposes.

Entrypoints:

  • com.google.android.gms.measurement.internal.w5.run()

  • com.google.android.gms.measurement.internal.k5.run()

  • com.google.android.gms.measurement.internal.l6.run()

  • com.google.android.gms.measurement.internal.u5.run()

  • com.google.android.gms.measurement.internal.j5.run()

  • com.google.android.gms.measurement.internal.o9.call()

  • com.google.android.gms.measurement.internal.s5.run()

  • com.google.android.gms.measurement.internal.p5.run()

  • com.google.android.gms.measurement.internal.y5.run()

  • com.google.android.gms.measurement.internal.q5.run()

Calls:

  • com.google.android.gms.ads.identifier.AdvertisingIdClient.getAdvertisingIdInfo(Context)
The application probably reads the Android serial number.

Entrypoints:

  • com.learnium.RNDeviceInfo.RNDeviceModule.getSerialNumber()

Calls:

  • android.os.Build.getSerial()
The application probably gets all the contacts.

Entrypoints:

  • c.b.l.n.w.a()

Calls:

  • android.provider.ContactsContract$Contacts.openContactPhotoInputStream(ContentResolver,Uri)
The application probably gets the location based on GPS and/or Wi-Fi.

Entrypoints:

  • com.reactnativecommunity.geolocation.GeolocationModule.startObserving()

  • com.reactnativecommunity.geolocation.GeolocationModule$e.invoke()

  • androidx.appcompat.app.g$m.c()

  • com.reactnativecommunity.geolocation.GeolocationModule$b.invoke()

  • com.reactnativecommunity.geolocation.GeolocationModule.getCurrentPosition()

Calls:

  • android.location.LocationManager.getLastKnownLocation(String)

  • android.location.LocationManager.requestLocationUpdates(String,J,F,LocationListener)

The application probably gets network interfaces addresses (IP and/or MAC).

Entrypoints:

  • d.b.o1.h$d.run()

  • com.learnium.RNDeviceInfo.RNDeviceModule.getMacAddress()

  • okhttp3.internal.http2.Http2Connection$Builder.socket()

Calls:

  • java.net.Socket.getRemoteSocketAddress()

  • java.net.Socket.getLocalSocketAddress()

  • android.net.wifi.WifiInfo.getMacAddress()

  • java.net.NetworkInterface.getNetworkInterfaces()

  • java.net.NetworkInterface.getHardwareAddress()

The application probably gets the network connections information.

Entrypoints:

  • com.crashlytics.android.e.m.u()

  • com.google.android.gms.measurement.internal.n5.call()

  • com.reactnativecommunity.netinfo.f$b.onAvailable()

  • com.google.android.gms.measurement.internal.k5.run()

  • com.google.android.gms.measurement.internal.k9.run()

  • com.google.android.gms.measurement.internal.u5.run()

  • com.google.android.gms.measurement.internal.f9.a()

  • com.google.firebase.iid.y.run()

  • com.google.android.gms.measurement.internal.l5.call()

  • com.reactnativecommunity.netinfo.NetInfoModule.getCurrentState()

  • com.google.android.gms.measurement.internal.r5.call()

  • d.b.m1.a$b$d.onReceive()

  • com.google.android.gms.measurement.internal.m9.a()

  • com.google.android.gms.measurement.internal.q5.run()

  • com.google.android.gms.measurement.internal.o5.call()

  • com.google.android.gms.measurement.internal.j5.run()

  • com.google.android.gms.measurement.internal.t5.call()

  • com.google.firebase.firestore.s0.g$d.onReceive()

  • com.reactnativecommunity.netinfo.f$b.onLost()

  • com.reactnativecommunity.netinfo.f$b.onCapabilitiesChanged()

  • com.google.android.gms.measurement.internal.w5.run()

  • com.google.android.gms.measurement.internal.j4.onReceive()

  • com.google.firebase.iid.x.onReceive()

  • com.google.android.gms.measurement.internal.s8.run()

  • com.google.android.gms.measurement.internal.m5.call()

  • com.google.android.gms.measurement.internal.m4.run()

  • com.reactnativecommunity.netinfo.b$b.onReceive()

  • com.reactnativecommunity.netinfo.NetInfoModule.onAmazonFireDeviceConnectivityChanged()

  • com.reactnativecommunity.netinfo.f$b.onLosing()

  • com.google.android.gms.measurement.internal.l6.run()

  • com.reactnativecommunity.netinfo.f$b.onLinkPropertiesChanged()

  • com.reactnativecommunity.netinfo.f$b.onUnavailable()

  • com.google.android.gms.measurement.internal.s5.run()

  • com.google.android.gms.measurement.internal.p5.run()

  • com.google.android.gms.measurement.internal.y5.run()

  • com.google.android.gms.measurement.internal.n9.a()

  • com.reactnativecommunity.netinfo.b.c()

  • com.crashlytics.android.e.l$j0.run()

Calls:

  • android.net.ConnectivityManager.getNetworkInfo(Network)

  • android.net.ConnectivityManager.getActiveNetworkInfo()

The application probably gets the phone number associated to the SIM card.

Entrypoints:

  • com.learnium.RNDeviceInfo.RNDeviceModule.getPhoneNumber()

Calls:

  • android.telephony.TelephonyManager.getLine1Number()
The application probably gets memory and CPU information.

Entrypoints:

  • com.facebook.react.modules.fresco.FrescoModule.initialize()

  • b.a.<clinit>()

  • com.facebook.imagepipeline.memory.c.<clinit>()

  • com.facebook.react.modules.fresco.FrescoModule.clearSensitiveData()

  • com.facebook.react.views.image.f.onSizeChanged()

  • com.facebook.react.modules.image.ImageLoaderModule.prefetchImage()

  • com.facebook.react.modules.image.ImageLoaderModule.getSizeWithHeaders()

  • d.a.a.a.n.c.a.<clinit>()

  • d.a.a.a.n.c.l.<clinit>()

  • com.facebook.react.modules.fresco.FrescoModule.onHostDestroy()

  • com.horcrux.svg.m.draw()

  • com.learnium.RNDeviceInfo.RNDeviceModule.getMaxMemory()

  • com.facebook.react.modules.image.ImageLoaderModule.getSize()

  • com.learnium.RNDeviceInfo.RNDeviceModule.getUsedMemory()

  • com.facebook.react.views.image.f.setControllerListener()

  • com.facebook.imagepipeline.memory.m.<clinit>()

  • com.facebook.react.views.image.ReactImageManager.onAfterUpdateTransaction()

  • com.facebook.react.modules.image.ImageLoaderModule$d.doInBackgroundGuarded()

Calls:

  • java.lang.Runtime.availableProcessors()

  • java.lang.Runtime.freeMemory()

  • java.lang.Runtime.maxMemory()

  • java.lang.Runtime.totalMemory()

The application probably reads the system settings.

Entrypoints:

  • com.facebook.react.modules.accessibilityinfo.AccessibilityInfoModule.initialize()

  • com.learnium.RNDeviceInfo.RNDeviceModule.getDeviceName()

  • com.crashlytics.android.e.l$y.run()

  • com.google.android.gms.measurement.internal.q5.run()

  • com.facebook.react.modules.accessibilityinfo.AccessibilityInfoModule$a.onChange()

  • com.google.android.gms.measurement.internal.j5.run()

  • com.facebook.react.f0.b.a()

  • com.learnium.RNDeviceInfo.RNDeviceModule.getAndroidId()

  • com.learnium.RNDeviceInfo.RNDeviceModule.isAirplaneMode()

  • com.google.android.gms.measurement.internal.w5.run()

  • com.learnium.RNDeviceInfo.RNDeviceModule.isLocationEnabled()

  • com.learnium.RNDeviceInfo.RNDeviceModule.getConstants()

  • com.agontuk.RNFusedLocation.RNFusedLocationModule.startObserving()

  • com.facebook.react.modules.systeminfo.AndroidInfoModule.getAndroidID()

  • com.google.android.gms.measurement.internal.s5.run()

  • com.google.android.gms.measurement.internal.p5.run()

  • com.google.android.gms.measurement.internal.y5.run()

  • com.agontuk.RNFusedLocation.RNFusedLocationModule$a.onActivityResult()

  • io.invertase.firebase.utils.ReactNativeFirebaseUtilsModule.getConstants()

  • com.facebook.react.modules.accessibilityinfo.AccessibilityInfoModule.onHostResume()

Calls:

  • android.provider.Settings$Secure.getInt(ContentResolver,String)

  • android.provider.Settings$Global.getInt(ContentResolver,String,I)

  • android.provider.Settings$Secure.getInt(ContentResolver,String,I)

  • android.provider.Settings$Global.getUriFor(String)

  • android.provider.Settings$Global.getString(ContentResolver,String)

  • android.provider.Settings$System.getInt(ContentResolver,String,I)

  • android.provider.Settings$System.getString(ContentResolver,String)

  • android.provider.Settings$Secure.getString(ContentResolver,String)

The application probably gets different information regarding the telephony capabilities.

Entrypoints:

  • com.reactnativecommunity.netinfo.f$b.onAvailable()

  • com.reactnativecommunity.netinfo.b$b.onReceive()

  • com.learnium.RNDeviceInfo.RNDeviceModule.getCarrier()

  • com.reactnativecommunity.netinfo.NetInfoModule.onAmazonFireDeviceConnectivityChanged()

  • com.reactnativecommunity.netinfo.f$b.onLosing()

  • com.reactnativecommunity.netinfo.f$b.onLinkPropertiesChanged()

  • com.reactnativecommunity.netinfo.f$b.onUnavailable()

  • com.reactnativecommunity.netinfo.NetInfoModule.getCurrentState()

  • com.reactnativecommunity.netinfo.f$b.onLost()

  • com.reactnativecommunity.netinfo.b.c()

  • com.reactnativecommunity.netinfo.f$b.onCapabilitiesChanged()

Calls:

  • android.telephony.TelephonyManager.getNetworkOperatorName()
The application probably gets the Wi-Fi connection information.

Entrypoints:

  • com.reactnativecommunity.netinfo.f$b.onAvailable()

  • com.reactnativecommunity.netinfo.b$b.onReceive()

  • com.reactnativecommunity.netinfo.NetInfoModule.onAmazonFireDeviceConnectivityChanged()

  • com.reactnativecommunity.netinfo.f$b.onLosing()

  • com.reactnativecommunity.netinfo.f$b.onLinkPropertiesChanged()

  • com.learnium.RNDeviceInfo.RNDeviceModule.getMacAddress()

  • com.reactnativecommunity.netinfo.f$b.onUnavailable()

  • com.reactnativecommunity.netinfo.NetInfoModule.getCurrentState()

  • com.learnium.RNDeviceInfo.RNDeviceModule.getIpAddress()

  • com.reactnativecommunity.netinfo.f$b.onLost()

  • com.reactnativecommunity.netinfo.b.c()

  • com.reactnativecommunity.netinfo.f$b.onCapabilitiesChanged()

Calls:

  • android.net.wifi.WifiManager.getConnectionInfo()
The application probably sends data over HTTP/S.

Entrypoints:

  • d.a.a.a.n.g.m.a()

  • okhttp3.internal.huc.OkHttpsURLConnection.setRequestMethod()

  • d.a.a.a.n.e.b.a()

  • okhttp3.internal.huc.OkHttpsURLConnection.setRequestProperty()

  • com.crashlytics.android.c.h.a()

  • d.a.a.a.n.e.d.toString()

  • d.a.a.a.n.g.a.a()

  • com.crashlytics.android.e.h.a()

Calls:

  • java.net.HttpURLConnection.setRequestMethod(String)

  • java.net.HttpURLConnection.setRequestProperty(String,String)

The application probably uses cryptography.

Entrypoints:

  • com.oblador.keychain.e.c.a()

Calls:

  • javax.crypto.Cipher.getIV()

  • javax.crypto.Cipher.init(I,Key,AlgorithmParameterSpec)

  • javax.crypto.Cipher.getInstance(String)

  • javax.crypto.Cipher.doFinal([B,I,I)

  • javax.crypto.Cipher.init(I,Key)

The application probably uses reflection.

Entrypoints:

  • io.invertase.firebase.firestore.b0.a()

  • io.invertase.firebase.firestore.ReactNativeFirebaseFirestoreCollectionModule.collectionGet()

  • io.invertase.firebase.firestore.ReactNativeFirebaseFirestoreCollectionModule.collectionOnSnapshot()

  • io.invertase.firebase.firestore.k.a()

  • io.invertase.firebase.firestore.o.a()

  • io.invertase.firebase.firestore.f.a()

Calls:

  • java.lang.reflect.AccessibleObject.isAnnotationPresent(Class)

  • java.lang.reflect.AccessibleObject.getAnnotation(Class)

The application probably uses the phone sensors.

Entrypoints:

  • com.crashlytics.android.e.l$y.run()

Calls:

  • android.hardware.SensorManager.getDefaultSensor(I)

Domains

  • github.com

  • settings.crashlytics.com

  • app-measurement.com

  • e.crashlytics.com

  • covid19madrid.firebaseio.com

  • goo.gl