Skip to content

СоцМониторинг - 0.0.6

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: 14.94MB
  • MD5: d2b4de29fde987e1e3328e1e9f418dff
  • SHA1: feec4d1d3dba5a1c2dd1320fb03d2f607dc02924
  • SHA256: 33348914cebf17a1041ea2d17254a2c8d639f2c65aedf525b7c0e2a4d00bd7f2
  • UAID: 413BBD89AE87B6770DB4FE45B2FF6ED81AB56FD5
  • Package name: com.askgps.personaltrackerround
  • Main activity: com.askgps.personaltrackerround.MainActivity
  • Application name: СоцМониторинг
  • Version name: 0.0.6
  • Version code: 1177

Application features overview

  • The application probably makes OS calls.

  • The application probably plays sound.

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

  • The application probably gets the IMEI of the phone.

  • 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 records sound.

  • The application probably scans the Wi-Fi network.

  • The application probably sends data over HTTP/S.

  • The application probably uses Bluetooth

  • The application probably opens the camera.

  • The application probably uses cryptography.

  • The application probably uses reflection.

  • The application probably uses the phone sensors.

Certificate

Common Name: Android, Organizational Unit: Android, Organization: Google Inc., Locality: Mountain View, State/Province: California, Country: US

Permissions

  • android.permission.WAKE_LOCK

  • android.permission.ACCESS_NETWORK_STATE

  • android.permission.ACCESS_FINE_LOCATION

  • android.permission.ACCESS_COARSE_LOCATION

  • android.permission.VIBRATE

  • android.permission.CALL_PHONE

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

  • android.permission.INTERNET

  • android.permission.RECEIVE_BOOT_COMPLETED

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

  • android.permission.WRITE_EXTERNAL_STORAGE

  • android.permission.CAMERA

  • android.permission.READ_EXTERNAL_STORAGE

  • android.permission.READ_PHONE_STATE

  • android.permission.ACCESS_WIFI_STATE

  • android.permission.FOREGROUND_SERVICE

  • android.permission.CHANGE_WIFI_STATE

  • android.permission.BLUETOOTH_ADMIN

  • android.permission.BLUETOOTH

  • android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS

  • android.permission.PREVENT_POWER_KEY

  • android.permission.BODY_SENSORS

Trackers

  • Google CrashLytics

  • Google Firebase Analytics

Detection rules

The application probably makes OS calls.

Entrypoints:

  • androidx.core.graphics.TypefaceCompatApi21Impl.createFromFontInfo()

Calls:

  • android.system.OsConstants.S_ISREG(I)

  • android.system.Os.stat(String)

  • android.system.Os.readlink(String)

The application probably plays sound.

Entrypoints:

  • androidx.appcompat.app.AppCompatDelegateImpl$AppCompatWindowCallback.dispatchKeyEvent()

  • androidx.appcompat.app.AppCompatDelegateImpl$ListMenuDecorView.dispatchKeyEvent()

Calls:

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

Entrypoints:

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

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

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

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

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

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

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

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

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

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

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

Calls:

  • com.google.android.gms.ads.identifier.AdvertisingIdClient.getAdvertisingIdInfo(Context)
The application probably gets the IMEI of the phone.

Entrypoints:

  • com.askgps.personaltrackercore.ui.endwork.EndWorkFragment$onActivityCreated$2.onClick()

  • com.askgps.personaltrackercore.KoinModuleKt$koinModule$1$1.invoke()

  • com.askgps.personaltrackercore.ui.QrDialog.onViewCreated()

  • com.askgps.personaltrackerround.ui.main.MainFragmentRound$observeViewModel$1.onChanged()

  • com.askgps.personaltrackercore.BaseMainActivity.onRequestPermissionsResult()

Calls:

  • android.telephony.TelephonyManager.getDeviceId()

  • android.telephony.TelephonyManager.getImei()

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

Entrypoints:

  • com.askgps.personaltrackercore.extension.ContextExtensionKt.getLastLocation()

  • androidx.appcompat.app.AppCompatDelegateImpl$AutoTimeNightModeManager.getApplyableNightMode()

Calls:

  • android.location.LocationManager.getLastKnownLocation(String)
The application probably gets network interfaces addresses (IP and/or MAC).

