0/62

Threat

com.android.phone

Phone Services

Analyzed on 2021-10-26T04:21:59.755217

118

permissions

30

activities

13

services

6

receivers

2

domains

File sums

MD5 a07bd930e8204dec3de13ec405389756
SHA1 3f7d9dd8fbb18b93425668bb940f2b2b44e9796b
SHA256 ba8695b4f240080e768f2083c859df1025ad0b8ce03ce40c4a90f28550b4f936
Size 3.49MB

APKiD

Information computed with APKiD.

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

SSdeep

Information computed with ssdeep.

APK file 49152:wYimo3T/AZCLm6D7zJgJG+OIpGSf0yJfvu0hennBePReMgXA69IF+WMwSa:w1ECbzoG7IHvu0knsPKXAOG+q
Manifest 1536:pSDSRSw7igK+np3AYsSbCSaPX75vgYACjpzfkIcErMDy:XYjrMDy
classes.dex 49152:6+gxKmYHFoRBaQpIPUsCrafeHl3CKjyN22OI:6BdpIPeNHl3Cr

Dexofuzzy

Information computed with Dexofuzzy.

classes.dex None

APK details

Information computed with AndroGuard and Pithus.

Package com.android.phone
App name Phone Services
Version name 9
Version code 28
SDK 28 - 28
UAID 31efb22177f5e93de74cbc5db2d96076b2f07ea7
Signature Signature V1 Signature V2
Frosting Not frosted
Blocks found within V2 signature:
  • 0x7109871a: Unknown

Certificate details

Information computed with AndroGuard.

