0/61

Threat

com.readdle.spark

Spark

Analyzed on 2022-02-17T19:23:48.821557

18

permissions

25

activities

18

services

15

receivers

33

domains

File sums

MD5 a1bf7e7812f79fbeed0ca952c5227f65
SHA1 ad31b2b68ea3a38e88ebb8d1b031ea28b722b935
SHA256 dc48ff7c0e18103e451ecb6b8ae0cc330b1c59169c526786fd179e1b68413ec6
Size 16.4MB

APKiD

Information computed with APKiD.

/tmp/tmpb2qmredu!classes.dex
anti_vm
  • Build.FINGERPRINT check
  • Build.MODEL check
  • Build.MANUFACTURER check
  • Build.PRODUCT check
  • possible Build.SERIAL check
  • Build.TAGS check
  • network operator name check
  • device ID check
compiler
  • r8
/tmp/tmpb2qmredu!classes2.dex
compiler
  • r8 without marker (suspicious)

SSdeep

Information computed with ssdeep.

APK file 393216:0HJRhIDdbTQIIwuL2dl44JD+aRs8RKPZQAlbs9nQrlYQSNC/XPOGr:O5IbkIIwjd1ZbpIqebGnwlYQSNO/OGr
Manifest 768:XxzgM46AnfRxcKE6X5I8FSbqUQtcgTmRH8ety/GAmgEmJpcQ1WRG6CMKfsl+Ttrr:…
classes.dex 98304:H4TWvlMjZG23OFM4mrFjTkIwGEMsmvqmN/u+xHT:xlMlG23wmB8btmiqu8T
classes2.dex 12288:9e3I/YhldjQsxXgWVtFqRbh+Imyeq1k7uyVf6bzI6Vkn7t67JQRBy6TJWmISkLe…

Dexofuzzy

Information computed with Dexofuzzy.

APK file 12288:/eVXZshrQkw/Ar97DHnpHuGxmO4Y0cuNi4XNKfQ:XkmDHptxmDcPfo
classes.dex 12288:/eVXZshrQkw/Ar97DHnpHuGxmO4Y0cuNi4XNK5:XkmDHptxmDcPf5
classes2.dex 384:9GfKhKkkBohoiuwRbFZR/DQcg8WPMHmFWmZAwzZehi1rLgKN6YyxIO5LpjZuWGl:9…

APK details

Information computed with AndroGuard and Pithus.

Package com.readdle.spark
App name Spark
Version name 2.11.4
Version code 21104443
SDK 24 - 30
UAID d740bb686af84b70182beccf2c6e6f8637fbb6d1
Signature Signature V2 Signature V3
Frosting Frosted
Blocks found within V2 signature:
  • 0x7109871a: Unknown
  • 0xf05368c0: Unknown
  • 0x6dff800d: Source stamp V2 X509 cert
  • 0x2146444e: Google metadata
  • 0x42726577: Verity padding

Certificate details

Information computed with AndroGuard.

MD5 ea7e0291fe65cf051958c09b0f4b3e00
SHA1 3b126d7e83de3ad819d29dd36f80fc9291c6350f
SHA256 47115d1120545cf1e456e4cff5d9d40009f26d9cfaf506cd59fdecca677e61da
Issuer Common Name: Spark Android Team, Organizational Unit: Readdle Android Team, Organization: Readdle Inc, Locality: Unknown, State/Province: Unknown, Country: Unknown
Not before 2018-06-12T14:53:10+00:00
Not after 2045-10-28T14:53:10+00:00

File Analysis

Information computed with MobSF.

