Moderate Risk

Threat level

com.wssyncmldm

Software update

Analyzed on 2022-05-17T08:38:32.164183

35

permissions

15

activities

19

services

12

receivers

9

domains

File sums

MD5 c7c53977ccec49de1b002356ff1f681d
SHA1 46de6e2c1c7ca106b722405c1fc9f6edf7c696b4
SHA256 a76453b184c1cdccbf27ff0251e0e63c7113380cecbbac0be7b48d8f342d1c90
Size 4.92MB

APKiD

Information computed with APKiD.

/tmp/tmp7acmimcv!classes.dex
yara_issue
  • yara issue - dex file recognized by apkid but not yara module
anti_vm
  • Build.FINGERPRINT check
  • Build.MANUFACTURER check
  • possible Build.SERIAL check
  • SIM operator check
  • device ID check
  • subscriber ID check
compiler
  • unknown (please file detection issue!)

SSdeep

Information computed with ssdeep.

APK file 98304:hijMOIjX1s+egnjWDcfHbhu6uskdiMQn9AuXnb/43AN9DGf:gMOCBeOigHbhujaMQn7nbwwNGf
Manifest 768:qiJDkhoHeyHrOFfj3R3PVECbHA7yir2/+X0oAppOlK5rcenNrasiRbh1CYnKgk1U:…
classes.dex 49152:1BCXqnjgh5/3DdBlpb27kG3FMcCK625T365/X5a6st4csGvz5cRYb3Lu:eqncj3…

Dexofuzzy

Information computed with Dexofuzzy.

classes.dex None

APK details

Information computed with AndroGuard and Pithus.

Package com.wssyncmldm
App name Software update
Version name 3.7.23
Version code 372300000
SDK 29 - 30
UAID ce7644a4daed1ce26553f4b7c03c339a9bbd6908
Signature Signature V1 Signature V2
Frosting Not frosted
Blocks found within V2 signature:
  • 0x7109871a: Unknown

Certificate details

Information computed with AndroGuard.

MD5 ac4128120937684f45d2dbc15b9d1bcc
SHA1 29c647cbcc9a5fbd6c0c961e05712bd15352a1f5
SHA256 0a012131b1bdf9e80ef97d37f3b48362be363a464c8445ecf83627ebe8493a1e
Issuer Common Name: Samsung Platform Key for non-Galaxy devices, Organizational Unit: Mobile Communications Business, Organization: Samsung Electronics Co. Ltd., Locality: Suwon City, State/Province: Republic of Korea, Country: KR
Not before 2018-11-13T08:18:31+00:00
Not after 2118-11-12T15:00:00+00:00

File Analysis

Information computed with MobSF.

Findings Files
Certificate/Key files hardcoded inside the app. SEC-INF/buildConfirm.crt

Manifest analysis

Information computed with MobSF.

High Clear text traffic is Enabled For App[android:usesCleartextTraffic=true]
The app intends to use cleartext network traffic, such as cleartext HTTP, FTP stacks, DownloadManager, and MediaPlayer. The default value for apps that target API level 27 or lower is "true". Apps that target API level 28 or higher default to "false". The key reason for avoiding cleartext traffic is the lack of confidentiality, authenticity, and protections against tampering; a network attacker can eavesdrop on transmitted data and also modify it without being detected.
High Broadcast Receiver (com.samsung.android.fotaagent.receiver.GenericBroadcastReceiver) is not Protected.An intent-filter exists.
A Broadcast Receiver is found to be shared with other apps on the device therefore leaving it accessible to any other application on the device. The presence of intent-filter indicates that the Broadcast Receiver is explicitly exported.
High Broadcast Receiver (com.samsung.android.fotaagent.receiver.SecureBroadcastReceiver) is Protected by a permission, but the protection level of the permission should be checked.
Permission: com.sec.android.fotaclient.permission.FOTA [android:exported=true]
A Broadcast Receiver is found to be shared with other apps on the device therefore leaving it accessible to any other application on the device. It is protected by a permission which is not defined in the analysed application. As a result, the protection level of the permission should be checked where it is defined. If it is set to normal or dangerous, a malicious application can request and obtain the permission and interact with the component. If it is set to signature, only applications signed with the same certificate can obtain the permission.
High Broadcast Receiver (com.samsung.android.fotaagent.receiver.LaunchReceiver) is Protected by a permission, but the protection level of the permission should be checked.
Permission: com.samsung.permission.LAUNCH_SOFTWARE_UPDATE [android:exported=true]
A Broadcast Receiver is found to be shared with other apps on the device therefore leaving it accessible to any other application on the device. It is protected by a permission which is not defined in the analysed application. As a result, the protection level of the permission should be checked where it is defined. If it is set to normal or dangerous, a malicious application can request and obtain the permission and interact with the component. If it is set to signature, only applications signed with the same certificate can obtain the permission.
High Broadcast Receiver (com.samsung.android.fotaagent.receiver.SecretCodeReceiver) is Protected by a permission, but the protection level of the permission should be checked.
Permission: com.sec.factory.permission.KEYSTRING [android:exported=true]
A Broadcast Receiver is found to be shared with other apps on the device therefore leaving it accessible to any other application on the device. It is protected by a permission which is not defined in the analysed application. As a result, the protection level of the permission should be checked where it is defined. If it is set to normal or dangerous, a malicious application can request and obtain the permission and interact with the component. If it is set to signature, only applications signed with the same certificate can obtain the permission.
High Broadcast Receiver (com.samsung.android.fotaagent.receiver.SppReceiver) is Protected by a permission, but the protection level of the permission should be checked.
Permission: com.sec.spp.permission.SEND [android:exported=true]
A Broadcast Receiver is found to be shared with other apps on the device therefore leaving it accessible to any other application on the device. It is protected by a permission which is not defined in the analysed application. As a result, the protection level of the permission should be checked where it is defined. If it is set to normal or dangerous, a malicious application can request and obtain the permission and interact with the component. If it is set to signature, only applications signed with the same certificate can obtain the permission.
High TaskAffinity is set for Activity
(com.samsung.android.fotaagent.ui.CampaignActivity)
If taskAffinity is set, then other application could read the Intents sent to Activities belonging to another task. Always use the default setting keeping the affinity as the package name in order to prevent sensitive information inside sent or received Intents from being read by another application.
High Content Provider (com.idm.fotaagent.enabler.database.provider.IDMDatabaseContentProvider) is not Protected. [android:exported=true]
A Content Provider is found to be shared with other apps on the device therefore leaving it accessible to any other application on the device.
High Content Provider (com.idm.fotaagent.enabler.database.settings.FotaEpisodeProvider) is Protected by a permission, but the protection level of the permission should be checked.
Permission: com.samsung.android.settings.permission.ACCESS_EPISODE [android:exported=true]
A Content Provider is found to be shared with other apps on the device therefore leaving it accessible to any other application on the device. It is protected by a permission which is not defined in the analysed application. As a result, the protection level of the permission should be checked where it is defined. If it is set to normal or dangerous, a malicious application can request and obtain the permission and interact with the component. If it is set to signature, only applications signed with the same certificate can obtain the permission.
High TaskAffinity is set for Activity
(com.idm.fotaagent.enabler.ui.lastupdate.LastUpdateActivity)
If taskAffinity is set, then other application could read the Intents sent to Activities belonging to another task. Always use the default setting keeping the affinity as the package name in order to prevent sensitive information inside sent or received Intents from being read by another application.
High Activity (com.idm.fotaagent.enabler.ui.lastupdate.LastUpdateActivity) is not Protected.An intent-filter exists.
An Activity is found to be shared with other apps on the device therefore leaving it accessible to any other application on the device. The presence of intent-filter indicates that the Activity is explicitly exported.
High TaskAffinity is set for Activity
(com.idm.fotaagent.enabler.ui.uic.IDMUICActivity)
If taskAffinity is set, then other application could read the Intents sent to Activities belonging to another task. Always use the default setting keeping the affinity as the package name in order to prevent sensitive information inside sent or received Intents from being read by another application.
High TaskAffinity is set for Activity
(com.idm.fotaagent.enabler.ui.admin.main.AdminMainActivity)
If taskAffinity is set, then other application could read the Intents sent to Activities belonging to another task. Always use the default setting keeping the affinity as the package name in order to prevent sensitive information inside sent or received Intents from being read by another application.
High TaskAffinity is set for Activity
(com.idm.fotaagent.enabler.ui.admin.feature.AdminFeatureAndActionActivity)
If taskAffinity is set, then other application could read the Intents sent to Activities belonging to another task. Always use the default setting keeping the affinity as the package name in order to prevent sensitive information inside sent or received Intents from being read by another application.
High TaskAffinity is set for Activity
(com.idm.fotaagent.enabler.ui.admin.profile.AdminProfileActivity)
If taskAffinity is set, then other application could read the Intents sent to Activities belonging to another task. Always use the default setting keeping the affinity as the package name in order to prevent sensitive information inside sent or received Intents from being read by another application.
High TaskAffinity is set for Activity
(com.samsung.android.fotaagent.common.feature.FeatureInjectionActivity)
If taskAffinity is set, then other application could read the Intents sent to Activities belonging to another task. Always use the default setting keeping the affinity as the package name in order to prevent sensitive information inside sent or received Intents from being read by another application.
High Broadcast Receiver (com.google.firebase.iid.FirebaseInstanceIdReceiver) is Protected by a permission, but the protection level of the permission should be checked.
Permission: com.google.android.c2dm.permission.SEND [android:exported=true]
A Broadcast Receiver is found to be shared with other apps on the device therefore leaving it accessible to any other application on the device. It is protected by a permission which is not defined in the analysed application. As a result, the protection level of the permission should be checked where it is defined. If it is set to normal or dangerous, a malicious application can request and obtain the permission and interact with the component. If it is set to signature, only applications signed with the same certificate can obtain the permission.
High Broadcast Receiver (com.google.android.gms.measurement.AppMeasurementInstallReferrerReceiver) is Protected by a permission, but the protection level of the permission should be checked.
Permission: android.permission.INSTALL_PACKAGES [android:exported=true]
A Broadcast Receiver is found to be shared with other apps on the device therefore leaving it accessible to any other application on the device. It is protected by a permission which is not defined in the analysed application. As a result, the protection level of the permission should be checked where it is defined. If it is set to normal or dangerous, a malicious application can request and obtain the permission and interact with the component. If it is set to signature, only applications signed with the same certificate can obtain the permission.
High Dailer Code: 8736364 Found [android:scheme="android_secret_code"]
A secret code was found in the manifest. These codes, when entered into the dialer grant access to hidden content that may contain sensitive information.
Medium High Intent Priority (1000)[android:priority]
By setting an intent priority higher than another intent, the app effectively overrides other requests.
Medium High Intent Priority (1000)[android:priority]
By setting an intent priority higher than another intent, the app effectively overrides other requests.