MD5 d087e72912fba064cafa78dc34aea839
SHA1 9ca5170f381919dfe0446fcdab18b19a143b3163
SHA256 34df0e7a9f1cf1892e45c056b4973cd81ccf148a4050d11aea4ac5a65f900a42
Issuer Email Address: android.os@samsung.com, Common Name: Samsung Cert, Organizational Unit: DMC, Organization: Samsung Corporation, Locality: Suwon City, State/Province: South Korea, Country: KR
Not before 2011-06-22T12:25:12+00:00
Not after 2038-11-07T12:25:12+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.
Low App is direct-boot aware [android:directBootAware=true]
This app can run before the user unlocks the device. If you're using a custom subclass of Application, and if any component inside your application is direct - boot aware, then your entire custom application is considered to be direct - boot aware.During Direct Boot, your application can only access the data that is stored in device protected storage.
High Content Provider (IccProvider) 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 Activity (com.samsung.telephony.phone.activities.SamsungEmergencyDialerActivity) 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 Activity (SimContacts) 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 Activity (com.android.phone.settings.fdn.FdnList) 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 Activity (NetworkSelectSettingActivity) 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 Activity (GsmUmtsCallOptions) 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 Activity (CdmaCallOptions) 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 Activity (GsmUmtsCallForwardOptions) 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 Activity (GsmUmtsCallBarringOptions) 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 Activity (GsmUmtsAdditionalCallOptions) 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 Activity (com.android.phone.settings.fdn.FdnSetting) 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 Activity (EnableIccPinScreen) 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 Activity (ChangeIccPinScreen) 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 Activity (com.samsung.telephony.phone.activities.SamsungCallSettingsActivity) 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 Service (.otasp.OtaspActivationService) is not Protected.An intent-filter exists.
A Service 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 Service is explicitly exported.
High Activity (com.samsung.telephony.phone.activities.SamsungAccessibilitySettingsActivity) 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 Service (com.android.phone.TelephonyDebugService) is Protected by a permission, but the protection level of the permission should be checked.
Permission: android.permission.DUMP [android:exported=true]
A Service 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 Activity (.euicc.EuiccUiDispatcherActivity) 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 Activity (.euicc.EuiccResolutionUiDispatcherActivity) is Protected by a permission, but the protection level of the permission should be checked.
Permission: android.permission.CALL_PRIVILEGED [android:exported=true]
An Activity 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 Service (com.android.services.telephony.sip.SipConnectionService) is Protected by a permission, but the protection level of the permission should be checked.
Permission: android.permission.BIND_TELECOM_CONNECTION_SERVICE [android:exported=true]
A Service 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.android.services.telephony.sip.SipIncomingCallReceiver) 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 Activity (com.android.services.telephony.sip.SipPhoneAccountSettingsActivity) 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 Activity (com.android.services.telephony.sip.SipSettings) 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 Activity (com.samsung.telephony.phone.activities.SamsungPhoneAccountSettingsActivity) 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 Activity (com.android.phone.settings.VoicemailSettingsActivity) 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 Activity (com.samsung.telephony.phone.ecbm.SamsungEmergencyCallbackModeExitDialog) 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 Service (com.android.services.telephony.TelephonyConnectionService) is Protected by a permission, but the protection level of the permission should be checked.
Permission: android.permission.BIND_TELECOM_CONNECTION_SERVICE [android:exported=true]
A Service 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 Service (com.android.internal.telephony.CellularNetworkService) is Protected by a permission, but the protection level of the permission should be checked.
Permission: android.permission.BIND_TELEPHONY_NETWORK_SERVICE [android:exported=true]
A Service 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 Service (com.android.internal.telephony.dataconnection.CellularDataService) is Protected by a permission, but the protection level of the permission should be checked.
Permission: android.permission.BIND_TELEPHONY_DATA_SERVICE [android:exported=true]
A Service 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 Content Provider (com.samsung.telephony.util.diagmon.SamsungTelephonyDiagmonProvider) is Protected by a permission, but the protection level of the permission should be checked.
Permission: com.sec.android.diagmonagent.permission.PROVIDER [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.
Low Service (com.samsung.telephony.phone.telephonyui.SamsungInternalService) is Protected by a permission, but the protection level of the permission should be checked.
Permission: com.sec.android.phone.permission.BIND_INTERNAL_SERVICE
protectionLevel: signatureOrSystem [android:exported=true]
A Service is found to be exported, but is protected by a permission. However, the protection level of the permission is set to signatureOrSystem. It is recommended that signature level is used instead. Signature level should suffice for most purposes, and does not depend on where the applications are installed on the device.
Low Service (com.samsung.telephony.services.conference.groupcall.SamsungGroupCallServiceProvider) is Protected by a permission, but the protection level of the permission should be checked.
Permission: com.sec.android.phone.permission.BIND_GROUP_CALL_SERVICE
protectionLevel: signatureOrSystem [android:exported=true]
A Service is found to be exported, but is protected by a permission. However, the protection level of the permission is set to signatureOrSystem. It is recommended that signature level is used instead. Signature level should suffice for most purposes, and does not depend on where the applications are installed on the device.
High Content Provider (com.samsung.telephony.phone.callsettings.InternalCallSettingsProvider) 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.
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.telephony.phone.activities.SamsungEmergencyDialerActivity
com.android.phone.ADNList
com.android.phone.SimContacts
com.android.phone.settings.fdn.FdnList
com.android.internal.telephony.uicc.InstallCarrierAppTrampolineActivity
com.samsung.telephony.phone.activities.SamsungMobileNetworkSettingsActivity
com.android.phone.NetworkSelectSettingActivity
com.android.phone.GsmUmtsCallOptions
com.android.phone.CdmaCallOptions
com.android.phone.GsmUmtsCallForwardOptions
com.android.phone.GsmUmtsCallBarringOptions
com.android.phone.GsmUmtsAdditionalCallOptions
com.android.phone.settings.fdn.FdnSetting
com.android.phone.EnableIccPinScreen
com.android.phone.ChangeIccPinScreen
com.android.phone.settings.fdn.GetPin2Screen
com.android.phone.settings.fdn.EditFdnContactScreen
com.android.phone.settings.fdn.DeleteFdnContactScreen
com.samsung.telephony.phone.activities.SamsungCallSettingsActivity
com.samsung.telephony.phone.activities.SamsungAccessibilitySettingsActivity
com.android.phone.euicc.EuiccUiDispatcherActivity
com.android.phone.euicc.EuiccResolutionUiDispatcherActivity
com.android.services.telephony.sip.SipPhoneAccountSettingsActivity
com.android.services.telephony.sip.SipSettings
com.android.services.telephony.sip.SipEditor
com.android.phone.MMIDialogActivity
com.samsung.telephony.phone.mmi.SamsungMmiDialogActivity
com.samsung.telephony.phone.activities.SamsungPhoneAccountSettingsActivity
com.android.phone.settings.VoicemailSettingsActivity
com.samsung.telephony.phone.ecbm.SamsungEmergencyCallbackModeExitDialog

Receivers

Information computed with AndroGuard.

com.android.phone.otasp.OtaspSimStateReceiver
com.android.services.telephony.sip.SipIncomingCallReceiver
com.android.phone.vvm.VvmSmsReceiver
com.android.phone.vvm.VvmSimStateTracker
com.android.internal.telephony.uicc.ShowInstallAppNotificationReceiver
com.samsung.telephony.phone.receiver.SamsungBootBroadcastReceiver

Services

Information computed with AndroGuard.

com.android.phone.NetworkQueryService
com.android.phone.otasp.OtaspActivationService
com.android.phone.EmergencyCallbackModeService
com.android.phone.TelephonyDebugService
com.android.services.telephony.sip.SipConnectionService
com.samsung.telephony.phone.mmi.SamsungMmiMessengerService
com.android.services.telephony.TelephonyConnectionService
com.android.phone.vvm.RemoteVvmTaskManager
com.android.internal.telephony.CellularNetworkService
com.android.internal.telephony.dataconnection.CellularDataService
com.samsung.telephony.phone.telephonyui.SamsungInternalService
com.samsung.telephony.services.conference.groupcall.SamsungGroupCallServiceProvider
com.samsung.telephony.phone.ecbm.SamsungEmergencyCallbackModeService

Sample timeline

Oldest file found in APK Jan. 1, 2009, midnight
Latest file found in APK Jan. 1, 2009, midnight
Certificate valid not before June 22, 2011, 12:25 p.m.
First submission on VT April 27, 2021, 4:05 a.m.
Last submission on VT April 27, 2021, 4:05 a.m.
Upload on Pithus Oct. 26, 2021, 4:21 a.m.
Certificate valid not after Nov. 7, 2038, 12:25 p.m.

NIAP analysis

Information computed with MobSF.

FCS_RBG_EXT.1.1 The application use no 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 generate no asymmetric cryptographic keys.
Cryptographic Key Generation Services
FDP_DEC_EXT.1.1 The application has access to ['location', 'bluetooth', 'network connectivity', 'microphone'].
Access to Platform Resources
FDP_DEC_EXT.1.2 The application has access to ['call lists', 'address book'].
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 does not encrypt files 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 not encrypt any data in traffic or does not transmit any data between itself and another trusted IT product.
Protection of Data in Transit
FCS_COP.1.1(2) The application perform cryptographic hashing services in accordance with a specified cryptographic algorithm SHA-1/SHA-256/SHA-384/SHA-512 and message digest sizes 160/256/384/512 bits.
Cryptographic Operation - Hashing

Code analysis

Information computed with MobSF.

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/samsung/telephony/phone/callsettings/RegisterUssdDbHelper.java
com/sec/ims/settings/ImsProfile.java
com/samsung/telephony/phone/mmi/SamsungMMIDialogUtils.java
com/samsung/telephony/phone/callsettings/AutoRejectVideoCallDbHelper.java
com/sec/ims/util/ImsUri.java
com/samsung/telephony/model/context/salescode/SamsungCscParser.java
android/telecom/samsung/util/logger/SamsungLogger.java
com/samsung/telephony/phone/callsettings/QuickReplyMsgDbHelper.java
com/samsung/telephony/phone/callsettings/IpCallDbHelper.java
com/samsung/telephony/phone/activities/SamsungTuiRelayActivity.java
com/samsung/telephony/phone/callsettings/AutoRejectDbHelper.java
com/samsung/android/tencentwifisecurity/TencentSecurityWifiManager.java
com/samsung/telephony/phone/callsettings/EnhancedVoiceRecordNumberDbHelper.java
com/samsung/telephony/util/system/SamsungPackageUtil.java
com/samsung/telephony/phone/telephonyui/SamsungTuiCallFunctions.java
com/samsung/telephony/phone/callsettings/SQLiteManager.java
com/samsung/android/settingslib/wifi/AccessPoint.java
com/samsung/telephony/phone/callsettings/RejectCallMessageDbHelper.java
com/samsung/telephony/phone/callsettings/IpCallDbSim2Helper.java
com/samsung/telephony/phone/ecbm/SamsungEmergencyCallbackModeExitDialog.java
com/samsung/telephony/phone/receiver/SamsungBootBroadcastReceiver.java
com/samsung/telephony/phone/callsettings/DeletePrefixDbHelper.java
com/samsung/telephony/phone/telephonyui/SamsungTuiNotificationHelper.java
com/samsung/telephony/services/account/notifier/SamsungPstnIncomingCallNotifier.java
com/samsung/telephony/phone/callsettings/IpCallCdmaDbHelper.java
siso/vt/VTManager.java
com/samsung/android/settingslib/wifi/WeChatWifiManager.java
com/samsung/telephony/phone/callsettings/PhotoringDbHelper.java
com/samsung/services/telephony/sip/SamsungSipUtil.java
com/samsung/telephony/phone/telephonyui/SamsungInternalServiceImpl.java
com/samsung/telephony/phone/callsettings/InternalCallSettingsProvider.java
com/samsung/telephony/phone/callsettings/AutoRejectOutgoingCallDbHelper.java
android/telecom/samsung/util/diagmon/SamsungDiagmonBaseUncaughtExceptionHandler.java
com/samsung/android/settingslib/wifi/WifiTracker.java
com/samsung/telephony/phone/notification/SamsungNotificationMgr.java
com/samsung/telephony/services/connection/SamsungTelephonyConnection.java
android/telecom/samsung/util/logger/SamsungEventLogTags.java
High
CVSS:7.4
Files may contain hardcoded sensitive informations like usernames, passwords, keys etc.
MASVS: MSTG-STORAGE-14
CWE-312 Cleartext Storage of Sensitive Information
M9: Reverse Engineering
Files:
 com/samsung/telephony/services/connection/SamsungTelephonyConnection.java
Medium
CVSS:4.3
IP Address disclosure
MASVS: MSTG-CODE-2
CWE-200 Information Exposure
Files:
 com/samsung/telephony/phone/phoneinterface/SamsungPhoneInterfaceManager.java
Pygal United States: 200

Map computed by Pithus.

Domains analysis

Information computed with MobSF.

US www.example.com 93.184.216.34
US support.google.com 172.217.16.142

URL analysis

Information computed with MobSF.

https://www.example.com/proxy.pac
http://support.google.com/mobile?p=telephony_rtt
Defined in Android String Resource
https://www.example.com/proxy.pac
http://support.google.com/mobile?p=telephony_rtt
Defined in Android String Resource

Permissions analysis

Information computed with MobSF.

High android.permission.CALL_PHONE directly call phone numbers
Allows the application to call phone numbers without your intervention. Malicious applications may cause unexpected calls on your phone bill. Note that this does not allow the application to call emergency numbers.
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.
High android.permission.READ_CONTACTS read contact data
Allows an application to read all of the contact (address) data stored on your phone. Malicious applications can use this to send your data to other people.
High android.permission.READ_CALL_LOG Allows an application to read the user's call log.
High android.permission.WRITE_CONTACTS write contact data
Allows an application to modify the contact (address) data stored on your phone. Malicious applications can use this to erase or modify your contact data.
High android.permission.WRITE_CALL_LOG Allows an application to write (but not read) the user's call log data.
High android.permission.SYSTEM_ALERT_WINDOW display system-level alerts
Allows an application to show system-alert windows. Malicious applications can take over the entire screen of the phone.
High android.permission.RECEIVE_SMS receive SMS
Allows application to receive and process SMS messages. Malicious applications may monitor your messages or delete them without showing them to you.
High android.permission.READ_SMS read SMS or MMS
Allows application to read SMS messages stored on your phone or SIM card. Malicious applications may read your confidential messages.
High android.permission.WRITE_SMS edit SMS or MMS
Allows application to write to SMS messages stored on your phone or SIM card. Malicious applications may delete your messages.
High android.permission.SEND_SMS send SMS messages
Allows application to send SMS messages. Malicious applications may cost you money by sending messages without your confirmation.
High android.permission.PROCESS_OUTGOING_CALLS intercept outgoing calls
Allows application to process outgoing calls and change the number to be dialled. Malicious applications may monitor, redirect or prevent outgoing calls.
High android.permission.ACCESS_COARSE_LOCATION coarse (network-based) location
Access coarse location sources, such as the mobile network database, to determine an approximate phone location, where available. Malicious applications can use this to determine approximately where you are.
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.RECORD_AUDIO record audio
Allows application to access the audio record path.
High android.permission.USE_SIP make/receive Internet calls
Allows an application to use the SIP service to make/receive Internet calls.
High android.permission.AUTHENTICATE_ACCOUNTS act as an account authenticator
Allows an application to use the account authenticator capabilities of the Account Manager, including creating accounts as well as obtaining and setting their passwords.
High android.permission.MANAGE_ACCOUNTS manage the accounts list
Allows an application to perform operations like adding and removing accounts and deleting their password.
High android.permission.GET_ACCOUNTS list accounts
Allows access to the list of accounts in the Accounts Service.
High android.permission.READ_PHONE_STATE read phone state and identity
Allows the application to access the phone features of the device. An application with this permission can determine the phone number and serial number of this phone, whether a call is active, the number that call is connected to and so on.
Low android.permission.BROADCAST_STICKY send sticky broadcast
Allows an application to send sticky broadcasts, which remain after the broadcast ends. Malicious applications can make the phone slow or unstable by causing it to use too much memory.
Low android.permission.VIBRATE control vibrator
Allows the application to control the vibrator.
Low android.permission.BLUETOOTH create Bluetooth connections
Allows applications to connect to paired bluetooth devices.
Low android.permission.BLUETOOTH_ADMIN bluetooth administration
Allows applications to discover and pair bluetooth devices.
Low android.permission.REORDER_TASKS reorder applications running
Allows an application to move tasks to the foreground and background. Malicious applications can force themselves to the front without your control.
Low android.permission.WAKE_LOCK prevent phone from sleeping
Allows an application to prevent the phone from going to sleep.
Low android.permission.MODIFY_AUDIO_SETTINGS change your audio settings
Allows application to modify global audio settings, such as volume and routing.
Low android.permission.ACCESS_WIFI_STATE view Wi-Fi status
Allows an application to view the information about the status of Wi-Fi.
Low android.permission.DISABLE_KEYGUARD Allows applications to disable the keyguard if it is not secure.
Low android.permission.INTERNET full Internet access
Allows an application to create network sockets.
Low android.permission.CHANGE_WIFI_STATE change Wi-Fi status
Allows an application to connect to and disconnect from Wi-Fi access points and to make changes to configured Wi-Fi networks.
Low android.permission.ACCESS_NETWORK_STATE view network status
Allows an application to view the status of all networks.
Low android.permission.CHANGE_NETWORK_STATE change network connectivity
Allows applications to change network connectivity state.
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.WRITE_SYNC_SETTINGS write sync settings
Allows an application to modify the sync settings, such as whether sync is enabled for Contacts.
Medium android.permission.INTERNAL_SYSTEM_WINDOW display unauthorised windows
Allows the creation of windows that are intended to be used by the internal system user interface. Not for use by common applications.
Medium android.permission.DEVICE_POWER turn phone on or off
Allows the application to turn the phone on or off.
Medium android.permission.BROADCAST_SMS send SMS-received broadcast
Allows an application to broadcast a notification that an SMS message has been received. Malicious applications may use this to forge incoming SMS messages.
Medium android.permission.BROADCAST_WAP_PUSH send WAP-PUSH-received broadcast
Allows an application to broadcast a notification that a WAP-PUSH message has been received. Malicious applications may use this to forge MMS message receipt or to replace the content of any web page silently with malicious variants.
Medium android.permission.SHUTDOWN partial shutdown
Puts the activity manager into a shut-down state. Does not perform a complete shut down.
Medium android.permission.SET_PREFERRED_APPLICATIONS set preferred applications
Allows an application to modify your preferred applications. This can allow malicious applications to silently change the applications that are run, spoofing your existing applications to collect private data from you.
Medium android.permission.BIND_CARRIER_SERVICES The system process that is allowed to bind to services in carrier apps will have this permission. Carrier apps should use this permission to protect their services that only the system is allowed to bind to.
Medium android.permission.BIND_CARRIER_MESSAGING_SERVICE The system process that is allowed to bind to services in carrier apps will have this permission.
Medium android.permission.BIND_VISUAL_VOICEMAIL_SERVICE Must be required by a link VisualVoicemailService to ensure that only the system can bind to it.
Medium android.permission.STOP_APP_SWITCHES prevent app switches
Prevents the user from switching to another application.
Medium android.permission.PACKAGE_USAGE_STATS update component usage statistics
Allows the modification of collected component usage statistics. Not for use by common applications.
Medium android.permission.CALL_PRIVILEGED directly call any phone numbers
Allows the application to call any phone number, including emergency numbers, without your intervention. Malicious applications may place unnecessary and illegal calls to emergency services.
Medium android.permission.WRITE_SECURE_SETTINGS modify secure system settings
Allows an application to modify the system's secure settings data. Not for use by common applications.
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.STATUS_BAR disable or modify status bar
Allows application to disable the status bar or add and remove system icons.
Medium android.permission.SEND_RESPOND_VIA_MESSAGE Allows an application (Phone) to send a request to other applications to handle the respond-via-message action during incoming calls.
Medium android.permission.SET_TIME set time
Allows an application to change the phone's clock time.
Medium android.permission.SET_TIME_ZONE set time zone
Allows an application to change the phone's time zone.
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.PERFORM_CDMA_PROVISIONING directly start CDMA phone setup
Allows the application to start CDMA provisioning. Malicious applications may start CDMA provisioning unnecessarily
Medium android.permission.REBOOT force phone reboot
Allows the application to force the phone to reboot.
Medium android.permission.DUMP retrieve system internal status
Allows application to retrieve internal status of the system. Malicious applications may retrieve a wide variety of private and secure information that they should never commonly need.
Medium android.permission.CHANGE_COMPONENT_ENABLED_STATE enable or disable application components
Allows an application to change whether or not a component of another application is enabled. Malicious applications can use this to disable important phone capabilities. It is important to be careful with permission, as it is possible to bring application components into an unusable, inconsistent or unstable state.
Medium android.permission.UPDATE_DEVICE_STATS modify battery statistics
Allows the modification of collected battery statistics. Not for use by common applications.
android.permission.CONTROL_INCALL_EXPERIENCE Unknown permission
Unknown permission from android reference
android.permission.DOWNLOAD_WITHOUT_NOTIFICATION Unknown permission
Unknown permission from android reference
android.permission.READ_PRIVILEGED_PHONE_STATE Unknown permission
Unknown permission from android reference
android.permission.ACCESS_IMS_CALL_SERVICE Unknown permission
Unknown permission from android reference
android.permission.UPDATE_LOCK Unknown permission
Unknown permission from android reference
android.permission.INTERACT_ACROSS_USERS Unknown permission
Unknown permission from android reference
android.permission.INTERACT_ACROSS_USERS_FULL Unknown permission
Unknown permission from android reference
com.android.smspush.WAPPUSH_MANAGER_BIND Unknown permission
Unknown permission from android reference
android.permission.MANAGE_USERS Unknown permission
Unknown permission from android reference
android.permission.UPDATE_APP_OPS_STATS Unknown permission
Unknown permission from android reference
android.permission.MANAGE_APP_OPS_MODES Unknown permission
Unknown permission from android reference
android.permission.CONNECTIVITY_INTERNAL Unknown permission
Unknown permission from android reference
android.permission.READ_SEARCH_INDEXABLES Unknown permission
Unknown permission from android reference
android.permission.REGISTER_CALL_PROVIDER Unknown permission
Unknown permission from android reference
android.permission.REGISTER_SIM_SUBSCRIPTION Unknown permission
Unknown permission from android reference
android.permission.BIND_IMS_SERVICE Unknown permission
Unknown permission from android reference
com.samsung.android.softsim.permission.RECEIVE Unknown permission
Unknown permission from android reference
com.samsung.android.softsim.provider.read Unknown permission
Unknown permission from android reference
android.permission.BIND_EUICC_SERVICE Unknown permission
Unknown permission from android reference
com.android.permission.BIND_TELEPHONY_NETWORK_SERVICE Unknown permission
Unknown permission from android reference
android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS Unknown permission
Unknown permission from android reference
com.android.voicemail.permission.ADD_VOICEMAIL Unknown permission
Unknown permission from android reference
com.android.voicemail.permission.WRITE_VOICEMAIL Unknown permission
Unknown permission from android reference
com.android.voicemail.permission.READ_VOICEMAIL Unknown permission
Unknown permission from android reference
android.permission.LOCAL_MAC_ADDRESS Unknown permission
Unknown permission from android reference
android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST Unknown permission
Unknown permission from android reference
android.permission.READ_BLOCKED_NUMBERS Unknown permission
Unknown permission from android reference
android.permission.WRITE_BLOCKED_NUMBERS Unknown permission
Unknown permission from android reference
android.permission.NETWORK_SETTINGS Unknown permission
Unknown permission from android reference
android.permission.MANAGE_NETWORK_POLICY Unknown permission
Unknown permission from android reference
android.permission.READ_NETWORK_USAGE_HISTORY Unknown permission
Unknown permission from android reference
android.permission.BIND_TELEPHONY_DATA_SERVICE Unknown permission
Unknown permission from android reference
com.sec.imsservice.PERMISSION Unknown permission
Unknown permission from android reference
com.sec.imsservice.READ_IMS_PERMISSION Unknown permission
Unknown permission from android reference
provider.settingsearch.permission.WRITE Unknown permission
Unknown permission from android reference
com.bst.permission.NUMBER_MARK Unknown permission
Unknown permission from android reference
com.samsung.tmowfc.wfcprovider.permission.READ_WFCPROVIDER Unknown permission
Unknown permission from android reference
com.samsung.tmowfc.wfcprovider.permission.WRITE_REGISTER Unknown permission
Unknown permission from android reference
com.samsung.tmowfc.wfcprovider.permission.WRITE_SET_EMERGENCY Unknown permission
Unknown permission from android reference
com.samsung.tmowfc.wfcprovider.permission.WRITE_SET_EMERGENCY_GSM_PHONE_CALL 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
com.sec.android.providers.iwlansettings.permission.WRITE_IWLANSETTINGS Unknown permission
Unknown permission from android reference
com.sec.android.providers.iwlansettings.permission.READ_IWLANSETTINGS Unknown permission
Unknown permission from android reference
com.sec.nsds.READ_NSDS_PERMISSION Unknown permission
Unknown permission from android reference
com.sec.nsds.WRITE_NSDS_PERMISSION Unknown permission
Unknown permission from android reference
com.samsung.permission.SIMHOTSWAP Unknown permission
Unknown permission from android reference
com.samsung.systemui.POPUP_UI_PERMISSION Unknown permission
Unknown permission from android reference
android.permission.LOOP_RADIO Unknown permission
Unknown permission from android reference
android.permission.TETHER_PRIVILEGED Unknown permission
Unknown permission from android reference
android.permission.NETWORK_STACK Unknown permission
Unknown permission from android reference
android.permission.OVERRIDE_WIFI_CONFIG Unknown permission
Unknown permission from android reference
android.permission.sec.MDM_ROAMING Unknown permission
Unknown permission from android reference
com.samsung.android.knox.permission.KNOX_RECEIVE_BLOCKED_SMS_MMS_INTERNAL Unknown permission
Unknown permission from android reference
com.cequint.ecid.CALLER_ID_LOOKUP Unknown permission
Unknown permission from android reference
com.sec.android.phone.permission.AT_COMMAND Unknown permission
Unknown permission from android reference
com.sec.imslogger.permission.SERVICE Unknown permission
Unknown permission from android reference
com.att.iqi.permission.RECEIVE_SERVICE_STATE_CHANGE_BROADCASTS Unknown permission
Unknown permission from android reference

Threat analysis

Information computed with Quark-Engine.

Confidence:
100%
Implicit intent(view a web page, make a phone call, etc.)
Confidence:
100%
Find a method from given class name, usually for reflection
Confidence:
100%
Modify voice volume
Confidence:
100%
Method reflection
Confidence:
100%
Get the network operator name
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%
Implicit intent(view a web page, make a phone call, etc.) via setData
Confidence:
100%
Query user account information
Confidence:
100%
Send notification
Confidence:
100%
Monitor the broadcast action events (BOOT_COMPLETED)
Confidence:
100%
Query The ISO country code
Confidence:
100%
Get last known location of the device
Confidence:
100%
Get location of the device
Confidence:
100%
Method reflection
Confidence:
100%
Query data from URI (SMS, CALLLOGS)
Confidence:
100%
Get the time of current location
Confidence:
100%
Initialize class object dynamically
Confidence:
100%
Set the phone speaker on
Confidence:
100%
Calculate WiFi signal strength
Confidence:
80%
Load external class
Confidence:
80%
Query the current data network type
Confidence:
80%
Get declared method from given method name
Confidence:
80%
Get absolute path of the file and store in string
Confidence:
80%
Get calendar information
Confidence:
80%
Query the network operator name

Behavior analysis

Information computed with MobSF.

Android notifications
       com/samsung/telephony/phone/ecbm/SamsungEmergencyCallbackModeService.java
com/samsung/telephony/phone/notification/wfc/SamsungWfcCapabilityNotificationMgr.java
com/samsung/telephony/phone/notification/SamsungNotificationMgr.java
Content provider
       com/samsung/telephony/phone/callsettings/InternalCallSettingsProvider.java
com/samsung/android/tencentwifisecurity/TencentSecurityWifiManager.java
com/sec/android/diagmonagent/log/provider/AbstractLogProvider.java
Get cell location
       com/samsung/telephony/phone/phoneinterface/SamsungPhoneInterfaceManager.java
Get installed applications
       com/samsung/telephony/phone/telephonyui/SamsungTelephonyUIManager.java
Get sim operator name
       com/samsung/telephony/services/account/SamsungTelecomAccountRegistry.java
com/samsung/telephony/phone/notification/SamsungNotificationMgr.java
Get sim provider details
       com/samsung/telephony/services/account/SamsungTelecomAccountRegistry.java
com/samsung/telephony/model/context/sim/SamsungSimOperatorManager.java
com/samsung/telephony/phone/notification/SamsungNotificationMgr.java
Get subscriber id
       com/samsung/telephony/phone/notifier/SamsungChinaCallNotifier.java
Get system service
       com/samsung/telephony/util/SamsungNetworkUtil.java
com/samsung/telephony/phone/mmi/SamsungMMIDialogUtils.java
com/samsung/telephony/phone/mmi/SamsungMmiMessengerService.java
com/samsung/telephony/phone/mmi/SamsungMmiDialogActivity.java
com/samsung/telephony/model/context/feature/SamsungMultiSIMFeature.java
com/samsung/telephony/phone/telephonyui/SamsungTelephonyUIManager.java
com/samsung/telephony/phone/receiver/SamsungATCommandReceiver.java
com/samsung/telephony/phone/receiver/SamsungBatteryBroadcastReceiver.java
com/samsung/telephony/phone/notification/wfc/SamsungWfcCapabilityNotificationMgr.java
android/telecom/samsung/util/SamsungToastUtil.java
com/samsung/telephony/model/context/sim/SamsungSimOperatorManager.java
com/samsung/telephony/phone/SamsungPhoneApp.java
com/samsung/android/settingslib/wifi/AccessPoint.java
com/samsung/telephony/phone/phoneinterface/SamsungPhoneInterfaceNetworkHelper.java
com/samsung/telephony/util/SamsungCdmaSignalInfoToneUtil.java
com/samsung/telephony/phone/phoneinterface/SamsungPhoneInterfaceManager.java
com/samsung/telephony/phone/telephonyui/SamsungTuiNotificationHelper.java
com/samsung/telephony/phone/notifier/SamsungChinaCallNotifier.java
com/samsung/telephony/phone/suppservice/SamsungSuppServiceNotificationHelper.java
com/samsung/telephony/services/connectionservice/SamsungTelephonyConnectionService.java
com/samsung/services/telephony/sip/SamsungSipUtil.java
com/samsung/telephony/util/SamsungEmergencyUtil.java
com/samsung/telephony/util/SamsungMultiSimUtil.java
com/samsung/telephony/phone/telephonyui/SamsungInternalServiceImpl.java
com/samsung/telephony/phone/ecbm/SamsungEmergencyCallbackModeService.java
com/samsung/telephony/services/connectionservice/util/SamsungTelephonyConnectionServiceUtil.java
com/samsung/telephony/phone/notifier/SamsungKoreaCallNotifier.java
com/samsung/telephony/model/provider/video/cs/SamsungCSVideoProvider.java
com/samsung/telephony/model/context/feature/SamsungUiFeature.java
com/samsung/telephony/phone/notification/SamsungNotificationMgr.java
com/samsung/telephony/services/connection/SamsungTelephonyConnection.java
com/samsung/telephony/phone/util/SamsungPhoneUtils.java
Get wifi details
       com/samsung/android/settingslib/wifi/WifiTracker.java
com/samsung/android/settingslib/wifi/AccessPoint.java
Inter process communication
       com/samsung/android/tencentwifisecurity/IWifiEvalutionCallback.java
com/samsung/telephony/phone/mmi/SamsungMmiMessengerService.java
com/samsung/telephony/services/conference/groupcall/SamsungGroupCallServiceProvider.java
com/samsung/telephony/phone/mmi/SamsungMmiDialogActivity.java
com/samsung/telephony/phone/activities/SamsungMobileNetworkSettingsActivity.java
com/samsung/telephony/phone/activities/SamsungTuiRelayActivity.java
com/samsung/android/tencentwifisecurity/TencentSecurityWifiManager.java
com/samsung/telephony/phone/activities/SamsungAccessibilitySettingsActivity.java
com/samsung/telephony/phone/telephonyui/SamsungTelephonyUIManager.java
com/samsung/telephony/phone/activities/$$Lambda$SamsungTuiRelayActivity$A6UKSEwZUUil_qdKuNln45opxEc.java
com/samsung/telephony/phone/receiver/SamsungATCommandReceiver.java
com/samsung/telephony/phone/SamsungPhoneGlobals.java
com/samsung/telephony/phone/receiver/SamsungBatteryBroadcastReceiver.java
com/samsung/telephony/services/connection/multidevice/SamsungMultiDeviceConnection.java
com/samsung/telephony/phone/notification/wfc/SamsungWfcCapabilityNotificationMgr.java
com/samsung/telephony/phone/telephonyui/SamsungTuiRelayReceiver.java
com/samsung/telephony/phone/ecbm/SamsungEmergencyCallbackModeExitDialog.java
com/samsung/telephony/phone/phoneinterface/SamsungPhoneInterfaceManager.java
com/samsung/telephony/phone/mmi/ussd/SamsungUssdAction.java
com/samsung/telephony/phone/receiver/SamsungBootBroadcastReceiver.java
com/samsung/android/tencentwifisecurity/IWifiEvalutionService.java
com/samsung/telephony/phone/mmi/$$Lambda$SamsungMmiMessengerService$dZVeY0HpXAafDwpKye6z5B03TU.java
com/samsung/telephony/phone/telephonyui/SamsungInternalService.java
com/samsung/telephony/services/connection/video/SamsungVideoProviderHandler.java
com/samsung/telephony/phone/receiver/PhoneAppBroadcastReceiver.java
com/samsung/telephony/phone/telephonyui/SamsungTuiNotificationHelper.java
com/samsung/telephony/phone/activities/SamsungPhoneAccountSettingsActivity.java
com/samsung/telephony/phone/suppservice/SamsungSuppServiceNotificationHelper.java
com/samsung/telephony/util/SamsungCallProtectionUtil.java
com/samsung/telephony/services/conference/groupcall/ISamsungGroupCallService.java
com/samsung/telephony/phone/telephonyui/SamsungInternalServiceImpl.java
com/samsung/telephony/services/conference/groupcall/ISamsungGroupCallServiceCallback.java
com/samsung/telephony/phone/ecbm/SamsungEmergencyCallbackModeService.java
com/samsung/telephony/phone/notifier/SamsungKoreaCallNotifier.java
com/samsung/telephony/phone/receiver/SamsungLGTGlobalRoamingReceiver.java
com/samsung/telephony/phone/activities/SamsungEmergencyDialerActivity.java
android/telecom/samsung/util/diagmon/SamsungDiagmonBaseUncaughtExceptionHandler.java
com/samsung/android/settingslib/wifi/WifiTracker.java
com/samsung/telephony/phone/activities/SamsungCallSettingsActivity.java
com/samsung/telephony/phone/phoneinterface/handler/SamsungPhoneInterfaceHandlerHelper.java
com/samsung/telephony/phone/notification/SamsungNotificationMgr.java
com/samsung/telephony/services/conference/groupcall/SamsungGroupCallService.java
Loading native code (shared library)
       siso/vt/VTManager.java
Local file i/o operations
       com/sec/android/diagmonagent/log/provider/AbstractLogProvider.java
Query database of sms, contacts etc
       com/samsung/telephony/services/connectionservice/util/SamsungTelephonyConnectionServiceUtil.java
android/telecom/samsung/util/rxjava/RxContentResolver.java
com/samsung/telephony/phone/mmi/ussd/SamsungUssdAnalyzer.java
com/samsung/android/tencentwifisecurity/TencentSecurityWifiManager.java
Sending broadcast
       com/samsung/telephony/phone/telephonyui/SamsungTelephonyUIManager.java
com/samsung/telephony/phone/receiver/SamsungATCommandReceiver.java
com/samsung/telephony/phone/telephonyui/SamsungTuiNotificationHelper.java
android/telecom/samsung/util/diagmon/SamsungDiagmonBaseUncaughtExceptionHandler.java
com/samsung/telephony/phone/telephonyui/SamsungTuiRelayReceiver.java
com/samsung/telephony/phone/suppservice/SamsungSuppServiceNotificationHelper.java
com/samsung/telephony/phone/notification/SamsungNotificationMgr.java
com/samsung/telephony/util/SamsungCallProtectionUtil.java
Starting activity
       com/samsung/telephony/phone/telephonyui/SamsungTelephonyUIManager.java
com/samsung/telephony/phone/ecbm/SamsungEmergencyCallbackModeService.java
com/samsung/telephony/phone/mmi/SamsungMmiMessengerService.java
com/samsung/telephony/phone/telephonyui/SamsungTuiRelayReceiver.java
com/samsung/telephony/phone/activities/SamsungTuiRelayActivity.java
com/samsung/telephony/phone/mmi/ussd/SamsungUssdAction.java
Starting service
       com/samsung/telephony/model/provider/video/provider/SamsungBaseVideoProvider.java
com/samsung/telephony/model/provider/video/SamsungVideoProviderManager.java
com/samsung/telephony/phone/SamsungPhoneGlobals.java
com/samsung/telephony/phone/mmi/SamsungMmiMessengerService.java
com/samsung/telephony/model/provider/video/cs/SamsungCSVideoProvider.java
com/samsung/telephony/phone/mmi/SamsungMmiDialogActivity.java
com/samsung/telephony/phone/ecbm/SamsungEmergencyCallbackModeExitDialog.java

Control flow graphs analysis

Information computed by Pithus.

The application probably lists running applications

The application probably gets the IMEI of the phone

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

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