Entrypoints:

  • org.conscrypt.OpenSSLSocketImpl.getLocalSocketAddress()

  • org.conscrypt.AbstractConscryptSocket$1.getHostnameOrIP()

  • org.conscrypt.OpenSSLSocketImpl.getInetAddress()

  • org.conscrypt.KitKatPlatformOpenSSLSocketImplAdapter.getLocalSocketAddress()

  • org.conscrypt.PreKitKatPlatformOpenSSLSocketImplAdapter.getInetAddress()

  • org.conscrypt.PreKitKatPlatformOpenSSLSocketImplAdapter.getLocalSocketAddress()

  • org.conscrypt.Conscrypt.getHostnameOrIP()

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

  • com.askgps.personaltrackercore.ui.endwork.EndWorkFragment$onActivityCreated$2.onClick()

  • com.askgps.personaltrackercore.KoinModuleKt$koinModule$1$1.invoke()

  • org.conscrypt.KitKatPlatformOpenSSLSocketImplAdapter.getRemoteSocketAddress()

  • com.askgps.personaltrackercore.ui.QrDialog.onViewCreated()

  • org.conscrypt.PreKitKatPlatformOpenSSLSocketImplAdapter.getRemoteSocketAddress()

  • org.conscrypt.OpenSSLSocketImpl.getHostnameOrIP()

  • org.conscrypt.OpenSSLSocketImpl.getRemoteSocketAddress()

  • org.conscrypt.KitKatPlatformOpenSSLSocketImplAdapter.getInetAddress()

  • com.askgps.personaltrackerround.ui.main.MainFragmentRound$observeViewModel$1.onChanged()

  • com.askgps.personaltrackercore.BaseMainActivity.onRequestPermissionsResult()

Calls:

  • java.net.Socket.getRemoteSocketAddress()

  • java.net.Socket.getLocalSocketAddress()

  • java.net.NetworkInterface.getNetworkInterfaces()

  • java.net.NetworkInterface.getHardwareAddress()

  • java.net.Socket.getInetAddress()

The application probably gets the network connections information.

Entrypoints:

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

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

  • androidx.core.net.ConnectivityManagerCompat.getNetworkInfoFromBroadcast()

  • androidx.work.impl.constraints.trackers.NetworkStateTracker$NetworkStateCallback.onCapabilitiesChanged()

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

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

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

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

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

  • androidx.work.impl.constraints.trackers.NetworkStateTracker$NetworkStateCallback.onLost()

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

  • com.google.android.datatransport.runtime.scheduling.jobscheduling.Uploader$$Lambda$1.run()

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

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

  • com.google.android.gms.measurement.internal.zzkt.zza()

  • com.google.android.datatransport.cct.zzc.decorate()

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

  • com.google.android.gms.measurement.internal.zzku.zza()

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

  • androidx.work.impl.constraints.trackers.NetworkStateTracker$NetworkStateBroadcastReceiver.onReceive()

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

  • com.google.android.gms.measurement.internal.zzkn.zza()

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

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

Calls:

  • android.net.ConnectivityManager.getActiveNetworkInfo()

  • android.net.ConnectivityManager.getNetworkInfo(I)

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

Entrypoints:

  • com.askgps.personaltrackercore.extension.ContextExtensionKt.getSimNumber()

Calls:

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

Entrypoints:

  • io.fabric.sdk.android.services.concurrency.PriorityThreadPoolExecutor.<clinit>()

  • kotlinx.coroutines.CommonPool.getExecutor()

  • io.fabric.sdk.android.services.concurrency.AsyncTask.<clinit>()

  • androidx.work.impl.WorkManagerInitializer.onCreate()

  • io.reactivex.Flowable.parallel()

  • io.reactivex.internal.schedulers.ComputationScheduler.<clinit>()

  • kotlinx.coroutines.CommonPool.dispatch()

  • kotlinx.coroutines.internal.SystemPropsKt__SystemPropsKt.<clinit>()

Calls:

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

Entrypoints:

  • androidx.media.MediaSessionManagerImplApi21.isTrustedForMediaControl()

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

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

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

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

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

  • androidx.core.app.NotificationManagerCompat$SideChannelManager.handleMessage()

  • com.google.android.gms.fitness.data.Device.getLocalDevice()

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

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

Calls:

  • android.provider.Settings$Secure.getString(ContentResolver,String)
The application probably gets different information regarding the telephony capabilities.

Entrypoints:

  • com.google.android.gms.fitness.data.Device.getLocalDevice()

Calls:

  • android.telephony.TelephonyManager.getPhoneType()
The application probably records sound.

Entrypoints:

  • androidx.camera.core.VideoCapture$1.run()

  • androidx.camera.view.CameraView.startRecording()

Calls:

  • android.media.AudioRecord.read(ByteBuffer,I)

  • android.media.AudioRecord.startRecording()

The application probably scans the Wi-Fi network.

Entrypoints:

  • com.askgps.personaltrackercore.utils.WifiUtils$processWifi$1.invokeSuspend()

  • com.askgps.personaltrackercore.utils.WifiUtils$wifiScanReceiver$1.onReceive()

  • com.askgps.personaltrackercore.utils.WifiUtils$repeatScan$1.invokeSuspend()

  • com.askgps.personaltrackercore.service.LocationUpdateService.onStartCommand()

  • com.askgps.personaltrackercore.receiver.LocationUpdatesBroadcastReceiver$onReceive$1.invoke()

  • com.askgps.personaltrackercore.utils.WifiUtils$scanSuccess$1.invoke()

  • com.askgps.personaltrackercore.utils.WifiUtils$scanFailure$1.invoke()