Activities

Information computed with AndroGuard.

com.samsung.android.fotaagent.ui.CampaignActivity
com.idm.fotaagent.enabler.ui.dialog.IDMUIActivityForDialog
com.idm.fotaagent.enabler.ui.downloadconfirm.DownloadConfirmActivity
com.idm.fotaagent.enabler.ui.downloadprogress.DownloadProgressActivity
com.idm.fotaagent.enabler.ui.installconfirm.InstallConfirmActivity
com.idm.fotaagent.enabler.ui.noupdatable.NoUpdatableVersionActivity
com.idm.fotaagent.enabler.ui.lastupdate.LastUpdateActivity
com.idm.fotaagent.enabler.ui.checkingforupdate.CheckingForUpdateActivity
com.idm.fotaagent.enabler.ui.uic.IDMUICActivity
com.idm.fotaagent.enabler.ui.admin.main.AdminMainActivity
com.idm.fotaagent.enabler.ui.admin.feature.AdminFeatureAndActionActivity
com.idm.fotaagent.enabler.ui.admin.profile.AdminProfileActivity
com.samsung.android.fotaagent.common.feature.FeatureInjectionActivity
com.idm.fotaagent.abupdate.abenabler.ui.downloadandinstallprogress.DownloadAndInstallProgressActivity
com.google.android.gms.common.api.GoogleApiActivity

Receivers

Information computed with AndroGuard.

com.samsung.android.fotaagent.receiver.GenericBroadcastReceiver
com.samsung.android.fotaagent.receiver.SecureBroadcastReceiver
com.samsung.android.fotaagent.receiver.LaunchReceiver
com.samsung.android.fotaagent.receiver.SecretCodeReceiver
com.samsung.android.fotaagent.receiver.SppReceiver
com.samsung.android.fotaagent.policy.afw.duration.PolicyManager$PolicyExpirationAlarmReceiver
com.samsung.android.fotaagent.device.push.ex.CampaignNotificationReceiver
com.idm.fotaagent.enabler.ui.notification.manager.NotificationReceiver
com.idm.fotaagent.enabler.fumo.postpone.PostponeAlarmReceiver
com.google.firebase.iid.FirebaseInstanceIdReceiver
com.google.android.gms.measurement.AppMeasurementReceiver
com.google.android.gms.measurement.AppMeasurementInstallReferrerReceiver

Services

Information computed with AndroGuard.