Findings Files
Certificate/Key files hardcoded inside the app. assets/cacert.pem
Findings Files
Hardcoded Keystore found. assets/grs_sp.bks
assets/hmsincas.bks
assets/hmsrootcas.bks
assets/updatesdkcas.bks

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 Activity (com.readdle.spark.ui.launch.LaunchActivityNewDocument) 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.readdle.spark.ui.settings.SettingsActivity) 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 (net.openid.appauth.RedirectUriReceiverActivity) 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.readdle.spark.ui.widget.messageslist.AndroidWidgetMessagesListConfigurationActivity) 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.readdle.spark.appstore.googleplay.SparkFirebaseMessagingService) is not Protected. [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.
Low Activity (com.readdle.spark.ui.settings.ExportLogsActivity) is Protected by a permission.
Permission: com.readdle.spark.permission.EXPORT_LOGS
protectionLevel: signature[android:exported=true]
An Activity is found to be exported, but is protected by permission.
High Service (com.google.android.gms.auth.api.signin.RevocationBoundService) is Protected by a permission, but the protection level of the permission should be checked.
Permission: com.google.android.gms.auth.api.signin.permission.REVOCATION_NOTIFICATION [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.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.
Low Broadcast Receiver (com.huawei.hms.support.api.push.PushMsgReceiver) is Protected by a permission, but the protection level of the permission should be checked.
Permission: com.readdle.spark.permission.PROCESS_PUSH_MSG
protectionLevel: signatureOrSystem [android:exported=true]
A Broadcast Receiver 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 Broadcast Receiver (com.huawei.hms.support.api.push.PushReceiver) is Protected by a permission, but the protection level of the permission should be checked.
Permission: com.readdle.spark.permission.PROCESS_PUSH_MSG
protectionLevel: signatureOrSystem [android:exported=true]
A Broadcast Receiver 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 Service (com.huawei.hms.support.api.push.service.HmsMsgService) is not Protected. [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.
Low Content Provider (com.huawei.hms.support.api.push.PushProvider) is Protected by a permission, but the protection level of the permission should be checked.
Permission: com.readdle.spark.permission.PUSH_PROVIDER
protectionLevel: signatureOrSystem [android:exported=true]
A Content Provider 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 Service (androidx.work.impl.background.systemjob.SystemJobService) is Protected by a permission, but the protection level of the permission should be checked.
Permission: android.permission.BIND_JOB_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 (androidx.work.impl.diagnostics.DiagnosticsReceiver) is Protected by a permission, but the protection level of the permission should be checked.
Permission: android.permission.DUMP [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 Service (com.google.android.play.core.assetpacks.AssetPackExtractionService) is not Protected. [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.

Browsable activities

Information computed with MobSF.

com.readdle.spark.ui.launch.LaunchActivityNewDocument

Hosts: app.smartmailcloud.com

Schemes: readdle-spark:// readdlespark:// spark-mail-url:// https:// mailto://

Mime types: */*

net.openid.appauth.RedirectUriReceiverActivity

Schemes: com.googleusercontent.apps.681834923750-3p9205dgnfbq0s196910u38tmn61ehc2:// msauth.com.readdle.smartmail-dev:// msauth.com.readdle.smartmail://

Main Activity

Information computed with AndroGuard.

com.readdle.spark.ui.MainActivity

Activities

Information computed with AndroGuard.

com.readdle.spark.ui.launch.LaunchActivity
com.readdle.spark.ui.launch.LaunchActivityNewDocument
com.readdle.spark.ui.auth.OAuthBrowserActivity
com.readdle.spark.ui.MainActivity
com.readdle.spark.ui.auth.ConnectToServiceActivity
com.readdle.spark.ui.auth.ConnectToServiceTypeActivity
com.readdle.spark.ui.settings.SettingsActivity
com.readdle.spark.ui.composer.ComposerActivity
net.openid.appauth.RedirectUriReceiverActivity
com.readdle.spark.ui.threadviewer.ThreadViewerActivity
com.readdle.spark.ui.messagelist.search.SearchActivity
com.readdle.spark.ui.settings.InAppWebActivity
com.readdle.spark.ui.auth.MailAccountAuthActivity
com.readdle.spark.ui.widget.messageslist.AndroidWidgetMessagesListConfigurationActivity
com.readdle.spark.ui.auth.ChooseEmailProviderActivity
com.readdle.spark.ui.settings.ExportLogsActivity
net.openid.appauth.AuthorizationManagementActivity
com.google.android.gms.auth.api.signin.internal.SignInHubActivity
com.google.android.gms.common.api.GoogleApiActivity
com.google.android.play.core.missingsplits.PlayCoreMissingSplitsActivity
com.google.android.play.core.common.PlayCoreDialogWrapperActivity
com.huawei.hms.activity.BridgeActivity
com.huawei.hms.activity.EnableServiceActivity
com.huawei.updatesdk.service.otaupdate.AppUpdateActivity
com.huawei.updatesdk.support.pm.PackageInstallerActivity

Receivers

Information computed with AndroGuard.

com.readdle.spark.ui.widget.messageslist.AndroidWidgetMessagesListProvider
com.readdle.spark.ui.widget.inboxsummary.AndroidWidgetInboxSummaryProvider
com.google.firebase.iid.FirebaseInstanceIdReceiver
com.google.android.gms.measurement.AppMeasurementReceiver
com.google.android.datatransport.runtime.scheduling.jobscheduling.AlarmManagerSchedulerBroadcastReceiver
com.huawei.hms.support.api.push.PushMsgReceiver
com.huawei.hms.support.api.push.PushReceiver
androidx.work.impl.utils.ForceStopRunnable$BroadcastReceiver
androidx.work.impl.background.systemalarm.ConstraintProxy$BatteryChargingProxy
androidx.work.impl.background.systemalarm.ConstraintProxy$BatteryNotLowProxy
androidx.work.impl.background.systemalarm.ConstraintProxy$StorageNotLowProxy
androidx.work.impl.background.systemalarm.ConstraintProxy$NetworkStateProxy
androidx.work.impl.background.systemalarm.RescheduleReceiver
androidx.work.impl.background.systemalarm.ConstraintProxyUpdateReceiver
androidx.work.impl.diagnostics.DiagnosticsReceiver

Services

Information computed with AndroGuard.

com.readdle.spark.appstore.googleplay.SparkFirebaseMessagingService
com.readdle.spark.appstore.huawei.SparkHmsMessageService
com.readdle.spark.notification.NotificationActionService
com.readdle.spark.ui.widget.messageslist.AndroidWidgetMessagesListRemoteViewService
com.google.android.gms.auth.api.signin.RevocationBoundService
com.google.firebase.messaging.FirebaseMessagingService
com.google.firebase.components.ComponentDiscoveryService
com.google.android.gms.measurement.AppMeasurementService
com.google.android.gms.measurement.AppMeasurementJobService
com.google.android.datatransport.runtime.backends.TransportBackendDiscovery
com.google.android.datatransport.runtime.scheduling.jobscheduling.JobInfoSchedulerService
com.huawei.hms.support.api.push.service.HmsMsgService
androidx.work.impl.background.systemalarm.SystemAlarmService
androidx.work.impl.background.systemjob.SystemJobService
androidx.work.impl.foreground.SystemForegroundService
androidx.room.MultiInstanceInvalidationService
com.google.android.play.core.assetpacks.AssetPackExtractionService
com.huawei.agconnect.core.ServiceDiscovery

Sample timeline

Oldest file found in APK Jan. 1, 1981, 1:01 a.m.
Latest file found in APK Jan. 1, 1981, 1:01 a.m.
Certificate valid not before June 12, 2018, 2:53 p.m.
First submission on VT Feb. 2, 2022, 11:27 a.m.
Last submission on VT Feb. 2, 2022, 11:27 a.m.
Upload on Pithus Feb. 17, 2022, 7:23 p.m.
Certificate valid not after Oct. 28, 2045, 2:53 p.m.

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 ['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 leverage platform-provided 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 not in accordance with FCS_CKM.1.1(1) using key generation algorithm RSA schemes and cryptographic key sizes of 1024-bit or lower.
Cryptographic Asymmetric Key Generation
FCS_CKM.1.1(3)
FCS_CKM.1.2(3)
A password/passphrase shall perform [Password-based Key Derivation Functions] in accordance with a specified cryptographic algorithm..
Password Conditioning
FCS_COP.1.1(1) The application perform encryption/decryption not in accordance with FCS_COP.1.1(1), AES-ECB mode is being used.
Cryptographic Operation - Encryption/Decryption
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_COP.1.1(3) The application perform cryptographic signature services (generation and verification) in accordance with a specified cryptographic algorithm RSA schemes using cryptographic key sizes of 2048-bit or greater.
Cryptographic Operation - Signing
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: ['RFC 5280 certificate validation and certificate path validation', '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
FIA_X509_EXT.2.2 When the application cannot establish a connection to determine the validity of a certificate, the application allow the administrator to choose whether to accept the certificate in these cases or accept the certificate ,or not accept the certificate.
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
FCS_CKM.1.1(2) The application shall generate symmetric cryptographic keys using a Random Bit Generator as specified in FCS_RBG_EXT.1 and specified cryptographic key sizes 128 bit or 256 bit.
Cryptographic Symmetric Key Generation

Code analysis

Information computed with MobSF.

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/readdle/spark/auth/yahoo/YahooModule.java
com/readdle/spark/auth/hotmail/HotmailModule.java
e/e/c/b/a/a/e$b/c.java
e/e/d/a/a/b/e.java
com/readdle/spark/auth/office365/Office365Module.java
com/huawei/updatesdk/a/a/a/e.java
com/huawei/hms/update/b/e.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:
 e/a/a/e/i/a.java
com/huawei/hms/support/common/ActivityMgr.java
e/a/a/l/n2/d.java
com/huawei/hms/support/api/PendingResultImpl.java
e/a/a/l/n0.java
com/huawei/hms/utils/AnalyticsSwitchHolder.java
com/huawei/hms/utils/SHA256.java
com/huawei/hms/support/api/push/pushselfshow/entity/PushSelfShowMessage.java
com/readdle/spark/core/RSMMessagesListActionsController.java
com/readdle/spark/auth/DNSDiscoveryManager.java
com/huawei/hms/update/ui/k.java
com/readdle/spark/app/SparkApp.java
com/huawei/updatesdk/service/otaupdate/AppUpdateActivity.java
com/huawei/hms/push/RemoteMessage.java
com/bumptech/glide/Glide.java
com/huawei/hms/activity/internal/ForegroundInnerHeader.java
com/readdle/spark/notification/SparkNotificationManager.java
com/amplitude/api/AmplitudeClient.java
com/bumptech/glide/load/model/StreamEncoder.java
com/huawei/hms/base/ui/a.java
com/huawei/hms/common/util/Base64Utils.java
org/xbill/DNS/Lookup.java
com/huawei/hms/update/ui/g.java
com/huawei/hms/common/internal/HuaweiApiManager.java
d0/b/b/b/b.java
com/bumptech/glide/load/engine/GlideException.java
com/huawei/hms/support/api/push/utils/CommFun.java
com/huawei/hms/push/HmsMessageService.java
com/huawei/hms/api/HuaweiApiClient.java
com/huawei/hms/support/api/push/pushselfshow/SelfShow.java
com/huawei/hms/support/api/push/pushselfshow/prepare/NotificationIconUtil.java
com/huawei/hms/activity/BridgeActivity.java
com/huawei/hms/utils/Util.java
com/bumptech/glide/load/resource/bitmap/Downsampler.java
com/bumptech/glide/load/resource/ImageDecoderResourceDecoder.java
com/huawei/hms/update/b/b.java
com/amplitude/api/DeviceInfo.java
com/amplitude/api/AmplitudeCallbacks.java
com/bumptech/glide/load/model/ByteBufferEncoder.java
com/bumptech/glide/load/resource/bitmap/TransformationUtils.java
com/bumptech/glide/manager/RequestManagerRetriever.java
com/huawei/updatesdk/a/b/d/b.java
com/bumptech/glide/manager/RequestManagerFragment.java
e/a/a/l/k2/h.java
com/huawei/hms/common/HuaweiApi.java
com/huawei/hms/framework/common/SecurityBase64Utils.java
com/huawei/hms/support/api/push/pushselfshow/utils/CommFun.java
com/huawei/hms/framework/common/Logger.java
com/bumptech/glide/load/data/LocalUriFetcher.java
com/bumptech/glide/load/engine/cache/MemorySizeCalculator.java
com/huawei/hms/aaid/InitProvider.java
com/bumptech/glide/request/SingleRequest.java
com/huawei/hms/api/IPCTransport.java
com/bumptech/glide/manager/SupportRequestManagerFragment.java
com/huawei/hms/support/api/push/PushReceiver.java
com/huawei/hms/utils/UIUtil.java
e/a/a/d/o0.java
com/bumptech/glide/load/engine/SourceGenerator.java
com/huawei/updatesdk/service/otaupdate/h.java
com/huawei/hms/support/api/push/base/RemoteService.java
e/e/c/d/b/a.java
com/bumptech/glide/load/engine/Engine.java
e/a/a/e/h/h.java
com/huawei/hms/utils/IOUtils.java
com/huawei/hms/support/api/client/ResolvingResultCallbacks.java
e/e/c/c/e.java
e/e/d/a/a/c/a.java
com/huawei/hms/adapter/AvailableAdapter.java
com/huawei/hms/utils/a/a.java
com/huawei/updatesdk/service/otaupdate/c.java
com/huawei/hms/utils/FileUtil.java
com/amplitude/api/DatabaseHelper.java
com/huawei/hms/support/api/push/PushMsgReceiver.java
e/e/a/a/c/g.java
com/huawei/updatesdk/a/b/d/c/b.java
com/huawei/hms/update/ui/l.java
com/huawei/hms/support/hianalytics/HiAnalyticsUtil.java
com/huawei/hms/update/ui/f.java
com/bumptech/glide/load/model/ResourceLoader.java
com/huawei/hms/ui/AbstractDialog.java
com/bumptech/glide/util/pool/FactoryPools.java
com/huawei/hms/support/api/ErrorResultImpl.java
com/bumptech/glide/request/target/ViewTarget.java
e/e/c/c/f.java
com/amplitude/api/Utils.java
com/caverock/androidsvg/SVG.java
com/bumptech/glide/load/data/AssetPathFetcher.java
e/c/a/a/a.java
com/huawei/hms/support/hianalytics/HiAnalyticsUtils.java
com/huawei/hms/utils/HMSBIInitializer.java
com/huawei/hms/common/internal/RequestHeader.java
com/readdle/spark/ui/LockableNestedScrollView.java
com/huawei/hms/android/SystemUtils.java
com/huawei/hms/common/internal/DialogRedirect.java
e/e/c/c/a.java
com/huawei/hms/common/internal/ConnectionErrorMessages.java
com/huawei/hms/framework/common/StringUtils.java
com/huawei/hms/support/api/core/ConnectService.java
e/e/c/a/a.java
com/huawei/hms/activity/ForegroundBusDelegate.java
com/bumptech/glide/load/model/FileLoader.java
com/huawei/hms/support/api/push/PushProvider.java
com/bumptech/glide/load/engine/DecodeJob.java
com/bumptech/glide/load/resource/gif/StreamGifDecoder.java
e/a/a/l/k2/c.java
com/bumptech/glide/load/resource/gif/GifDrawableEncoder.java
com/huawei/hms/update/ui/h.java
e/f/a/s/a.java
com/bumptech/glide/load/resource/bitmap/CenterInside.java
com/huawei/hms/update/manager/UpdateManager.java
com/huawei/hms/update/a/b.java
com/huawei/hms/support/api/push/pushselfshow/prepare/PushSelfShowThread.java
com/huawei/hms/support/api/push/pushselfshow/utils/ResourceLoader.java
com/huawei/hms/support/api/push/pushselfshow/click/SelfShowType.java
com/bumptech/glide/load/data/mediastore/ThumbFetcher.java
com/huawei/updatesdk/UpdateSdkAPI.java
com/huawei/hms/utils/HMSPackageManager.java
com/huawei/hms/utils/JsonUtil.java
com/huawei/hms/update/manager/PackageNameManager.java
com/huawei/updatesdk/a/a/c/h/b.java
com/huawei/hms/common/internal/BaseHmsClient.java
com/bumptech/glide/load/resource/bitmap/HardwareConfigState.java
com/readdle/spark/ui/threadviewer/holders/EmailViewHolder.java
com/bumptech/glide/load/model/ByteBufferFileLoader.java
e/d/a/e.java
com/huawei/hms/update/a/d.java
com/bumptech/glide/load/resource/gif/ByteBufferGifDecoder.java
com/bumptech/glide/RequestManager.java
com/bumptech/glide/manager/DefaultConnectivityMonitor.java
e/e/a/a/c/e.java
e/e/a/a/c/b.java
com/huawei/hms/support/api/opendevice/HuaweiOpendeviceApiImpl.java
com/huawei/hms/utils/PackageManagerHelper.java
com/readdle/spark/ui/composer/AttachmentService.java
com/huawei/hms/common/data/DataHolder.java
com/bumptech/glide/RequestBuilder.java
com/amplitude/api/Identify.java
com/huawei/hms/adapter/BinderAdapter.java
com/huawei/hms/update/b/e.java
com/bumptech/glide/load/engine/bitmap_recycle/LruArrayPool.java
e/a/a/l/c1.java
e/e/a/b/c/a.java
com/huawei/hms/update/ui/a.java
com/caverock/androidsvg/SVGParser.java
com/huawei/agconnect/core/provider/AGConnectInitializeProvider.java
e/e/d/a/a/b/f/c.java
com/huawei/hms/support/api/push/pushselfshow/prepare/PushNotification.java
com/huawei/hms/update/b/f.java
com/huawei/updatesdk/a/b/c/b.java
com/bumptech/glide/load/resource/bitmap/DrawableToBitmapConverter.java
org/xbill/DNS/SimpleResolver.java
com/bumptech/glide/load/engine/cache/DiskLruCacheWrapper.java
com/readdle/spark/ui/settings/SettingsActivity.java
com/huawei/updatesdk/service/otaupdate/g.java
com/huawei/updatesdk/a/a/a/e.java
org/xbill/DNS/ExtendedResolver.java
com/huawei/hms/update/ui/c.java
com/bumptech/glide/load/resource/bitmap/VideoDecoder.java
com/bumptech/glide/load/data/HttpUrlFetcher.java
com/caverock/androidsvg/CSSParser.java
com/huawei/hms/adapter/ui/BaseResolutionAdapter.java
e/a/a/l/m2/c.java
com/huawei/hms/api/HuaweiMobileServicesUtil.java
com/bumptech/glide/request/target/CustomViewTarget.java
com/huawei/hms/common/api/AvailabilityException.java
com/bumptech/glide/load/engine/DecodePath.java
com/bumptech/glide/gifdecoder/GifHeaderParser.java
com/huawei/hms/update/ui/b.java
com/huawei/hms/api/ResolutionDelegate.java
com/huawei/updatesdk/service/otaupdate/e.java
com/huawei/hms/common/util/AGCUtils.java
e/e/d/a/a/b/g/a.java
com/caverock/androidsvg/SVGImageView.java
com/huawei/hms/common/internal/HmsClient.java
e/a/a/l/g0.java
e/a/a/a/b/g6.java
net/openid/appauth/internal/Logger.java
com/huawei/hms/support/api/push/service/HmsMsgService.java
com/readdle/spark/core/RSMUserNotificationKeys.java
com/huawei/hms/support/api/client/ResultCallbacks.java
com/huawei/hms/adapter/ui/UpdateAdapter.java
com/huawei/hms/support/log/HMSDebugger.java
com/huawei/hms/adapter/BaseAdapter.java
com/bumptech/glide/GeneratedAppGlideModuleImpl.java
com/bumptech/glide/load/engine/executor/GlideExecutor.java
com/huawei/hms/common/internal/ResponseHeader.java
com/bumptech/glide/load/resource/bitmap/DefaultImageHeaderParser.java
com/huawei/hms/api/b.java
com/huawei/hms/core/aidl/e.java
com/huawei/updatesdk/b/f/b.java
com/readdle/spark/ui/threadviewer/nodes/MessageHistoryNode.java
com/bumptech/glide/gifdecoder/StandardGifDecoder.java
e/e/c/c/c.java
e/a/a/d/j.java
com/huawei/hms/api/BindingFailedResolution.java
com/bumptech/glide/load/engine/bitmap_recycle/LruBitmapPool.java
com/huawei/hms/android/HwBuildEx.java
com/huawei/hianalytics/ab/bc/ef/bc.java
com/huawei/hms/api/HuaweiApiClientImpl.java
com/huawei/hms/api/IPCCallback.java
com/huawei/secure/android/common/webview/SafeWebView.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:
 e/a/a/l/m2/c.java
com/readdle/spark/core/data/parser/RSMMessageInvitationCard.java
e/a/a/d/j.java
com/huawei/hms/support/api/push/PushReceiver.java
e/a/a/l/f1.java
e/f/a/n/c.java
com/readdle/spark/utils/keystore/SparkKeyStoreV2.java
e/a/a/l/j2/c.java
com/readdle/spark/core/RSMUserNotificationResponse.java
com/huawei/hms/support/hianalytics/HiAnalyticsConstant.java
com/huawei/hms/support/api/push/pushselfshow/utils/PushSelfShowConstant.java
com/huawei/hms/framework/common/hianalytics/HianalyticsBaseData.java
com/huawei/hms/support/api/push/utils/common/base/PushConst.java
com/bumptech/glide/load/engine/EngineResource.java
High
CVSS:7.4
The App uses the encryption mode CBC with PKCS5/PKCS7 padding. This configuration is vulnerable to padding oracle attacks.
MASVS: MSTG-CRYPTO-3
CWE-649 Reliance on Obfuscation or Encryption of Security-Relevant Inputs without Integrity Checking
M5: Insufficient Cryptography
Files:
 com/readdle/spark/ui/launch/LaunchActivity.java
e/e/d/a/a/a/a/a.java
e/e/a/a/c/g.java
Medium
CVSS:8.8
Insecure WebView Implementation. Execution of user controlled code in WebView is a critical Security Hole.
MASVS: MSTG-PLATFORM-7
CWE-749 Exposed Dangerous Method or Function
M1: Improper Platform Usage
Files:
 com/readdle/spark/ui/threadviewer/nodes/MessageHtmlNode.java
com/readdle/spark/richeditor/QuillComposer.java
com/readdle/spark/ui/settings/widget/HtmlEditorWebView.java
com/readdle/spark/ui/common/HtmlPreviewWebView.java
Low
CVSS:0
This App copies data to clipboard. Sensitive data should not be copied to clipboard as other applications can access it.
MASVS: MSTG-STORAGE-10
Files:
 com/readdle/spark/ui/threadviewer/dialogs/ContactActionsDialog.java
e/a/a/l/b2.java
com/readdle/spark/ui/threadviewer/ThreadViewerFragment.java
com/amplitude/eventexplorer/EventExplorerInfoActivity.java
e/a/a/l/v0.java
e/a/a/a/b/a/j.java
com/readdle/spark/ui/threadviewer/nodes/MessageTextNode.java
Medium
CVSS:4.3
IP Address disclosure
MASVS: MSTG-CODE-2
CWE-200 Information Exposure
Files:
 com/huawei/hms/support/hianalytics/HiAnalyticsBase.java
e/a/a/d/j.java
com/huawei/hianalytics/ab/bc/de/cd.java
com/readdle/spark/auth/ServerPushReachabilityChecker.java
com/huawei/hms/support/api/PendingResultImpl.java
e/a/a/l/k2/f.java
e/e/d/a/a/b/g/a.java
e/a/a/l/k2/g.java
com/huawei/hianalytics/ab/ef/cd.java
com/huawei/hms/support/hianalytics/HiAnalyticsUtil.java
com/readdle/spark/auth/DNSDiscoveryManager.java
com/huawei/hianalytics/ab/bc/ef/bc.java
com/huawei/hms/api/HuaweiApiClientImpl.java
com/huawei/hms/framework/common/BuildConfig.java
com/huawei/hms/common/PackageConstants.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:
 e/e/d/a/a/a/b/a.java
com/huawei/hianalytics/ab/bc/ab/bc.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:
 org/xbill/DNS/Header.java
com/readdle/spark/ui/messagelist/smartinbox/rta/NativeRateThisAppModel.java
e/f/a/p/h.java
com/readdle/spark/ui/common/image/AttachmentDialogViewModel.java
com/q42/android/scrollingimageview/ScrollingImageView.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/amplitude/api/DatabaseHelper.java
e/f/a/s/j/a.java
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/huawei/hms/update/a/d.java
Low
CVSS:3.9
App can write to App Directory. Sensitive Information should be encrypted.
MASVS: MSTG-STORAGE-14
CWE-276 Incorrect Default Permissions
Files:
 com/readdle/spark/utils/statistics/utils/StatististicsPref.java
Pygal Germany: 300 United Kingdom: 100 Ireland: 200 Netherlands: 300 United States: 2300

Map computed by Pithus.

Domains analysis

Information computed with MobSF.

US app.smartmailcloud.com 130.211.33.145
JP www.yahoo-help.jp 182.22.25.252
US in.appcenter.ms 40.70.161.7
US www.ccil.org 142.250.181.243
US github.com 140.82.121.3
US outlook.office.com 52.98.214.66
US linear-listener-495.firebaseio.com 35.201.97.85
US mobile.events.data.microsoft.com 13.89.179.8
NL smtp-mail.outlook.com 52.97.144.182
US apis.live.net 13.104.158.183
DE appgallery.cloud.huawei.com 80.158.19.46
US www.w3.org 128.30.52.100
US www.example.com 93.184.216.34
US sparkmailapp.com 76.223.92.135
US xml.org 104.239.240.11
US mail.google.com 142.250.185.101
US api2.amplitude.com 35.164.185.215
DE store.hispace.hicloud.com 160.44.202.202
NL login.microsoftonline.com 20.190.160.2
NL login.live.com 20.190.160.2
US imap.gmail.com 108.177.15.108
IE api.login.yahoo.com 212.82.100.140
US play.google.com 142.250.185.110
US support.readdle.com 13.248.203.135
US imap-mail.outlook.com 52.98.223.162
US accounts.google.com 142.250.185.205
IE social.yahooapis.com 87.248.119.252
US appleid.apple.com 17.157.64.68
DE store-at-dre.hispace.dbankcloud.com 80.158.5.6
US xmlpull.org 74.50.61.58
US smtp.gmail.com 172.253.120.109
US www.googleapis.com 142.250.184.202
GB clearbit.com 18.169.101.100

URL analysis

Information computed with MobSF.

https://github.com/ReactiveX/RxJava/wiki/What's-different-in-2.0#error-handling
Defined in io/reactivex/exceptions/UndeliverableException.java
https://github.com/ReactiveX/RxJava/wiki/Error-Handling
Defined in io/reactivex/exceptions/OnErrorNotImplementedException.java
https://mobile.events.data.microsoft.com/OneCollector/1.0
Defined in e/f/a/q/c.java
https://in.appcenter.ms
Defined in e/f/a/q/a.java
https://app.smartmailcloud.com
https://img(?:-beta)?
Defined in e/a/a/d/j.java
https://app.smartmailcloud.com
Defined in e/a/a/l/v0.java
https://sparkmailapp.com/privacy?hide_menus
https://sparkmailapp.com/de/privacy?hide_menus
https://sparkmailapp.com/es/privacy?hide_menus
https://sparkmailapp.com/fr/privacy?hide_menus
https://sparkmailapp.com/it/privacy?hide_menus
https://sparkmailapp.com/ja/privacy?hide_menus
https://sparkmailapp.com/pt/privacy?hide_menus
https://sparkmailapp.com/zh/privacy?hide_menus
https://sparkmailapp.com/terms?hide_menus
https://sparkmailapp.com/ja/terms?hide_menus
https://sparkmailapp.com/help/
https://support.readdle.com/spark/contact-us-page
file:///android_asset/LegalNotes-NonLocalizible.html
https://support.readdle.com/spark/spark-for-teams-and-billing/how-to-create-and-manage-a-team
https://sparkmailapp.com/shared-inboxes?utm_source=whatsnew
Defined in e/a/a/l/u.java
https://sparkmailapp.com/privacy?hide_menus
https://sparkmailapp.com/de/privacy?hide_menus
https://sparkmailapp.com/es/privacy?hide_menus
https://sparkmailapp.com/fr/privacy?hide_menus
https://sparkmailapp.com/it/privacy?hide_menus
https://sparkmailapp.com/ja/privacy?hide_menus
https://sparkmailapp.com/pt/privacy?hide_menus
https://sparkmailapp.com/zh/privacy?hide_menus
https://sparkmailapp.com/terms?hide_menus
https://sparkmailapp.com/ja/terms?hide_menus
https://sparkmailapp.com/help/
https://support.readdle.com/spark/contact-us-page
file:///android_asset/LegalNotes-NonLocalizible.html
https://support.readdle.com/spark/spark-for-teams-and-billing/how-to-create-and-manage-a-team
https://sparkmailapp.com/shared-inboxes?utm_source=whatsnew
Defined in e/a/a/l/u.java
https://sparkmailapp.com/privacy?hide_menus
https://sparkmailapp.com/de/privacy?hide_menus
https://sparkmailapp.com/es/privacy?hide_menus
https://sparkmailapp.com/fr/privacy?hide_menus
https://sparkmailapp.com/it/privacy?hide_menus
https://sparkmailapp.com/ja/privacy?hide_menus
https://sparkmailapp.com/pt/privacy?hide_menus
https://sparkmailapp.com/zh/privacy?hide_menus
https://sparkmailapp.com/terms?hide_menus
https://sparkmailapp.com/ja/terms?hide_menus
https://sparkmailapp.com/help/
https://support.readdle.com/spark/contact-us-page
file:///android_asset/LegalNotes-NonLocalizible.html
https://support.readdle.com/spark/spark-for-teams-and-billing/how-to-create-and-manage-a-team
https://sparkmailapp.com/shared-inboxes?utm_source=whatsnew
Defined in e/a/a/l/u.java
https://sparkmailapp.com/privacy?hide_menus
https://sparkmailapp.com/de/privacy?hide_menus
https://sparkmailapp.com/es/privacy?hide_menus
https://sparkmailapp.com/fr/privacy?hide_menus
https://sparkmailapp.com/it/privacy?hide_menus
https://sparkmailapp.com/ja/privacy?hide_menus
https://sparkmailapp.com/pt/privacy?hide_menus
https://sparkmailapp.com/zh/privacy?hide_menus
https://sparkmailapp.com/terms?hide_menus
https://sparkmailapp.com/ja/terms?hide_menus
https://sparkmailapp.com/help/
https://support.readdle.com/spark/contact-us-page
file:///android_asset/LegalNotes-NonLocalizible.html
https://support.readdle.com/spark/spark-for-teams-and-billing/how-to-create-and-manage-a-team
https://sparkmailapp.com/shared-inboxes?utm_source=whatsnew
Defined in e/a/a/l/u.java
https://sparkmailapp.com/privacy?hide_menus
https://sparkmailapp.com/de/privacy?hide_menus
https://sparkmailapp.com/es/privacy?hide_menus
https://sparkmailapp.com/fr/privacy?hide_menus
https://sparkmailapp.com/it/privacy?hide_menus
https://sparkmailapp.com/ja/privacy?hide_menus
https://sparkmailapp.com/pt/privacy?hide_menus
https://sparkmailapp.com/zh/privacy?hide_menus
https://sparkmailapp.com/terms?hide_menus
https://sparkmailapp.com/ja/terms?hide_menus
https://sparkmailapp.com/help/
https://support.readdle.com/spark/contact-us-page
file:///android_asset/LegalNotes-NonLocalizible.html
https://support.readdle.com/spark/spark-for-teams-and-billing/how-to-create-and-manage-a-team
https://sparkmailapp.com/shared-inboxes?utm_source=whatsnew
Defined in e/a/a/l/u.java
https://sparkmailapp.com/privacy?hide_menus
https://sparkmailapp.com/de/privacy?hide_menus
https://sparkmailapp.com/es/privacy?hide_menus
https://sparkmailapp.com/fr/privacy?hide_menus
https://sparkmailapp.com/it/privacy?hide_menus
https://sparkmailapp.com/ja/privacy?hide_menus
https://sparkmailapp.com/pt/privacy?hide_menus
https://sparkmailapp.com/zh/privacy?hide_menus
https://sparkmailapp.com/terms?hide_menus
https://sparkmailapp.com/ja/terms?hide_menus
https://sparkmailapp.com/help/
https://support.readdle.com/spark/contact-us-page
file:///android_asset/LegalNotes-NonLocalizible.html
https://support.readdle.com/spark/spark-for-teams-and-billing/how-to-create-and-manage-a-team
https://sparkmailapp.com/shared-inboxes?utm_source=whatsnew
Defined in e/a/a/l/u.java
https://sparkmailapp.com/privacy?hide_menus
https://sparkmailapp.com/de/privacy?hide_menus
https://sparkmailapp.com/es/privacy?hide_menus
https://sparkmailapp.com/fr/privacy?hide_menus
https://sparkmailapp.com/it/privacy?hide_menus
https://sparkmailapp.com/ja/privacy?hide_menus
https://sparkmailapp.com/pt/privacy?hide_menus
https://sparkmailapp.com/zh/privacy?hide_menus
https://sparkmailapp.com/terms?hide_menus
https://sparkmailapp.com/ja/terms?hide_menus
https://sparkmailapp.com/help/
https://support.readdle.com/spark/contact-us-page
file:///android_asset/LegalNotes-NonLocalizible.html
https://support.readdle.com/spark/spark-for-teams-and-billing/how-to-create-and-manage-a-team
https://sparkmailapp.com/shared-inboxes?utm_source=whatsnew
Defined in e/a/a/l/u.java
https://sparkmailapp.com/privacy?hide_menus
https://sparkmailapp.com/de/privacy?hide_menus
https://sparkmailapp.com/es/privacy?hide_menus
https://sparkmailapp.com/fr/privacy?hide_menus
https://sparkmailapp.com/it/privacy?hide_menus
https://sparkmailapp.com/ja/privacy?hide_menus
https://sparkmailapp.com/pt/privacy?hide_menus
https://sparkmailapp.com/zh/privacy?hide_menus
https://sparkmailapp.com/terms?hide_menus
https://sparkmailapp.com/ja/terms?hide_menus
https://sparkmailapp.com/help/
https://support.readdle.com/spark/contact-us-page
file:///android_asset/LegalNotes-NonLocalizible.html
https://support.readdle.com/spark/spark-for-teams-and-billing/how-to-create-and-manage-a-team
https://sparkmailapp.com/shared-inboxes?utm_source=whatsnew
Defined in e/a/a/l/u.java
https://sparkmailapp.com/privacy?hide_menus
https://sparkmailapp.com/de/privacy?hide_menus
https://sparkmailapp.com/es/privacy?hide_menus
https://sparkmailapp.com/fr/privacy?hide_menus
https://sparkmailapp.com/it/privacy?hide_menus
https://sparkmailapp.com/ja/privacy?hide_menus
https://sparkmailapp.com/pt/privacy?hide_menus
https://sparkmailapp.com/zh/privacy?hide_menus
https://sparkmailapp.com/terms?hide_menus
https://sparkmailapp.com/ja/terms?hide_menus
https://sparkmailapp.com/help/
https://support.readdle.com/spark/contact-us-page
file:///android_asset/LegalNotes-NonLocalizible.html
https://support.readdle.com/spark/spark-for-teams-and-billing/how-to-create-and-manage-a-team
https://sparkmailapp.com/shared-inboxes?utm_source=whatsnew
Defined in e/a/a/l/u.java
https://sparkmailapp.com/privacy?hide_menus
https://sparkmailapp.com/de/privacy?hide_menus
https://sparkmailapp.com/es/privacy?hide_menus
https://sparkmailapp.com/fr/privacy?hide_menus
https://sparkmailapp.com/it/privacy?hide_menus
https://sparkmailapp.com/ja/privacy?hide_menus
https://sparkmailapp.com/pt/privacy?hide_menus
https://sparkmailapp.com/zh/privacy?hide_menus
https://sparkmailapp.com/terms?hide_menus
https://sparkmailapp.com/ja/terms?hide_menus
https://sparkmailapp.com/help/
https://support.readdle.com/spark/contact-us-page
file:///android_asset/LegalNotes-NonLocalizible.html
https://support.readdle.com/spark/spark-for-teams-and-billing/how-to-create-and-manage-a-team
https://sparkmailapp.com/shared-inboxes?utm_source=whatsnew
Defined in e/a/a/l/u.java
https://sparkmailapp.com/privacy?hide_menus
https://sparkmailapp.com/de/privacy?hide_menus
https://sparkmailapp.com/es/privacy?hide_menus
https://sparkmailapp.com/fr/privacy?hide_menus
https://sparkmailapp.com/it/privacy?hide_menus
https://sparkmailapp.com/ja/privacy?hide_menus
https://sparkmailapp.com/pt/privacy?hide_menus
https://sparkmailapp.com/zh/privacy?hide_menus
https://sparkmailapp.com/terms?hide_menus
https://sparkmailapp.com/ja/terms?hide_menus
https://sparkmailapp.com/help/
https://support.readdle.com/spark/contact-us-page
file:///android_asset/LegalNotes-NonLocalizible.html
https://support.readdle.com/spark/spark-for-teams-and-billing/how-to-create-and-manage-a-team
https://sparkmailapp.com/shared-inboxes?utm_source=whatsnew
Defined in e/a/a/l/u.java
https://sparkmailapp.com/privacy?hide_menus
https://sparkmailapp.com/de/privacy?hide_menus
https://sparkmailapp.com/es/privacy?hide_menus
https://sparkmailapp.com/fr/privacy?hide_menus
https://sparkmailapp.com/it/privacy?hide_menus
https://sparkmailapp.com/ja/privacy?hide_menus
https://sparkmailapp.com/pt/privacy?hide_menus
https://sparkmailapp.com/zh/privacy?hide_menus
https://sparkmailapp.com/terms?hide_menus
https://sparkmailapp.com/ja/terms?hide_menus
https://sparkmailapp.com/help/
https://support.readdle.com/spark/contact-us-page
file:///android_asset/LegalNotes-NonLocalizible.html
https://support.readdle.com/spark/spark-for-teams-and-billing/how-to-create-and-manage-a-team
https://sparkmailapp.com/shared-inboxes?utm_source=whatsnew
Defined in e/a/a/l/u.java
https://sparkmailapp.com/privacy?hide_menus
https://sparkmailapp.com/de/privacy?hide_menus
https://sparkmailapp.com/es/privacy?hide_menus
https://sparkmailapp.com/fr/privacy?hide_menus
https://sparkmailapp.com/it/privacy?hide_menus
https://sparkmailapp.com/ja/privacy?hide_menus
https://sparkmailapp.com/pt/privacy?hide_menus
https://sparkmailapp.com/zh/privacy?hide_menus
https://sparkmailapp.com/terms?hide_menus
https://sparkmailapp.com/ja/terms?hide_menus
https://sparkmailapp.com/help/
https://support.readdle.com/spark/contact-us-page
file:///android_asset/LegalNotes-NonLocalizible.html
https://support.readdle.com/spark/spark-for-teams-and-billing/how-to-create-and-manage-a-team
https://sparkmailapp.com/shared-inboxes?utm_source=whatsnew
Defined in e/a/a/l/u.java
https://sparkmailapp.com/privacy?hide_menus
https://sparkmailapp.com/de/privacy?hide_menus
https://sparkmailapp.com/es/privacy?hide_menus
https://sparkmailapp.com/fr/privacy?hide_menus
https://sparkmailapp.com/it/privacy?hide_menus
https://sparkmailapp.com/ja/privacy?hide_menus
https://sparkmailapp.com/pt/privacy?hide_menus
https://sparkmailapp.com/zh/privacy?hide_menus
https://sparkmailapp.com/terms?hide_menus
https://sparkmailapp.com/ja/terms?hide_menus
https://sparkmailapp.com/help/
https://support.readdle.com/spark/contact-us-page
file:///android_asset/LegalNotes-NonLocalizible.html
https://support.readdle.com/spark/spark-for-teams-and-billing/how-to-create-and-manage-a-team
https://sparkmailapp.com/shared-inboxes?utm_source=whatsnew
Defined in e/a/a/l/u.java
https://sparkmailapp.com/help/192-cannot-connect-to-an-icloud-account.html
https://spark
https://sparkmailapp.com/connection-help?domain=
Defined in e/a/a/a/m0/g0.java
https://sparkmailapp.com/help/192-cannot-connect-to-an-icloud-account.html
https://spark
https://sparkmailapp.com/connection-help?domain=
Defined in e/a/a/a/m0/g0.java
http://play.google.com/store/apps/details?id=
Defined in e/a/a/a/d/a/a/a0.java
https://support.readdle.com/spark/en_US/spark-for-teams-and-billing/shared-inboxes
Defined in e/a/a/a/f/a/d0.java
https://clearbit.com
Defined in e/a/a/a/a/b.java
https://accounts.google.com/o/oauth2/v2/auth
https://www.googleapis.com/oauth2/v4/token
https://mail.google.com/
https://www.googleapis.com/auth/userinfo.email
https://www.googleapis.com/auth/userinfo.profile
https://www.googleapis.com/auth/calendar
https://login.live.com/oauth20_authorize.srf
https://login.live.com/oauth20_token.srf
https://login.microsoftonline.com/common/oauth2/v2.0/authorize
https://login.microsoftonline.com/common/oauth2/v2.0/token
https://outlook.office.com/EWS.AccessAsUser.All
https://outlook.office.com/Calendars.ReadWrite
https://api.login.yahoo.com/oauth2/request_auth
https://api.login.yahoo.com/oauth2/get_token
Defined in com/readdle/spark/auth/OAuthModule.java
https://accounts.google.com/o/oauth2/v2/auth
https://www.googleapis.com/oauth2/v4/token
https://mail.google.com/
https://www.googleapis.com/auth/userinfo.email
https://www.googleapis.com/auth/userinfo.profile
https://www.googleapis.com/auth/calendar
https://login.live.com/oauth20_authorize.srf
https://login.live.com/oauth20_token.srf
https://login.microsoftonline.com/common/oauth2/v2.0/authorize
https://login.microsoftonline.com/common/oauth2/v2.0/token
https://outlook.office.com/EWS.AccessAsUser.All
https://outlook.office.com/Calendars.ReadWrite
https://api.login.yahoo.com/oauth2/request_auth
https://api.login.yahoo.com/oauth2/get_token
Defined in com/readdle/spark/auth/OAuthModule.java
https://accounts.google.com/o/oauth2/v2/auth
https://www.googleapis.com/oauth2/v4/token
https://mail.google.com/
https://www.googleapis.com/auth/userinfo.email
https://www.googleapis.com/auth/userinfo.profile
https://www.googleapis.com/auth/calendar
https://login.live.com/oauth20_authorize.srf
https://login.live.com/oauth20_token.srf
https://login.microsoftonline.com/common/oauth2/v2.0/authorize
https://login.microsoftonline.com/common/oauth2/v2.0/token
https://outlook.office.com/EWS.AccessAsUser.All
https://outlook.office.com/Calendars.ReadWrite
https://api.login.yahoo.com/oauth2/request_auth
https://api.login.yahoo.com/oauth2/get_token
Defined in com/readdle/spark/auth/OAuthModule.java
https://accounts.google.com/o/oauth2/v2/auth
https://www.googleapis.com/oauth2/v4/token
https://mail.google.com/
https://www.googleapis.com/auth/userinfo.email
https://www.googleapis.com/auth/userinfo.profile
https://www.googleapis.com/auth/calendar
https://login.live.com/oauth20_authorize.srf
https://login.live.com/oauth20_token.srf
https://login.microsoftonline.com/common/oauth2/v2.0/authorize
https://login.microsoftonline.com/common/oauth2/v2.0/token
https://outlook.office.com/EWS.AccessAsUser.All
https://outlook.office.com/Calendars.ReadWrite
https://api.login.yahoo.com/oauth2/request_auth
https://api.login.yahoo.com/oauth2/get_token
Defined in com/readdle/spark/auth/OAuthModule.java
https://accounts.google.com/o/oauth2/v2/auth
https://www.googleapis.com/oauth2/v4/token
https://mail.google.com/
https://www.googleapis.com/auth/userinfo.email
https://www.googleapis.com/auth/userinfo.profile
https://www.googleapis.com/auth/calendar
https://login.live.com/oauth20_authorize.srf
https://login.live.com/oauth20_token.srf
https://login.microsoftonline.com/common/oauth2/v2.0/authorize
https://login.microsoftonline.com/common/oauth2/v2.0/token
https://outlook.office.com/EWS.AccessAsUser.All
https://outlook.office.com/Calendars.ReadWrite
https://api.login.yahoo.com/oauth2/request_auth
https://api.login.yahoo.com/oauth2/get_token
Defined in com/readdle/spark/auth/OAuthModule.java
https://accounts.google.com/o/oauth2/v2/auth
https://www.googleapis.com/oauth2/v4/token
https://mail.google.com/
https://www.googleapis.com/auth/userinfo.email
https://www.googleapis.com/auth/userinfo.profile
https://www.googleapis.com/auth/calendar
https://login.live.com/oauth20_authorize.srf
https://login.live.com/oauth20_token.srf
https://login.microsoftonline.com/common/oauth2/v2.0/authorize
https://login.microsoftonline.com/common/oauth2/v2.0/token
https://outlook.office.com/EWS.AccessAsUser.All
https://outlook.office.com/Calendars.ReadWrite
https://api.login.yahoo.com/oauth2/request_auth
https://api.login.yahoo.com/oauth2/get_token
Defined in com/readdle/spark/auth/OAuthModule.java
https://accounts.google.com/o/oauth2/v2/auth
https://www.googleapis.com/oauth2/v4/token
https://mail.google.com/
https://www.googleapis.com/auth/userinfo.email
https://www.googleapis.com/auth/userinfo.profile
https://www.googleapis.com/auth/calendar
https://login.live.com/oauth20_authorize.srf
https://login.live.com/oauth20_token.srf
https://login.microsoftonline.com/common/oauth2/v2.0/authorize
https://login.microsoftonline.com/common/oauth2/v2.0/token
https://outlook.office.com/EWS.AccessAsUser.All
https://outlook.office.com/Calendars.ReadWrite
https://api.login.yahoo.com/oauth2/request_auth
https://api.login.yahoo.com/oauth2/get_token
Defined in com/readdle/spark/auth/OAuthModule.java
https://accounts.google.com/o/oauth2/v2/auth
https://www.googleapis.com/oauth2/v4/token
https://mail.google.com/
https://www.googleapis.com/auth/userinfo.email
https://www.googleapis.com/auth/userinfo.profile
https://www.googleapis.com/auth/calendar
https://login.live.com/oauth20_authorize.srf
https://login.live.com/oauth20_token.srf
https://login.microsoftonline.com/common/oauth2/v2.0/authorize
https://login.microsoftonline.com/common/oauth2/v2.0/token
https://outlook.office.com/EWS.AccessAsUser.All
https://outlook.office.com/Calendars.ReadWrite
https://api.login.yahoo.com/oauth2/request_auth
https://api.login.yahoo.com/oauth2/get_token
Defined in com/readdle/spark/auth/OAuthModule.java
https://accounts.google.com/o/oauth2/v2/auth
https://www.googleapis.com/oauth2/v4/token
https://mail.google.com/
https://www.googleapis.com/auth/userinfo.email
https://www.googleapis.com/auth/userinfo.profile
https://www.googleapis.com/auth/calendar
https://login.live.com/oauth20_authorize.srf
https://login.live.com/oauth20_token.srf
https://login.microsoftonline.com/common/oauth2/v2.0/authorize
https://login.microsoftonline.com/common/oauth2/v2.0/token
https://outlook.office.com/EWS.AccessAsUser.All
https://outlook.office.com/Calendars.ReadWrite
https://api.login.yahoo.com/oauth2/request_auth
https://api.login.yahoo.com/oauth2/get_token
Defined in com/readdle/spark/auth/OAuthModule.java
https://accounts.google.com/o/oauth2/v2/auth
https://www.googleapis.com/oauth2/v4/token
https://mail.google.com/
https://www.googleapis.com/auth/userinfo.email
https://www.googleapis.com/auth/userinfo.profile
https://www.googleapis.com/auth/calendar
https://login.live.com/oauth20_authorize.srf
https://login.live.com/oauth20_token.srf
https://login.microsoftonline.com/common/oauth2/v2.0/authorize
https://login.microsoftonline.com/common/oauth2/v2.0/token
https://outlook.office.com/EWS.AccessAsUser.All
https://outlook.office.com/Calendars.ReadWrite
https://api.login.yahoo.com/oauth2/request_auth
https://api.login.yahoo.com/oauth2/get_token
Defined in com/readdle/spark/auth/OAuthModule.java
https://accounts.google.com/o/oauth2/v2/auth
https://www.googleapis.com/oauth2/v4/token
https://mail.google.com/
https://www.googleapis.com/auth/userinfo.email
https://www.googleapis.com/auth/userinfo.profile
https://www.googleapis.com/auth/calendar
https://login.live.com/oauth20_authorize.srf
https://login.live.com/oauth20_token.srf
https://login.microsoftonline.com/common/oauth2/v2.0/authorize
https://login.microsoftonline.com/common/oauth2/v2.0/token
https://outlook.office.com/EWS.AccessAsUser.All
https://outlook.office.com/Calendars.ReadWrite
https://api.login.yahoo.com/oauth2/request_auth
https://api.login.yahoo.com/oauth2/get_token
Defined in com/readdle/spark/auth/OAuthModule.java
https://accounts.google.com/o/oauth2/v2/auth
https://www.googleapis.com/oauth2/v4/token
https://mail.google.com/
https://www.googleapis.com/auth/userinfo.email
https://www.googleapis.com/auth/userinfo.profile
https://www.googleapis.com/auth/calendar
https://login.live.com/oauth20_authorize.srf
https://login.live.com/oauth20_token.srf
https://login.microsoftonline.com/common/oauth2/v2.0/authorize
https://login.microsoftonline.com/common/oauth2/v2.0/token
https://outlook.office.com/EWS.AccessAsUser.All
https://outlook.office.com/Calendars.ReadWrite
https://api.login.yahoo.com/oauth2/request_auth
https://api.login.yahoo.com/oauth2/get_token
Defined in com/readdle/spark/auth/OAuthModule.java
https://accounts.google.com/o/oauth2/v2/auth
https://www.googleapis.com/oauth2/v4/token
https://mail.google.com/
https://www.googleapis.com/auth/userinfo.email
https://www.googleapis.com/auth/userinfo.profile
https://www.googleapis.com/auth/calendar
https://login.live.com/oauth20_authorize.srf
https://login.live.com/oauth20_token.srf
https://login.microsoftonline.com/common/oauth2/v2.0/authorize
https://login.microsoftonline.com/common/oauth2/v2.0/token
https://outlook.office.com/EWS.AccessAsUser.All
https://outlook.office.com/Calendars.ReadWrite
https://api.login.yahoo.com/oauth2/request_auth
https://api.login.yahoo.com/oauth2/get_token
Defined in com/readdle/spark/auth/OAuthModule.java
https://accounts.google.com/o/oauth2/v2/auth
https://www.googleapis.com/oauth2/v4/token
https://mail.google.com/
https://www.googleapis.com/auth/userinfo.email
https://www.googleapis.com/auth/userinfo.profile
https://www.googleapis.com/auth/calendar
https://login.live.com/oauth20_authorize.srf
https://login.live.com/oauth20_token.srf
https://login.microsoftonline.com/common/oauth2/v2.0/authorize
https://login.microsoftonline.com/common/oauth2/v2.0/token
https://outlook.office.com/EWS.AccessAsUser.All
https://outlook.office.com/Calendars.ReadWrite
https://api.login.yahoo.com/oauth2/request_auth
https://api.login.yahoo.com/oauth2/get_token
Defined in com/readdle/spark/auth/OAuthModule.java
https://imap.gmail.com
https://smtp.gmail.com
https://imap-mail.outlook.com:993
https://smtp-mail.outlook.com:587
Defined in com/readdle/spark/auth/AccountConfigurationFactory.java
https://imap.gmail.com
https://smtp.gmail.com
https://imap-mail.outlook.com:993
https://smtp-mail.outlook.com:587
Defined in com/readdle/spark/auth/AccountConfigurationFactory.java
https://imap.gmail.com
https://smtp.gmail.com
https://imap-mail.outlook.com:993
https://smtp-mail.outlook.com:587
Defined in com/readdle/spark/auth/AccountConfigurationFactory.java
https://imap.gmail.com
https://smtp.gmail.com
https://imap-mail.outlook.com:993
https://smtp-mail.outlook.com:587
Defined in com/readdle/spark/auth/AccountConfigurationFactory.java
https://accounts.google.com/o/oauth2/v2/auth
https://www.googleapis.com/oauth2/v4/token
https://mail.google.com/
https://www.googleapis.com/auth/userinfo.email
https://www.googleapis.com/auth/userinfo.profile
https://www.googleapis.com/auth/calendar
Defined in com/readdle/spark/auth/GoogleOAuthConfiguration.java
https://accounts.google.com/o/oauth2/v2/auth
https://www.googleapis.com/oauth2/v4/token
https://mail.google.com/
https://www.googleapis.com/auth/userinfo.email
https://www.googleapis.com/auth/userinfo.profile
https://www.googleapis.com/auth/calendar
Defined in com/readdle/spark/auth/GoogleOAuthConfiguration.java
https://accounts.google.com/o/oauth2/v2/auth
https://www.googleapis.com/oauth2/v4/token
https://mail.google.com/
https://www.googleapis.com/auth/userinfo.email
https://www.googleapis.com/auth/userinfo.profile
https://www.googleapis.com/auth/calendar
Defined in com/readdle/spark/auth/GoogleOAuthConfiguration.java
https://accounts.google.com/o/oauth2/v2/auth
https://www.googleapis.com/oauth2/v4/token
https://mail.google.com/
https://www.googleapis.com/auth/userinfo.email
https://www.googleapis.com/auth/userinfo.profile
https://www.googleapis.com/auth/calendar
Defined in com/readdle/spark/auth/GoogleOAuthConfiguration.java
https://accounts.google.com/o/oauth2/v2/auth
https://www.googleapis.com/oauth2/v4/token
https://mail.google.com/
https://www.googleapis.com/auth/userinfo.email
https://www.googleapis.com/auth/userinfo.profile
https://www.googleapis.com/auth/calendar
Defined in com/readdle/spark/auth/GoogleOAuthConfiguration.java
https://accounts.google.com/o/oauth2/v2/auth
https://www.googleapis.com/oauth2/v4/token
https://mail.google.com/
https://www.googleapis.com/auth/userinfo.email
https://www.googleapis.com/auth/userinfo.profile
https://www.googleapis.com/auth/calendar
Defined in com/readdle/spark/auth/GoogleOAuthConfiguration.java
https://apis.live.net/
Defined in com/readdle/spark/auth/hotmail/HotmailModule.java
https://outlook.office.com/
Defined in com/readdle/spark/auth/office365/Office365Module.java
https://social.yahooapis.com/
Defined in com/readdle/spark/auth/yahoo/YahooModule.java
https://appleid.apple.com/
Defined in com/readdle/spark/ui/auth/MailAccountAuthActivity.java
https://app.smartmailcloud.com
Defined in com/readdle/spark/ui/launch/LaunchActivity.java
http://www.ccil.org/~cowan/tagsoup/properties/schema
Defined in com/readdle/spark/ui/composer/ComposerViewModel.java
http://xml.org/sax/features/external-general-entities
http://xml.org/sax/features/external-parameter-entities
http://xml.org/sax/properties/lexical-handler
http://xmlpull.org/v1/doc/features.html#process-docdecl
http://xmlpull.org/v1/doc/features.html#process-namespaces
http://www.w3.org/1999/xlink
http://www.w3.org/2000/svg
http://www.w3.org/TR/SVG11/feature#
Defined in com/caverock/androidsvg/SVGParser.java
http://xml.org/sax/features/external-general-entities
http://xml.org/sax/features/external-parameter-entities
http://xml.org/sax/properties/lexical-handler
http://xmlpull.org/v1/doc/features.html#process-docdecl
http://xmlpull.org/v1/doc/features.html#process-namespaces
http://www.w3.org/1999/xlink
http://www.w3.org/2000/svg
http://www.w3.org/TR/SVG11/feature#
Defined in com/caverock/androidsvg/SVGParser.java
http://xml.org/sax/features/external-general-entities
http://xml.org/sax/features/external-parameter-entities
http://xml.org/sax/properties/lexical-handler
http://xmlpull.org/v1/doc/features.html#process-docdecl
http://xmlpull.org/v1/doc/features.html#process-namespaces
http://www.w3.org/1999/xlink
http://www.w3.org/2000/svg
http://www.w3.org/TR/SVG11/feature#
Defined in com/caverock/androidsvg/SVGParser.java
http://xml.org/sax/features/external-general-entities
http://xml.org/sax/features/external-parameter-entities
http://xml.org/sax/properties/lexical-handler
http://xmlpull.org/v1/doc/features.html#process-docdecl
http://xmlpull.org/v1/doc/features.html#process-namespaces
http://www.w3.org/1999/xlink
http://www.w3.org/2000/svg
http://www.w3.org/TR/SVG11/feature#
Defined in com/caverock/androidsvg/SVGParser.java
http://xml.org/sax/features/external-general-entities
http://xml.org/sax/features/external-parameter-entities
http://xml.org/sax/properties/lexical-handler
http://xmlpull.org/v1/doc/features.html#process-docdecl
http://xmlpull.org/v1/doc/features.html#process-namespaces
http://www.w3.org/1999/xlink
http://www.w3.org/2000/svg
http://www.w3.org/TR/SVG11/feature#
Defined in com/caverock/androidsvg/SVGParser.java
http://xml.org/sax/features/external-general-entities
http://xml.org/sax/features/external-parameter-entities
http://xml.org/sax/properties/lexical-handler
http://xmlpull.org/v1/doc/features.html#process-docdecl
http://xmlpull.org/v1/doc/features.html#process-namespaces
http://www.w3.org/1999/xlink
http://www.w3.org/2000/svg
http://www.w3.org/TR/SVG11/feature#
Defined in com/caverock/androidsvg/SVGParser.java
http://xml.org/sax/features/external-general-entities
http://xml.org/sax/features/external-parameter-entities
http://xml.org/sax/properties/lexical-handler
http://xmlpull.org/v1/doc/features.html#process-docdecl
http://xmlpull.org/v1/doc/features.html#process-namespaces
http://www.w3.org/1999/xlink
http://www.w3.org/2000/svg
http://www.w3.org/TR/SVG11/feature#
Defined in com/caverock/androidsvg/SVGParser.java
http://xml.org/sax/features/external-general-entities
http://xml.org/sax/features/external-parameter-entities
http://xml.org/sax/properties/lexical-handler
http://xmlpull.org/v1/doc/features.html#process-docdecl
http://xmlpull.org/v1/doc/features.html#process-namespaces
http://www.w3.org/1999/xlink
http://www.w3.org/2000/svg
http://www.w3.org/TR/SVG11/feature#
Defined in com/caverock/androidsvg/SVGParser.java
https://api2.amplitude.com/
Defined in com/amplitude/api/AmplitudeClient.java