Skip to content

Aarogya Setu - 1.0.0

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: 3.29MB
  • MD5: 4034bfb158b532591a8e3f46e5a90df3
  • SHA1: 2c848c2d2bc92cfb2aa7f5eac3bd391922555251
  • SHA256: c70f65be3100a5f7d5fa05b7c170bda1d7345b5a3868d5af6dc3f4146000ad88
  • UAID: B692E01686CDF69AC9093ED31C0D0B6F95EA5E86
  • Package name: nic.goi.aarogyasetu
  • Main activity: nic.goi.aarogyasetu.views.SplashActivity
  • Application name: Aarogya Setu
  • Version name: 1.0.0
  • Version code: 1036

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 all the contacts.

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

  • The application probably gets the network connections information.

  • The application probably gets memory and CPU information.

  • The application probably reads the system settings.

  • The application probably sends data over HTTP/S.

  • The application probably uses Bluetooth

  • The application probably uses cryptography.

  • The application probably uses reflection.

  • The application probably uses the phone sensors.

Certificate

Common Name: NITI Aayog, Organizational Unit: NITI Aayog, Organization: NITI Aayog, Locality: New Delhi, State/Province: Delhi, Country: 91

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

  • android.permission.RECEIVE_BOOT_COMPLETED

  • android.permission.FOREGROUND_SERVICE

  • android.permission.ACCESS_BACKGROUND_LOCATION

  • android.permission.BLUETOOTH_ADMIN

  • android.permission.BLUETOOTH

Trackers

  • Google CrashLytics

Detection rules

The application probably makes OS calls.

Entrypoints:

  • h.h.g.d.a()

Calls:

  • android.system.OsConstants.S_ISREG(I)

  • android.system.Os.stat(String)

  • android.system.Os.readlink(String)

The application probably executes OS commands.

Entrypoints:

  • nic.goi.aarogyasetu.views.SplashActivity.onCreate()

Calls:

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

Entrypoints:

  • nic.goi.aarogyasetu.views.WebViewActivity.onCreate()

  • nic.goi.aarogyasetu.views.WebViewActivity.e()

  • d.a.a.a.e.invoke()

  • nic.goi.aarogyasetu.views.WebViewActivity.onKeyDown()

  • nic.goi.aarogyasetu.views.WebViewActivity.onActivityResult()

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

Calls:

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

  • android.webkit.WebSettings.setJavaScriptEnabled(Z)

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

The application probably plays sound.

Entrypoints:

  • h.b.k.h$i.dispatchKeyEvent()

  • h.b.k.h$e.dispatchKeyEvent()

Calls:

  • android.media.AudioManager.playSoundEffect(I)
The application probably gets all the contacts.

Entrypoints:

  • i.b.a.n.l.o.a()

Calls:

  • android.provider.ContactsContract$Contacts.lookupContact(ContentResolver,Uri)

  • android.provider.ContactsContract$Contacts.openContactPhotoInputStream(ContentResolver,Uri,Z)

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

Entrypoints:

  • h.b.k.h$h.c()

  • nic.goi.aarogyasetu.views.WebViewActivity$a.getHeaders()

  • nic.goi.aarogyasetu.background.BluetoothScanningService$a.onScanResult()

  • d.a.a.l.s.run()

Calls:

  • android.location.LocationManager.getLastKnownLocation(String)
The application probably gets the network connections information.

Entrypoints:

  • nic.goi.aarogyasetu.views.WebViewActivity$b.onPageStarted()

  • d.a.a.a.k$a.onClick()

  • i.b.a.o.e$a.onReceive()

  • h.a0.w.o.f.e$b.onLost()

  • c.onClick()

  • d.a.a.a.o$a.a()

  • i.b.a.o.e.c()

  • com.crashlytics.android.core.CrashlyticsController$SendReportRunnable.run()

  • h.a0.w.o.f.e.a()

  • nic.goi.aarogyasetu.views.WebViewActivity.onCreate()

  • h.a0.w.o.f.e$b.onCapabilitiesChanged()

  • i.c.a.a.i.e.a()

  • nic.goi.aarogyasetu.views.WebViewActivity$b.shouldOverrideUrlLoading()

  • nic.goi.aarogyasetu.views.WebViewActivity.onActivityResult()

  • com.crashlytics.android.core.CrashlyticsCore.onPreExecute()

  • i.c.a.a.j.r.h.g.run()

  • i.c.d.j.c0.run()

  • h.a0.w.o.f.e$a.onReceive()

  • i.c.d.j.f0.onReceive()

Calls:

  • android.net.ConnectivityManager.getActiveNetworkInfo()
The application probably gets memory and CPU information.