com.samsung.android.fotaagent.device.registration.context.SchedulableRegistration$RegistrationJobService
com.samsung.android.fotaagent.device.registration.state.SecondaryInitialState$RegistrationIntentService
com.samsung.android.fotaagent.device.heartbeat.HeartbeatIntentService
com.samsung.android.fotaagent.device.services.PollingIntentService
com.samsung.android.fotaagent.device.services.UpdateCheckerViaPollingIntentService
com.samsung.android.fotaagent.device.services.FcmReceiveService
com.samsung.android.fotaagent.device.services.SppIntentService
com.samsung.android.fotaagent.device.services.CampaignIntentService
com.idm.fotaagent.scheduler.jobschedule.NetworkResumeJobService
com.samsung.android.fotaagent.diagmon.jobschedule.DiagmonReportJobService
com.idm.fotaagent.InitExecutor$InitService
com.idm.fotaagent.enabler.ui.notification.manager.StubNotificationTypeManagerService
com.idm.fotaagent.enabler.ui.notification.manager.NotificationId$Common
com.idm.fotaagent.enabler.ui.notification.manager.NotificationId$UpdateReportDialog
com.google.firebase.messaging.FirebaseMessagingService
com.google.firebase.components.ComponentDiscoveryService
com.google.android.gms.measurement.AppMeasurementService
com.google.android.gms.measurement.AppMeasurementJobService
com.sec.android.diagmonagent.log.ged.scheduler.GEDJobService

NIAP analysis

Information computed with MobSF.

FCS_RBG_EXT.1.1 The application invoke platform-provided DRBG functionality for its cryptographic operations.
Random Bit Generation Services
FCS_STO_EXT.1.1 The application does not store any credentials to non-volatile memory.
Storage of Credentials
FCS_CKM_EXT.1.1 The application implement asymmetric key generation.
Cryptographic Key Generation Services
FDP_DEC_EXT.1.1 The application has access to ['network connectivity'].
Access to Platform Resources
FDP_DEC_EXT.1.2 The application has access to no sensitive information repositories.
Access to Platform Resources
FDP_NET_EXT.1.1 The application has user/application initiated network communications.
Network Communications
FDP_DAR_EXT.1.1 The application implement functionality to encrypt sensitive data in non-volatile memory.
Encryption Of Sensitive Application Data
FMT_MEC_EXT.1.1 The application invoke the mechanisms recommended by the platform vendor for storing and setting configuration options.
Supported Configuration Mechanism
FTP_DIT_EXT.1.1 The application does encrypt some transmitted data with HTTPS/TLS/SSH between itself and another trusted IT product.
Protection of Data in Transit
FCS_RBG_EXT.2.1
FCS_RBG_EXT.2.2
The application perform all deterministic random bit generation (DRBG) services in accordance with NIST Special Publication 800-90A using Hash_DRBG. The deterministic RBG is seeded by an entropy source that accumulates entropy from a platform-based DRBG and a software-based noise source, with a minimum of 256 bits of entropy at least equal to the greatest security strength (according to NIST SP 800-57) of the keys and hashes that it will generate.
Random Bit Generation from Application
FCS_CKM.1.1(1) The application generate asymmetric cryptographic keys in accordance with a specified cryptographic key generation algorithm RSA schemes using cryptographic key sizes of 2048-bit or greater.
Cryptographic Asymmetric Key Generation
FCS_COP.1.1(2) The application perform cryptographic hashing services not in accordance with FCS_COP.1.1(2) and uses the cryptographic algorithm RC2/RC4/MD4/MD5.
Cryptographic Operation - Hashing
FCS_HTTPS_EXT.1.1 The application implement the HTTPS protocol that complies with RFC 2818.
HTTPS Protocol
FCS_HTTPS_EXT.1.2 The application implement HTTPS using TLS.
HTTPS Protocol
FCS_HTTPS_EXT.1.3 The application notify the user and not establish the connection or request application authorization to establish the connection if the peer certificate is deemed invalid.
HTTPS Protocol
FIA_X509_EXT.1.1 The application invoked platform-provided functionality to validate certificates in accordance with the following rules: ['The certificate path must terminate with a trusted CA certificate'].
X.509 Certificate Validation
FIA_X509_EXT.2.1 The application use X.509v3 certificates as defined by RFC 5280 to support authentication for HTTPS , TLS.
X.509 Certificate Authentication
FPT_TUD_EXT.2.1 The application shall be distributed using the format of the platform-supported package manager.
Integrity for Installation and Update

Code analysis

Information computed with MobSF.

High
CVSS:5.5
App can read/write to External Storage. Any App can read data written to External Storage.
MASVS: MSTG-STORAGE-2
CWE-276 Incorrect Default Permissions
M2: Insecure Data Storage
Files:
 com/idm/fotaagent/enabler/interfaces/IDMEnablerInterface.java
com/idm/fotaagent/enabler/ui/admin/main/hiddencommand/AdminCommandExecutor.java
com/idm/fotaagent/enabler/adapter/IDMAdapterFileImpl.java
Low
CVSS:7.5
The App logs information. Sensitive information should never be logged.
MASVS: MSTG-STORAGE-3
CWE-532 Insertion of Sensitive Information into Log File
Files:
 com/idm/fotaagent/LibraryStarter.java