Calls:

  • android.net.wifi.WifiManager.getScanResults()

  • android.net.wifi.WifiManager.startScan()

The application probably sends data over HTTP/S.

Entrypoints:

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

  • io.fabric.sdk.android.services.common.AbstractSpiCall.getHttpRequest()

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

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

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

  • com.google.firebase.installations.FirebaseInstallations$$Lambda$3.run()

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

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

  • com.google.android.gms.internal.firebase_ml.zzhk.zzgh()

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

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

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

  • com.google.firebase.installations.FirebaseInstallations$$Lambda$4.call()

  • com.google.android.datatransport.cct.zza.apply()

  • io.fabric.sdk.android.services.network.DefaultHttpRequestFactory.buildHttpRequest()

  • com.google.firebase.installations.FirebaseInstallations$$Lambda$2.run()

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

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

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

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

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

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

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

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

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

  • com.google.android.gms.auth.api.signin.internal.zzd.run()

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

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

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

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

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

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

  • com.google.android.gms.internal.firebase_ml.zzhp.zzc()

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

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

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

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

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

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

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

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

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

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

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

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

  • io.fabric.sdk.android.services.settings.DefaultSettingsSpiCall.invoke()

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

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

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

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

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

  • com.google.firebase.installations.FirebaseInstallations$$Lambda$1.run()

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

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

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

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

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

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

Calls:

  • java.net.HttpURLConnection.setRequestMethod(String)

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

The application probably uses Bluetooth

Entrypoints:

  • com.askgps.personaltrackercore.utils.BluetoothUtils.onPause()

  • com.askgps.personaltrackercore.utils.BluetoothUtils$periodicResultAsync$1.invoke()

  • com.askgps.personaltrackercore.utils.BluetoothUtils.onCreate()

  • com.askgps.personaltrackercore.utils.BluetoothUtils.onResume()

  • com.askgps.personaltrackercore.utils.BluetoothUtils$scanCallback$1.onScanResult()

Calls:

  • android.bluetooth.BluetoothAdapter.isEnabled()

  • android.bluetooth.BluetoothDevice.getAddress()

  • android.bluetooth.BluetoothAdapter.enable()

  • android.bluetooth.BluetoothAdapter.getBluetoothLeScanner()

The application probably opens the camera.

Entrypoints:

  • androidx.camera.camera2.internal.compat.CameraManagerCompatBaseImpl.openCamera()

  • androidx.camera.camera2.internal.compat.CameraManagerCompatApi28Impl.openCamera()

Calls:

  • android.hardware.camera2.CameraManager.openCamera(String,CameraDevice$StateCallback,Handler)

  • android.hardware.camera2.CameraManager.openCamera(String,Executor,CameraDevice$StateCallback)

The application probably uses cryptography.

Entrypoints:

  • org.conscrypt.CryptoUpcalls.rsaSignDigestWithPrivateKey()

  • org.conscrypt.CryptoUpcalls.rsaDecryptWithPrivateKey()

Calls:

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

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

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

  • javax.crypto.Cipher.getInstance(String)

The application probably uses reflection.

Entrypoints:

  • com.google.gson.internal.reflect.UnsafeReflectionAccessor.makeAccessible()

  • com.google.gson.internal.reflect.PreJava9ReflectionAccessor.makeAccessible()

  • kotlin.reflect.jvm.KCallablesJvm.setAccessible()

  • kotlin.reflect.jvm.KCallablesJvm.isAccessible()

Calls:

  • java.lang.reflect.AccessibleObject.setAccessible(Z)

  • java.lang.reflect.AccessibleObject.isAccessible()

The application probably uses the phone sensors.

Entrypoints:

  • com.askgps.personaltrackercore.utils.PedometerUtils.registerSensorListener()

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

  • com.askgps.personaltrackercore.BaseMainActivity$onCreate$1.uncaughtException()

  • com.askgps.personaltrackercore.utils.PedometerUtils.unregisterSensorListener()

  • com.askgps.personaltrackercore.utils.RemovalFromHandUtils$periodicResultAsync$1.invoke()

  • com.askgps.personaltrackercore.BaseMainActivity$observeViewModel$2.onChanged()

Calls:

  • android.hardware.SensorManager.getSensorList(I)

  • android.hardware.SensorManager.registerListener(SensorEventListener,Sensor,I,I,Handler)

  • android.hardware.SensorManager.registerListener(SensorEventListener,Sensor,I,Handler)

  • android.hardware.SensorManager.getDefaultSensor(I)

Domains

  • github.com

  • 185.221.153.208

  • api.identix.one

  • 195.93.229.67

  • watch.telemetry.mos.ru

  • round-for-patient.firebaseio.com