Entrypoints:

  • i.b.a.o.k.onAttach()

  • nic.goi.aarogyasetu.CoronaApplication.a()

  • d.a.a.l.u.<clinit>()

  • i.b.a.n.o.c.f.a()

  • i.b.a.o.o.a()

  • k.a.a.a.o.c.k.<clinit>()

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

  • f.a.k.a()

  • d.a.a.a.k.a()

  • f.a.a.o.<clinit>()

  • i.b.a.n.o.g.f.a()

  • i.b.a.n.n.y.d.a()

  • i.b.a.n.o.g.a.a()

  • i.b.a.n.o.c.n.a()

  • k.a.a.a.o.c.a.<clinit>()

  • i.b.a.n.n.y.c.a()

  • nic.goi.aarogyasetu.CoronaApplication.onCreate()

Calls:

  • java.lang.Runtime.availableProcessors()
The application probably reads the system settings.

Entrypoints:

  • h.h.e.m$c.handleMessage()

  • d.a.a.l.s.run()

  • com.crashlytics.android.core.CrashlyticsController$9.run()

Calls:

  • android.provider.Settings$Secure.getString(ContentResolver,String)
The application probably sends data over HTTP/S.

Entrypoints:

  • i.c.d.l.c.run()

  • i.c.d.l.d.run()

  • io.fabric.sdk.android.services.network.HttpRequest.toString()

  • i.c.a.a.i.e.a()

  • k.a.a.a.n.doInBackground()

  • i.c.d.l.e.run()

  • com.crashlytics.android.Crashlytics.verifyPinning()

  • com.crashlytics.android.answers.AnswersRetryFilesSender.send()

  • com.crashlytics.android.core.CompositeCreateReportSpiCall.invoke()

Calls:

  • java.net.HttpURLConnection.setRequestMethod(String)

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

The application probably uses Bluetooth

Entrypoints:

  • nic.goi.aarogyasetu.background.BluetoothScanningService.onStartCommand()

  • d.a.a.a.s.a()

  • nic.goi.aarogyasetu.views.MainActivity.onActivityResult()

  • nic.goi.aarogyasetu.views.MainActivity.onRequestPermissionsResult()

  • nic.goi.aarogyasetu.views.MainActivity$c.a()

  • nic.goi.aarogyasetu.MyFirebaseMessagingService.a()

  • d.a.a.l.s.run()

  • d.a.a.a.u.onClick()

  • nic.goi.aarogyasetu.background.BluetoothScanningService$a.onScanResult()

  • d.a.a.g.a.run()

  • nic.goi.aarogyasetu.views.MainActivity.onCreate()

  • nic.goi.aarogyasetu.views.SplashActivity.onCreate()

  • nic.goi.aarogyasetu.background.MyWorker.d()

Calls:

  • android.bluetooth.BluetoothAdapter.getDefaultAdapter()

  • android.bluetooth.BluetoothAdapter.getBluetoothLeScanner()

  • android.bluetooth.BluetoothAdapter.getAddress()

  • android.bluetooth.BluetoothAdapter.isEnabled()

  • android.bluetooth.BluetoothAdapter.startDiscovery()

  • android.bluetooth.BluetoothDevice.getName()

  • android.bluetooth.BluetoothAdapter.enable()

  • android.bluetooth.BluetoothAdapter.getScanMode()

  • android.bluetooth.BluetoothAdapter.setName(String)

  • android.bluetooth.BluetoothAdapter.getName()

  • android.bluetooth.BluetoothAdapter.getBluetoothLeAdvertiser()

The application probably uses cryptography.

Entrypoints:

  • nic.goi.aarogyasetu.background.UploadDataToServerWorker.d()

  • i.c.c.a.c0.g.b()

  • i.c.c.a.c0.f.b()

  • nic.goi.aarogyasetu.background.BluetoothScanningService$a.onScanResult()

  • i.c.c.a.c0.a.a()

  • i.c.c.a.c0.d.a()

  • i.c.c.a.x.a.b.b()

  • i.c.c.a.c0.d.b()

  • i.c.c.a.c0.g.a()

  • i.c.c.a.v.a.c()

  • i.c.c.a.c0.z$a.a()

  • i.c.c.a.c0.f.a()

  • i.c.c.a.t.h.c()

  • d.a.a.i.a$a.a()

  • i.c.c.a.c0.c.b()

  • i.c.c.a.x.a.b.a()

  • i.c.c.a.c0.c.a()

Calls:

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

  • javax.crypto.Cipher.getIV()

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

  • javax.crypto.Cipher.getInstance(String)

  • javax.crypto.Cipher.getInstance(String,Provider)

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

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

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

The application probably uses reflection.

Entrypoints:

  • i.c.e.s.z.c.a()

  • i.c.e.s.z.a.a()

Calls:

  • java.lang.reflect.AccessibleObject.setAccessible(Z)
The application probably uses the phone sensors.

Entrypoints:

  • com.crashlytics.android.core.CrashlyticsController$9.run()

Calls:

  • android.hardware.SensorManager.getDefaultSensor(I)

Domains

  • web.swaraksha.gov.in

  • auth.swaraksha.gov.in

  • play.google.com

  • covid19-6c396.firebaseio.com

  • settings.crashlytics.com

  • plus.google.com

  • e.crashlytics.com

  • fp.swaraksha.gov.in