com/sec/android/diagmonagent/log/ged/util/DeviceUtils.java
com/sec/android/diagmonagent/log/ged/db/DataController.java
com/samsung/android/fotaagent/common/cipher/AESWithRSA.java
com/samsung/context/sdk/samsunganalytics/internal/util/Debug.java
com/sec/android/diagmonagent/log/ged/util/PreferenceUtils.java
com/samsung/context/sdk/samsunganalytics/internal/sender/buffering/database/DbManager.java
com/sec/android/diagmonagent/log/ged/util/ValidationUtils.java
com/sec/android/diagmonagent/log/provider/threadExecutor/ServiceRegistrationExecutor.java
com/samsung/android/lib/episode/SceneResult.java
com/samsung/android/fotaagent/common/log/Where.java
com/sec/android/diagmonagent/log/provider/utils/ZipHelper.java
com/sec/android/diagmonagent/dma/aperf/utils/aPerfUtil.java
com/sec/android/diagmonagent/log/ged/db/dao/ServiceDao.java
com/sec/android/diagmonagent/log/ged/scheduler/GEDScheduler.java
com/sec/android/diagmonagent/log/ged/db/dao/EventDao.java
com/idm/fotaagent/enabler/utils/GeneralUtils.java
com/sec/android/diagmonagent/log/ged/servreinterface/model/client/TokenClient.java
com/sec/android/diagmonagent/log/provider/utils/DiagMonUtil.java
com/idm/fotaagent/enabler/adapter/IDMAdapterLogImpl.java
com/sec/android/diagmonagent/dma/aperf/utils/aPerfValidation.java
com/samsung/android/fotaagent/diagmon/DiagMon.java
com/samsung/android/lib/episode/Scene.java
com/samsung/android/lib/episode/EpisodeUtils.java
com/samsung/android/fotaagent/network/auth/osp/fota/PollingRestClient.java
com/sec/android/diagmonagent/log/provider/newLogProvider.java
com/idm/fotaagent/enabler/utils/NetworkUtil.java
com/sec/android/diagmonagent/log/provider/DiagMonConfig.java
com/samsung/android/lib/episode/EpisodeProvider.java
com/samsung/android/fotaagent/common/util/NativeUtils.java
com/sec/android/diagmonagent/log/provider/threadExecutor/EventReportExecutor.java
com/idm/providers/mo/IDMMoContentProvider.java
com/sec/android/diagmonagent/log/ged/db/dao/ResultDao.java
com/samsung/android/fotaagent/common/log/AndroidLogger.java
com/sec/android/diagmonagent/log/provider/DiagMonLogger.java
com/samsung/android/fotaagent/network/auth/osp/fota/MassCampaignRestClient.java
com/sec/android/diagmonagent/log/provider/EventBuilder.java
com/sec/android/diagmonagent/log/provider/threadExecutor/AppPerfReportExecutor.java
com/sec/android/diagmonagent/log/ged/servreinterface/model/client/DiagmonClient.java
com/sec/android/diagmonagent/log/ged/servreinterface/model/client/FileUploadClient.java
com/sec/android/diagmonagent/log/ged/util/RestUtils.java
com/sec/android/diagmonagent/log/ged/util/ParsingUtils.java
com/sec/android/diagmonagent/log/provider/threadExecutor/ANRExecutor.java
com/sec/icdverification/ICDVerification.java
com/samsung/android/fotaagent/network/auth/osp/fota/HeartbeatRestClient.java
com/samsung/android/fotaagent/network/NonAuthRestClient.java
com/samsung/android/fotaagent/device/push/PushState.java
com/samsung/android/fotaagent/common/cipher/AESCrypt.java
com/sec/android/diagmonagent/log/ged/scheduler/GEDJobService.java
com/samsung/android/fotaagent/common/cipher/RSA.java
com/samsung/android/fotaagent/common/util/ReturnHolder.java
com/samsung/android/lib/episode/EpisodeCompatProvider.java
com/samsung/android/fotaagent/network/auth/BaseResponse.java
com/sec/android/diagmonagent/common/logger/AppLogData.java
com/idm/fotaagent/IDMApplication.java
com/samsung/android/fotaagent/network/auth/osp/TimePref.java
com/sec/android/diagmonagent/log/ged/servreinterface/controller/DiagmonApiManager.java
com/idm/fotaagent/enabler/fumo/executor/IDMFumoExecutorFumoStart.java
com/samsung/android/fotaagent/common/DeviceId.java
com/samsung/android/fotaagent/common/log/RotatingFileWriter.java
com/samsung/android/fotaagent/network/auth/osp/fota/PushReceivedRestClient.java
com/sec/android/diagmonagent/log/provider/DiagMonSDK.java
com/sec/android/diagmonagent/common/logger/AppLog.java
com/sec/android/diagmonagent/log/provider/utils/Validator.java
com/sec/android/app/swlpcontract/SWLPContract.java
Medium
CVSS:7.4
Files may contain hardcoded sensitive information like usernames, passwords, keys etc.
MASVS: MSTG-STORAGE-14
CWE-312 Cleartext Storage of Sensitive Information
M9: Reverse Engineering
Files:
 com/sec/android/diagmonagent/log/ged/db/dao/Contracts.java
com/idm/fotaagent/enabler/database/provider/IDMDatabaseContentProvider.java
com/sec/android/diagmonagent/log/provider/utils/BundleContract.java
com/idm/fotaagent/BundleWrapper.java
com/idm/core/ddf/IDMDDFInterface.java
com/idm/tool/sharedpreference/IDMSharedPreference.java
com/idm/fotaagent/enabler/sharedpreference/IDMSharedPreference.java
com/idm/providers/mo/IDMMoInterface.java
com/idm/fotaagent/enabler/ui/dialog/IDMUIActivityForDialog.java
com/samsung/android/lib/episode/EternalContract.java
com/idm/agent/dm/IDMDmInterface.java
com/idm/fotaagent/enabler/database/IDMDatabaseProfile.java
com/samsung/android/fotaagent/device/registration/state/SecondaryInitialState.java
com/samsung/android/fotaagent/network/auth/osp/OSPHeader.java
com/samsung/android/lib/episode/EpisodeConstant.java
com/samsung/android/fotaagent/common/cipher/RSA.java
com/samsung/android/lib/episode/EpisodeProvider.java
Info
CVSS:0
This App uses SSL certificate pinning to detect or prevent MITM attacks in secure communication channel.
MASVS: MSTG-NETWORK-4
Files:
 com/samsung/context/sdk/samsunganalytics/internal/security/CertificateManager.java
com/idm/network/IDMNetworkXTPTrustManager.java
Medium
CVSS:7.5
The App uses an insecure Random Number Generator.
MASVS: MSTG-CRYPTO-6
CWE-330 Use of Insufficiently Random Values
M5: Insufficient Cryptography
Files:
 com/samsung/android/fotaagent/device/heartbeat/PeriodicHeartbeatInfo.java
com/idm/core/security/IDMSecurity.java
com/idm/fotaagent/tool/test/IDMTestPushMakerHandler.java
com/idm/fotaagent/enabler/utils/EpochTime.java
com/samsung/android/fotaagent/device/polling/data/PollingInfo.java
Medium
CVSS:7.4
MD5 is a weak hash known to have hash collisions.
MASVS: MSTG-CRYPTO-4
CWE-327 Use of a Broken or Risky Cryptographic Algorithm
M5: Insufficient Cryptography
Files:
 com/idm/core/security/IDMSecurity.java
com/idm/fotaagent/enabler/adapter/IDMAdapterDownload.java
Medium
CVSS:5.9
SHA-1 is a weak hash known to have hash collisions.
MASVS: MSTG-CRYPTO-4
CWE-327 Use of a Broken or Risky Cryptographic Algorithm
M5: Insufficient Cryptography
Files:
 com/idm/core/security/IDMSecurity.java
com/samsung/android/fotaagent/network/auth/osp/OSPHeader.java
Medium
CVSS:5.9
App uses SQLite Database and execute raw SQL query. Untrusted user input in raw SQL queries can cause SQL Injection. Also sensitive information should be encrypted and written to the database.
CWE-89 Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')
M7: Client Code Quality
Files:
 com/idm/providers/mo/IDMMoContentProvider.java
com/samsung/context/sdk/samsunganalytics/internal/sender/buffering/database/DbManager.java
com/idm/fotaagent/enabler/database/dao/Dao.java
com/idm/fotaagent/enabler/database/IDMDatabaseHelper.java
com/idm/fotaagent/enabler/database/IDMDatabaseManager.java
com/samsung/android/fotaagent/device/polling/data/PollingDatabaseHelper.java
com/samsung/context/sdk/samsunganalytics/internal/sender/buffering/database/DefaultDBOpenHelper.java
com/idm/providers/mo/IDMMoDatabaseImpl.java
com/idm/providers/mo/IDMMoDatabaseHelper.java
com/sec/android/diagmonagent/log/ged/db/GEDDatabase.java
Medium
CVSS:4.3
IP Address disclosure
MASVS: MSTG-CODE-2
CWE-200 Information Exposure
Files:
 com/idm/fotaagent/enabler/fumo/proxy/IDMFumoProxyInterface.java
High
CVSS:7.4
Insecure Implementation of SSL. Trusting all the certificates or accepting self signed certificates is a critical Security Hole. This application is vulnerable to MITM attacks
MASVS: MSTG-NETWORK-3
CWE-295 Improper Certificate Validation
M3: Insecure Communication
Files:
 com/samsung/android/fotaagent/network/BaseRestClient.java
Pygal China: 100 Germany: 300 Korea, Republic of: 100 United States: 300

Map computed by Pithus.

Domains analysis

Information computed with MobSF.

US regi.di.atlas.samsung.com 34.102.190.55
DE www.ospserver.net 213.71.30.150
CN chn.ospserver.net 71.132.18.127
US dc.di.atlas.samsung.com 34.120.24.208
DE fota-apis.samsungdm.com 193.155.127.31
KR stg-chn-fota.samsungdms.net 13.209.93.159
JP stg-fota-cloud-dvce-apis.samsungdms.net 54.65.80.181
US api-project-994410787046.firebaseio.com 35.201.97.85
DE fota-cloud-dn.ospserver.net 95.140.236.147

URL analysis

Information computed with MobSF.

https://regi.di.atlas.samsung.com
https://dc.di.atlas.samsung.com
Defined in com/samsung/context/sdk/samsunganalytics/internal/connection/Domain.java
https://regi.di.atlas.samsung.com
https://dc.di.atlas.samsung.com
Defined in com/samsung/context/sdk/samsunganalytics/internal/connection/Domain.java
http://stg-chn-fota.samsungdms.net
https://chn.ospserver.net
http://stg-fota-cloud-dvce-apis.samsungdms.net
https://www.ospserver.net
Defined in com/samsung/android/fotaagent/network/BaseRestClient.java
http://stg-chn-fota.samsungdms.net
https://chn.ospserver.net
http://stg-fota-cloud-dvce-apis.samsungdms.net
https://www.ospserver.net
Defined in com/samsung/android/fotaagent/network/BaseRestClient.java
http://stg-chn-fota.samsungdms.net
https://chn.ospserver.net
http://stg-fota-cloud-dvce-apis.samsungdms.net
https://www.ospserver.net
Defined in com/samsung/android/fotaagent/network/BaseRestClient.java
http://stg-chn-fota.samsungdms.net
https://chn.ospserver.net
http://stg-fota-cloud-dvce-apis.samsungdms.net
https://www.ospserver.net
Defined in com/samsung/android/fotaagent/network/BaseRestClient.java
http://chn.ospserver.net/security/sso/initialize/time
https://fota-apis.samsungdm.com/auth/time
Defined in com/samsung/android/fotaagent/network/auth/osp/TimeRestClient.java
http://chn.ospserver.net/security/sso/initialize/time
https://fota-apis.samsungdm.com/auth/time
Defined in com/samsung/android/fotaagent/network/auth/osp/TimeRestClient.java
https://fota-cloud-dn.ospserver.net/firmware/
Defined in com/samsung/android/fotaagent/device/polling/data/PollingInfo.java
https://api-project-994410787046.firebaseio.com
Defined in Android String Resource

Permissions analysis

Information computed with MobSF.

High android.permission.GET_TASKS retrieve running applications
Allows application to retrieve information about currently and recently running tasks. May allow malicious applications to discover private information about other applications.
High android.permission.WRITE_APN_SETTINGS write Access Point Name settings
Allows an application to modify the APN settings, such as Proxy and Port of any APN.
High android.permission.WRITE_SETTINGS modify global system settings
Allows an application to modify the system's settings data. Malicious applications can corrupt your system's configuration.
Low android.permission.RECEIVE_BOOT_COMPLETED automatically start at boot
Allows an application to start itself as soon as the system has finished booting. This can make it take longer to start the phone and allow the application to slow down the overall phone by always running.
Low android.permission.READ_SYNC_SETTINGS read sync settings
Allows an application to read the sync settings, such as whether sync is enabled for Contacts.
Low android.permission.DISABLE_KEYGUARD Allows applications to disable the keyguard if it is not secure.
Low android.permission.CHANGE_NETWORK_STATE change network connectivity
Allows applications to change network connectivity state.
Low android.permission.WAKE_LOCK prevent phone from sleeping
Allows an application to prevent the phone from going to sleep.
Low android.permission.INTERNET full Internet access
Allows an application to create network sockets.
Low android.permission.ACCESS_NETWORK_STATE view network status
Allows an application to view the status of all networks.
Low android.permission.ACCESS_WIFI_STATE view Wi-Fi status
Allows an application to view the information about the status of Wi-Fi.
Medium android.permission.BATTERY_STATS modify battery statistics
Allows the modification of collected battery statistics. Not for use by common applications.
Medium com.google.android.c2dm.permission.RECEIVE C2DM permissions
Permission for cloud to device messaging.
Medium android.permission.CHANGE_CONFIGURATION change your UI settings
Allows an application to change the current configuration, such as the locale or overall font size.
Medium android.permission.MODIFY_PHONE_STATE modify phone status
Allows the application to control the phone features of the device. An application with this permission can switch networks, turn the phone radio on and off and the like, without ever notifying you.
Medium android.permission.REBOOT force phone reboot
Allows the application to force the phone to reboot.
Medium android.permission.ACCESS_CACHE_FILESYSTEM access the cache file system
Allows an application to read and write the cache file system.
Medium android.permission.DELETE_CACHE_FILES delete other applications' caches
Allows an application to delete cache files.
com.sec.android.fotaclient.permission.FOTA Unknown permission
Unknown permission from android reference
com.sec.android.fota.permission.PUSH Unknown permission
Unknown permission from android reference
android.permission.INTERACT_ACROSS_USERS Unknown permission
Unknown permission from android reference
com.sec.factory.permission.KEYSTRING Unknown permission
Unknown permission from android reference
com.samsung.permission.LAUNCH_SOFTWARE_UPDATE Unknown permission
Unknown permission from android reference
android.permission.CRYPT_KEEPER Unknown permission
Unknown permission from android reference
android.permission.RECOVERY Unknown permission
Unknown permission from android reference
com.sec.android.diagmonagent.permission.DIAGMON Unknown permission
Unknown permission from android reference
com.sec.android.diagmonagent.permission.PROVIDER Unknown permission
Unknown permission from android reference
android.permission.READ_PRIVILEGED_PHONE_STATE Unknown permission
Unknown permission from android reference
com.samsung.android.settings.permission.ACCESS_EPISODE Unknown permission
Unknown permission from android reference
com.sec.enterprise.knox.MDM_CONTENT_PROVIDER Unknown permission
Unknown permission from android reference
android.permission.NOTIFY_PENDING_SYSTEM_UPDATE Unknown permission
Unknown permission from android reference
com.samsung.android.security.permission.SAMSUNG_KEYSTORE_PERMISSION Unknown permission
Unknown permission from android reference
com.sec.android.app.setupwizardlegalprovider.GETDOCUMENT Unknown permission
Unknown permission from android reference
com.samsung.android.app.updatecenter.provider.WRITE Unknown permission
Unknown permission from android reference
com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE Unknown permission
Unknown permission from android reference

Tracking analysis

Information computed with Exodus-core.

Google Firebase Analytics https://reports.exodus-privacy.eu.org/fr/trackers/49

Threat analysis

Information computed with Quark-Engine.

Confidence:
100%
Load external class
Confidence:
100%
Implicit intent(view a web page, make a phone call, etc.)
Confidence:
100%
Get absolute path of file and put it to JSON object
Confidence:
100%
Find a method from given class name, usually for reflection
Confidence:
100%
Connect to a URL and receive input stream from the server
Confidence:
100%
Method reflection
Confidence:
100%
Connect to a URL and read data from it
Confidence:
100%
Monitor data identified by a given content URI changes(SMS, MMS, etc.)
Confidence:
100%
Load class from given class name
Confidence:
100%
Retrieve data from broadcast
Confidence:
100%
Read sensitive data(SMS, CALLLOG, etc)
Confidence:
100%
Put data in cursor to JSON object
Confidence:
100%
Implicit intent(view a web page, make a phone call, etc.) via setData
Confidence:
100%
Connect to a URL and get the response code
Confidence:
100%
Send notification
Confidence:
100%
Monitor the broadcast action events (BOOT_COMPLETED)
Confidence:
100%
Query the IMSI number
Confidence:
100%
Get last known location of the device
Confidence:
100%
Get calendar information
Confidence:
100%
Method reflection
Confidence:
100%
Hide the current app's icon
Confidence:
100%
Connect to the remote server through the given URL
Confidence:
100%
Query data from URI (SMS, CALLLOGS)
Confidence:
100%
Get the time of current location
Confidence:
100%
Initialize class object dynamically
Confidence:
100%
Read the input stream from given URL
Confidence:
100%
Check the list of currently running applications
Confidence:
100%
Connect to a URL and set request method
Confidence:
100%
Get specific method from other Dex files
Confidence:
80%
Check if the network is connected
Confidence:
80%
Start another application from current application
Confidence:
80%
Check the active network type
Confidence:
80%
Read data and put it into a buffer stream
Confidence:
80%
Read file and put it into a stream
Confidence:
80%
Get declared method from given method name
Confidence:
80%
Open a file from given absolute path of the file
Confidence:
80%
Get absolute path of the file and store in string
Confidence:
80%
Get location of the device
Confidence:
80%
Check if the given file path exist
Confidence:
80%
Put buffer stream (data) to JSON object
Confidence:
80%
Read file into a stream and put it into a JSON object
Confidence:
80%
Executes the specified string Linux command
Confidence:
80%
Get resource file from res/raw directory

Behavior analysis

Information computed with MobSF.

Android notifications
       com/idm/fotaagent/enabler/ui/notification/manager/NotificationTypeManager.java
com/idm/fotaagent/enabler/ui/notification/manager/RealNotificationTypeManagerService.java
Base64 decode
       com/idm/core/push/IDMPushDecoder.java
com/idm/core/security/IDMSecurity.java
com/idm/core/security/IDMSecurityAESCrypt.java
com/samsung/android/fotaagent/device/push/PushContent.java
com/samsung/android/fotaagent/common/cipher/AESCrypt.java
com/samsung/android/fotaagent/common/cipher/RSA.java
Base64 encode
       com/sec/android/diagmonagent/log/ged/util/RestUtils.java
com/samsung/android/fotaagent/common/cipher/AESWithRSA.java
com/samsung/android/fotaagent/device/infos/DeviceInfo.java
com/idm/core/security/IDMSecurity.java
com/idm/core/security/IDMSecurityAESCrypt.java
com/samsung/android/fotaagent/common/cipher/AESCrypt.java
com/samsung/android/fotaagent/network/auth/osp/OSPHeader.java
com/idm/fotaagent/enabler/ui/admin/feature/AdminActionViewModel.java
com/samsung/android/fotaagent/device/push/ex/CampaignUrlContent.java
Certificate handling
       com/idm/network/IDMNetworkHttpAdapter.java
com/idm/adapter/networkinfo/IDMNetworkInfoAdapter.java
Content provider
       com/idm/providers/mo/IDMMoContentProvider.java
com/idm/fotaagent/enabler/database/provider/IDMDatabaseContentProvider.java
com/sec/android/diagmonagent/log/provider/newLogProvider.java
com/samsung/android/lib/episode/EpisodeProvider.java
Crypto
       com/samsung/android/fotaagent/common/cipher/AESWithRSA.java
com/idm/core/security/IDMSecurityAESCrypt.java
com/samsung/android/fotaagent/common/log/FileLogger.java
com/samsung/android/fotaagent/network/auth/osp/OSPHeader.java
com/samsung/android/fotaagent/common/cipher/AES.java
com/samsung/android/fotaagent/common/cipher/RSA.java
Execute os command
       com/sec/android/diagmonagent/log/provider/DiagMonLogger.java
Get device id, imei,meid/esn etc
       com/samsung/android/fotaagent/common/FotaTelephonyManager.java
Get installed applications
       com/idm/fotaagent/enabler/utils/GeneralUtils.java
Get sim operator name
       com/samsung/android/fotaagent/common/FotaTelephonyManager.java
Get sim provider details
       com/samsung/android/fotaagent/common/FotaTelephonyManager.java
com/samsung/context/sdk/samsunganalytics/internal/device/DeviceInfo.java
com/sec/android/diagmonagent/log/ged/util/DeviceUtils.java
Get subscriber id
       com/idm/adapter/deviceinfo/IDMDeviceInfoAdapter.java
Get system service
       com/samsung/context/sdk/samsunganalytics/internal/sender/DLS/DLSLogSender.java
com/idm/fotaagent/enabler/ui/installconfirm/InstallCountDown.java
com/idm/fotaagent/enabler/ui/BaseActivity.java
com/idm/fotaagent/enabler/utils/EnablerUtils.java
com/sec/android/diagmonagent/log/ged/util/DeviceUtils.java
com/idm/fotaagent/enabler/ui/installconfirm/InstallConfirmModel.java
com/idm/adapter/deviceinfo/IDMDeviceInfoAdapter.java
com/idm/fotaagent/enabler/ui/notification/manager/RealNotificationTypeManagerService.java
com/samsung/android/fotaagent/policy/afw/duration/PolicyManager.java
com/idm/fotaagent/enabler/ui/notification/manager/NotificationChannelType.java
com/idm/fotaagent/scheduler/jobschedule/NetworkResumeJobScheduleManager.java
com/sec/android/diagmonagent/log/ged/scheduler/GEDJobService.java
com/samsung/android/fotaagent/device/push/ex/CampaignNotification.java
com/samsung/android/fotaagent/device/polling/Polling.java
com/idm/fotaagent/enabler/ui/notification/manager/NotificationId.java
com/samsung/android/fotaagent/device/registration/context/SchedulableRegistration.java
com/samsung/android/fotaagent/common/FotaTelephonyManager.java
com/idm/fotaagent/enabler/adapter/IDMAdapterNetworkApn.java
com/idm/fotaagent/enabler/ui/notification/notificationhelper/IDMNotificationHelper.java
com/samsung/context/sdk/samsunganalytics/internal/device/DeviceInfo.java
com/idm/fotaagent/enabler/fumo/postpone/PostponeType.java
com/idm/fotaagent/enabler/fumo/postpone/PostponeAlarmReceiver.java
com/idm/fotaagent/enabler/utils/DeviceUtils.java
com/idm/fotaagent/enabler/ui/notification/manager/NotificationTypeManager.java
com/sec/android/diagmonagent/log/ged/scheduler/GEDScheduler.java
com/idm/fotaagent/enabler/utils/GeneralUtils.java
com/idm/fotaagent/abupdate/abenabler/InstallHandler.java
com/samsung/android/fotaagent/policy/afw/SystemPolicy.java
com/samsung/android/fotaagent/device/heartbeat/PeriodicHeartbeat.java
com/samsung/context/sdk/samsunganalytics/internal/policy/Validation.java
com/idm/adapter/common/IDMDeviceLockControl.java
com/idm/fotaagent/enabler/utils/NetworkUtil.java
com/samsung/android/fotaagent/diagmon/jobschedule/DiagmonReportJobScheduleManager.java
Http connection
       com/idm/network/IDMNetworkHttpAdapter.java
com/idm/adapter/networkinfo/IDMNetworkInfoAdapter.java
com/sec/android/diagmonagent/log/ged/servreinterface/model/client/TokenClient.java
com/idm/network/IDMNetworkTimer.java
com/idm/agent/dm/IDMDmAgent.java
com/idm/fotaagent/abupdate/abenabler/utils/MetadataDownloader.java
com/idm/agent/dl/IDMDlAgent.java
com/samsung/android/fotaagent/network/BaseRestClient.java
com/sec/android/diagmonagent/log/ged/servreinterface/model/client/DiagmonClient.java
com/sec/android/diagmonagent/log/ged/servreinterface/model/client/FileUploadClient.java
Https connection
       com/idm/network/IDMNetworkHttpAdapter.java
com/samsung/context/sdk/samsunganalytics/internal/policy/GetPolicyClient.java
com/samsung/context/sdk/samsunganalytics/internal/sender/DLS/DLSAPIClient.java
com/samsung/context/sdk/samsunganalytics/internal/terms/RegisterTask.java
com/samsung/android/fotaagent/network/BaseRestClient.java
Inter process communication
       com/idm/fotaagent/enabler/ui/BaseActivity.java
com/idm/fotaagent/receiver/callback/NormalEventHandler.java
com/idm/fotaagent/enabler/fumo/init/DmSessionStarter.java
com/idm/fotaagent/abupdate/updateengine/UpdateEngine.java
com/idm/fotaagent/enabler/ui/dialog/IDMUIActivityForDialog.java
com/idm/fotaagent/enabler/ui/admin/main/listener/UserInitExecutor.java
android/os/IUpdateEngine.java
com/samsung/context/sdk/samsunganalytics/internal/Tracker.java
com/idm/fotaagent/scheduler/intentresume/IDMIntentBatteryResume.java
com/idm/fotaagent/enabler/ui/notification/manager/NotificationReceiver.java
com/sec/android/diagmonagent/sa/IDMAInterface.java
com/idm/fotaagent/receiver/dynamic/BatteryChangeReceiver.java
com/samsung/android/fotaagent/device/registration/state/SecondaryInitialState.java
com/sec/spp/push/dlc/api/IDlcService.java
com/samsung/context/sdk/samsunganalytics/internal/util/Utils.java
com/idm/fotaagent/receiver/dynamic/ReceiverWithIntentFilter.java
com/idm/fotaagent/enabler/ui/notification/manager/NotificationId.java
com/samsung/android/fotaagent/ui/CampaignActivity.java
com/idm/fotaagent/enabler/ui/notification/manager/StubNotificationTypeManagerService.java
com/idm/fotaagent/enabler/ui/admin/profile/AdminProfileActivity.java
com/idm/fotaagent/enabler/ui/uic/IDMUICActivity.java
com/idm/fotaagent/enabler/fumo/IDMFumoInstallHandler.java
com/idm/fotaagent/enabler/fumo/postpone/PostponeAlarmReceiver.java
com/idm/fotaagent/enabler/ui/notification/manager/NotificationTypeManager.java
com/idm/fotaagent/scheduler/intentresume/IDMIntentBootResume.java
com/idm/fotaagent/InitExecutor.java
com/idm/fotaagent/enabler/utils/GeneralUtils.java
com/idm/fotaagent/abupdate/manager/CallbackManager.java
com/idm/fotaagent/enabler/ui/notification/notificationhelper/IDMCampaignNotificationHelper.java
com/idm/fotaagent/receiver/IDMReceiverInitApiCall.java
com/idm/fotaagent/enabler/ui/noupdatable/NoUpdatableVersionActivity.java
com/samsung/android/fotaagent/device/heartbeat/PeriodicHeartbeat.java
com/idm/fotaagent/receiver/dynamic/IDMDynamicReceivers.java
com/samsung/android/fotaagent/receiver/LaunchReceiver.java
com/idm/fotaagent/abupdate/abenabler/ui/downloadandinstallprogress/DownloadAndInstallProgressActivity.java
com/idm/fotaagent/scheduler/IDMSchedulerHandler.java
com/samsung/android/fotaagent/receiver/GenericBroadcastReceiver.java
com/idm/fotaagent/enabler/fumo/executor/IDMFumoExecutorUpdateToReporting.java
com/samsung/android/fotaagent/device/push/PushID.java
com/idm/fotaagent/scheduler/intentresume/IDMIntentCallResume.java
com/sec/android/diagmonagent/log/provider/threadExecutor/EventReportExecutor.java
com/samsung/android/fotaagent/receiver/SecureBroadcastReceiver.java
com/samsung/context/sdk/samsunganalytics/internal/sender/DMA/DMABinder.java
com/samsung/android/fotaagent/device/services/UpdateCheckerViaPollingIntentService.java
com/samsung/android/fotaagent/device/push/ex/Extension.java
com/samsung/android/fotaagent/device/push/ex/Campaign.java
com/samsung/android/fotaagent/device/push/SPP.java
com/idm/fotaagent/enabler/interfaces/IntentActions.java
com/samsung/android/fotaagent/device/heartbeat/HeartbeatIntentService.java
com/idm/fotaagent/enabler/ui/admin/feature/AdminActionViewModel.java
com/idm/fotaagent/scheduler/intentresume/IDMIntentNetworkResume.java
com/samsung/android/fotaagent/receiver/SecretCodeReceiver.java
com/idm/fotaagent/enabler/ui/admin/setting/AdminSettingModel.java
com/idm/fotaagent/enabler/ui/downloadconfirm/DownloadConfirmActivity.java
com/idm/fotaagent/enabler/ui/notification/manager/RealNotificationTypeManagerService.java
com/idm/fotaagent/enabler/fumo/uimanager/taskevent/IDMFumoTaskDownloadInProgress.java
com/idm/fotaagent/receiver/dynamic/CallStateChangeReceiver.java
com/samsung/android/fotaagent/device/services/PollingIntentService.java
com/samsung/android/fotaagent/policy/afw/duration/PolicyManager.java
com/idm/fotaagent/enabler/fumo/IDMFumoIntentManager.java
com/idm/fotaagent/enabler/ui/dialog/model/InsufficientMemoryDialogModel.java
com/samsung/android/fotaagent/device/polling/Polling.java
com/idm/fotaagent/enabler/fumo/uimanager/taskevent/IDMFumoTaskDmFinish.java
com/idm/fotaagent/IDMApplication.java
com/samsung/android/fotaagent/device/services/CampaignIntentService.java
com/idm/fotaagent/enabler/fumo/postpone/PostponeType.java
com/idm/fotaagent/enabler/ui/IDMUIManager.java
com/idm/fotaagent/scheduler/IDMSchedulerInfo.java
com/samsung/android/fotaagent/device/services/SppIntentService.java
com/idm/fotaagent/scheduler/intentresume/IDMIntentResumeExecutor.java
com/idm/fotaagent/scheduler/jobschedule/NetworkResumeJobService.java
com/idm/fotaagent/enabler/ui/installconfirm/InstallConfirmActivity.java
com/idm/fotaagent/enabler/ui/notification/manager/NotificationType.java
com/idm/fotaagent/enabler/ui/downloadprogress/DownloadProgressActivity.java
com/idm/fotaagent/enabler/adapter/IDMAdapterUICImpl.java
com/samsung/context/sdk/samsunganalytics/internal/policy/Validation.java
com/idm/fotaagent/enabler/ui/admin/main/hiddencommand/AdminCommandExecutor.java
com/samsung/android/fotaagent/policy/mdm/MDMManager.java
com/samsung/android/fotaagent/receiver/SppReceiver.java
android/os/IUpdateEngineCallback.java
com/samsung/android/fotaagent/receiver/SafeBroadcastReceiver.java
Java reflection
       com/idm/fotaagent/receiver/callback/ProviderEventHandler.java
com/idm/fotaagent/enabler/utils/GeneralUtils.java
com/samsung/context/sdk/samsunganalytics/internal/policy/PolicyUtils.java
com/samsung/android/fotaagent/common/feature/FeatureInjector.java
com/samsung/context/sdk/samsunganalytics/internal/policy/Validation.java
com/idm/fotaagent/enabler/ui/admin/main/hiddencommand/AdminCommandExecutor.java
com/idm/adapter/logmanager/IDMLogManager.java
Loading native code (shared library)
       com/sec/android/diagmonagent/common/NativeHelper.java
com/sec/icdverification/ICDVerification.java
com/samsung/android/fotaagent/common/util/NativeUtils.java
Local file i/o operations
       com/samsung/android/fotaagent/common/util/Preference.java
com/idm/tool/sharedpreference/IDMSharedPreference.java
com/idm/fotaagent/enabler/sharedpreference/IDMSharedPreference.java
com/sec/android/diagmonagent/log/ged/db/dao/ServiceDao.java
com/samsung/android/fotaagent/device/db/DevicePref.java
com/samsung/context/sdk/samsunganalytics/internal/Tracker.java
com/samsung/context/sdk/samsunganalytics/internal/policy/GetPolicyClient.java
com/sec/android/diagmonagent/log/ged/util/PreferenceUtils.java
com/samsung/context/sdk/samsunganalytics/internal/setting/SettingReader.java
com/sec/android/diagmonagent/log/provider/threadExecutor/ServiceRegistrationExecutor.java
com/idm/fotaagent/enabler/ui/admin/main/hiddencommand/AdminCommandExecutor.java
com/sec/android/diagmonagent/log/provider/newLogProvider.java
com/samsung/context/sdk/samsunganalytics/internal/util/Preferences.java
Message digest
       com/sec/android/diagmonagent/log/ged/util/RestUtils.java
com/idm/fotaagent/enabler/utils/GeneralUtils.java
com/idm/core/security/IDMSecurity.java
com/samsung/context/sdk/samsunganalytics/internal/policy/Validation.java
com/idm/fotaagent/enabler/adapter/IDMAdapterDownload.java
Query database of sms, contacts etc
       com/idm/fotaagent/enabler/fumo/proxy/IDMFumoProxyHandler.java
Sending broadcast
       com/idm/fotaagent/enabler/ui/admin/main/listener/UserInitExecutor.java
com/sec/android/diagmonagent/log/provider/threadExecutor/EventReportExecutor.java
com/samsung/context/sdk/samsunganalytics/internal/Tracker.java
com/samsung/android/fotaagent/device/services/UpdateCheckerViaPollingIntentService.java
com/idm/fotaagent/enabler/ui/admin/main/hiddencommand/AdminCommandExecutor.java
com/samsung/android/fotaagent/policy/mdm/MDMManager.java
com/idm/fotaagent/enabler/fumo/IDMFumoIntentManager.java
com/samsung/android/fotaagent/device/push/ex/Campaign.java
com/samsung/android/fotaagent/device/push/SPP.java
Starting activity
       com/idm/fotaagent/enabler/utils/GeneralUtils.java
com/idm/fotaagent/IDMApplication.java
com/idm/fotaagent/enabler/adapter/IDMAdapterUICImpl.java
com/idm/fotaagent/enabler/ui/BaseActivity.java
com/idm/fotaagent/enabler/ui/admin/main/hiddencommand/AdminCommandExecutor.java
com/idm/fotaagent/enabler/ui/IDMUIManager.java
com/idm/fotaagent/enabler/ui/dialog/model/InsufficientMemoryDialogModel.java
com/samsung/android/fotaagent/device/push/ex/Campaign.java
com/samsung/android/fotaagent/receiver/SecretCodeReceiver.java
com/idm/fotaagent/enabler/ui/admin/setting/AdminSettingModel.java
Starting service
       com/idm/fotaagent/enabler/ui/notification/manager/NotificationTypeManager.java
com/idm/fotaagent/InitExecutor.java
com/samsung/context/sdk/samsunganalytics/internal/sender/DMA/DMABinder.java
com/samsung/android/fotaagent/receiver/LaunchReceiver.java
com/samsung/android/fotaagent/device/registration/state/SecondaryInitialState.java
com/idm/fotaagent/scheduler/IDMSchedulerHandler.java
com/samsung/android/fotaagent/receiver/SppReceiver.java
com/samsung/android/fotaagent/device/push/ex/Campaign.java
Url connection to file/http/https/ftp/jar
       com/idm/fotaagent/abupdate/abenabler/utils/MetadataDownloader.java
com/samsung/android/fotaagent/network/BaseRestClient.java

Control flow graphs analysis

Information computed by Pithus.

The application probably loads JS-capable web views

The application probably gets the subscriber ID associated to the SIM card/ Should never be collected

The application probably gets the advertising ID for tracking purposes

The application probably plays sound

The application probably reads the Android serial number