0/63

Threat

com.sec.android.app.popupcalculator

Calculator

Analyzed on 2022-04-25T09:21:34.179268

9

permissions

5

activities

1

services

0

receivers

6

domains

File sums

MD5 d363efddba841a7443b9c8e748cf1889
SHA1 73fc00cd17b55ab5d72f89fa30b9757454827221
SHA256 81278bb5febb7360f378e7067d38ae27425e6fe8655df35dfd2610bb5aff8767
Size 4.37MB

APKiD

Information computed with APKiD.

/tmp/tmppjyspfbb!classes.dex
yara_issue
  • yara issue - dex file recognized by apkid but not yara module
anti_vm
  • Build.FINGERPRINT check
compiler
  • unknown (please file detection issue!)

SSdeep

Information computed with ssdeep.

APK file 49152:FWtj+sjZjarn79rvNO483nmNbFOUH8JnSBbGQcn3JlDB17KuVP2fOBFCVVsvalzw:FWMsunxuJwGnxIACVVsiloXj
Manifest 192:EpDgaeDuRkRgTyOtWaFNJFUDIDch0ekrPzFcTWS0EHjW++iDwyyK8dZ07a:WReDuR…
classes.dex 49152:fWtj+sjZjarn79rvNO483nmNbFOUH8JnSBbGQcn3JlL:fWMsunxuJwGnZ

Dexofuzzy

Information computed with Dexofuzzy.

classes.dex None

APK details

Information computed with AndroGuard and Pithus.

Package com.sec.android.app.popupcalculator
App name Calculator
Version name 12.1.00.5
Version code 1210005000
SDK 29 - 31
UAID 1d37ef59279f529fc115e1cf287217540fa0d313
Signature Signature V1 Signature V2
Frosting Not frosted
Blocks found within V2 signature:
  • 0x7109871a: Unknown

Certificate details

Information computed with AndroGuard.

MD5 1ed6907e477e89c847cd7f7a971e0f46
SHA1 9741a0f330dc2e8619b76a2597f308c37dbe30a2
SHA256 b9a42dd5fc4e054889ae4127a6274cec64e75c41733d42f5991e7019f9ea5caf
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:13+00:00
Not after 2038-11-07T12:25:13+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.

Main Activity

Information computed with AndroGuard.

com.sec.android.app.popupcalculator.Calculator

Activities

Information computed with AndroGuard.

com.sec.android.app.popupcalculator.Calculator
com.sec.android.app.popupcalculator.converter.controller.NewUnitConverterActivity
com.sec.android.app.popupcalculator.converter.mortgage.controller.MortgageResultActivity
com.sec.android.app.popupcalculator.converter.mortgage.controller.BaseMortgageActivity
com.sec.android.app.popupcalculator.converter.mortgage.controller.MortgageDetailActivity

Services

Information computed with AndroGuard.

com.sec.android.diagmonagent.log.ged.scheduler.GEDJobService

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 1, 2022, 12:10 a.m.
Last submission on VT April 10, 2022, 9:27 a.m.
Upload on Pithus April 25, 2022, 9: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 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 generate no asymmetric cryptographic keys.
Cryptographic Key Generation Services
FDP_DEC_EXT.1.1 The application has access to ['network connectivity'].
Access to Platform Resources
FDP_DEC_EXT.1.2 The application has access to no sensitive information repositories.
Access to Platform Resources
FDP_NET_EXT.1.1 The application has user/application initiated network communications.
Network Communications
FDP_DAR_EXT.1.1 The application 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 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_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
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
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

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/sec/android/app/popupcalculator/common/logic/CalculatorLogic.java
com/sec/android/app/popupcalculator/common/logic/CalculateTool.java
com/sec/android/app/popupcalculator/CalculatorBroadcastReceiver.java
com/sec/android/app/popupcalculator/common/utils/CommonUtils.java
com/sec/android/app/popupcalculator/converter/model/UnitManager.java
com/sec/android/diagmonagent/log/ged/db/dao/ResultDao.java
com/sec/android/app/popupcalculator/calc/controller/MultiWindowLayoutController.java
com/sec/android/app/popupcalculator/converter/mortgage/controller/MortgageResultFragment.java
com/sec/android/app/popupcalculator/converter/mortgage/logic/MortgageComputer.java
com/sec/android/app/popupcalculator/converter/utils/ConverterUtils.java
com/sec/android/diagmonagent/log/ged/servreinterface/model/client/DiagmonClient.java
com/sec/android/diagmonagent/log/ged/util/DeviceUtils.java
com/sec/android/diagmonagent/log/ged/servreinterface/model/client/FileUploadClient.java
com/sec/android/diagmonagent/log/ged/util/ParsingUtils.java
com/sec/android/diagmonagent/log/ged/util/RestUtils.java
com/sec/android/app/popupcalculator/converter/mortgage/svc/http/Connection.java
com/samsung/context/sdk/samsunganalytics/internal/util/Debug.java
com/samsung/context/sdk/samsunganalytics/internal/sender/buffering/database/DbManager.java
com/sec/android/diagmonagent/log/ged/util/PreferenceUtils.java
com/sec/android/app/popupcalculator/calc/controller/CalculatorUtils.java
com/sec/android/diagmonagent/log/ged/scheduler/GEDJobService.java
com/sec/android/app/popupcalculator/converter/mortgage/svc/util/MortgageUtil.java
com/sec/android/app/popupcalculator/converter/mortgage/svc/util/MortgageLastStateUtil.java
com/sec/android/app/popupcalculator/converter/mortgage/controller/BaseConverterFragment.java
com/sec/android/app/popupcalculator/converter/mortgage/controller/MortgageInputFragment.java
com/sec/android/app/popupcalculator/common/utils/AnalystUtils.java
com/sec/android/diagmonagent/common/logger/AppLogData.java
com/sec/android/app/popupcalculator/converter/mortgage/controller/MortgageConverterFragment.java
com/sec/android/diagmonagent/log/ged/servreinterface/controller/DiagmonApiManager.java
com/sec/android/app/popupcalculator/calc/controller/HistoryController.java
com/sec/android/diagmonagent/log/ged/db/dao/ServiceDao.java
com/sec/android/app/popupcalculator/converter/controller/NewUnitConverterActivity.java
com/sec/android/app/popupcalculator/converter/controller/ConverterPagerItemController.java
com/sec/android/app/popupcalculator/Calculator.java
com/sec/android/app/popupcalculator/converter/controller/BaseUnitConverterFragment.java
com/sec/android/diagmonagent/log/ged/db/dao/EventDao.java
com/sec/android/diagmonagent/log/ged/servreinterface/model/client/TokenClient.java
com/sec/android/app/popupcalculator/calc/model/HistoriesData.java
com/sec/android/app/popupcalculator/converter/controller/ConverterKeypadController.java
com/sec/android/app/popupcalculator/converter/controller/ConverterPagerController.java
com/sec/android/app/popupcalculator/calc/controller/KeypadController.java
com/sec/android/diagmonagent/common/logger/AppLog.java
com/sec/android/app/popupcalculator/converter/mortgage/controller/MortgageEditText.java
com/sec/android/app/popupcalculator/converter/mortgage/controller/MortgageResultActivity.java
com/sec/android/app/popupcalculator/converter/mortgage/controller/MortgageDetailActivity.java
com/sec/android/app/popupcalculator/calc/controller/HandleButtonsController.java
com/sec/android/app/popupcalculator/common/utils/AccessibilityUtils.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/samsung/context/sdk/samsunganalytics/internal/sender/buffering/database/DbManager.java
com/samsung/context/sdk/samsunganalytics/internal/sender/buffering/database/DefaultDBOpenHelper.java
com/sec/android/diagmonagent/log/ged/db/GEDDatabase.java
Medium
CVSS:4.3
IP Address disclosure
MASVS: MSTG-CODE-2
CWE-200 Information Exposure
Files:
 com/sec/android/app/popupcalculator/BuildConfig.java
Info
CVSS:0
This App uses SSL certificate pinning to detect or prevent MITM attacks in secure communication channel.
MASVS: MSTG-NETWORK-4
Files:
 com/samsung/context/sdk/samsunganalytics/internal/security/CertificateManager.java
Pygal China: 200 Germany: 100 Ireland: 100 United States: 200

Map computed by Pithus.

Domains analysis

Information computed with MobSF.

DE diagmon-policy.samsungdm.com 143.204.98.24
US regi.di.atlas.samsung.com 34.102.190.55
CN data.forex.hexun.com 183.222.96.213
CN data.bank.hexun.com 117.23.61.187
US dc.di.atlas.samsung.com 34.120.24.208
IE diagmon-serviceapi.samsungdm.com 46.51.163.145

URL analysis

Information computed with MobSF.

https://regi.di.atlas.samsung.com
https://dc.di.atlas.samsung.com
Defined in com/samsung/context/sdk/samsunganalytics/internal/connection/Domain.java
https://regi.di.atlas.samsung.com
https://dc.di.atlas.samsung.com
Defined in com/samsung/context/sdk/samsunganalytics/internal/connection/Domain.java
https://diagmon-serviceapi.samsungdm.com
https://diagmon-policy.samsungdm.com
Defined in com/sec/android/diagmonagent/log/ged/util/RestUtils.java
https://diagmon-serviceapi.samsungdm.com
https://diagmon-policy.samsungdm.com
Defined in com/sec/android/diagmonagent/log/ged/util/RestUtils.java
http://data.forex.hexun.com/data/mi/breedexch.html
http://data.bank.hexun.com/other/mi/dkll_json.ashx
Defined in com/sec/android/app/popupcalculator/converter/mortgage/svc/sp/hexun/HtmlInformation.java
http://data.forex.hexun.com/data/mi/breedexch.html
http://data.bank.hexun.com/other/mi/dkll_json.ashx
Defined in com/sec/android/app/popupcalculator/converter/mortgage/svc/sp/hexun/HtmlInformation.java

Permissions analysis

Information computed with MobSF.

High android.permission.GET_TASKS retrieve running applications
Allows application to retrieve information about currently and recently running tasks. May allow malicious applications to discover private information about other applications.
Low android.permission.VIBRATE control vibrator
Allows the application to control the vibrator.
Low android.permission.INTERNET full Internet access
Allows an application to create network sockets.
Low android.permission.ACCESS_NETWORK_STATE view network status
Allows an application to view the status of all networks.
Low android.permission.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.
com.samsung.keyguard.SHORTCUT_PERMISSION Unknown permission
Unknown permission from android reference
com.sec.android.app.parser.permission.SecretCodeIME Unknown permission
Unknown permission from android reference
com.samsung.android.providers.context.permission.WRITE_USE_APP_FEATURE_SURVEY Unknown permission
Unknown permission from android reference
com.sec.spp.permission.TOKEN_b8a82002e8796582a00da99945c0030cbf5b2363606544cbe5839d0ed225… Unknown permission
Unknown permission from android reference

Threat analysis

Information computed with Quark-Engine.

Confidence:
100%
Find a method from given class name, usually for reflection
Confidence:
100%
Connect to a URL and receive input stream from the server
Confidence:
100%
Method reflection
Confidence:
100%
Connect to a URL and read data from it
Confidence:
100%
Load class from given class name
Confidence:
100%
Read sensitive data(SMS, CALLLOG, etc)
Confidence:
100%
Put data in cursor to JSON object
Confidence:
100%
Connect to a URL and get the response code
Confidence:
100%
Monitor the broadcast action events (BOOT_COMPLETED)
Confidence:
100%
Read file from assets directory
Confidence:
100%
Get last known location of the device
Confidence:
100%
Method reflection
Confidence:
100%
Get the time of current location
Confidence:
100%
Initialize class object dynamically
Confidence:
100%
Read the input stream from given URL
Confidence:
100%
Connect to a URL and set request method
Confidence:
80%
Load external class
Confidence:
80%
Read data and put it into a buffer stream
Confidence:
80%
Read file and put it into a stream
Confidence:
80%
Retrieve data from broadcast
Confidence:
80%
Get declared method from given method name
Confidence:
80%
Implicit intent(view a web page, make a phone call, etc.) via setData
Confidence:
80%
Get calendar information
Confidence:
80%
Get location of the device
Confidence:
80%
Put buffer stream (data) to JSON object
Confidence:
80%
Read file into a stream and put it into a JSON object
Confidence:
80%
Get resource file from res/raw directory

Behavior analysis

Information computed with MobSF.

Base64 encode
       com/sec/android/diagmonagent/log/ged/util/RestUtils.java
Get sim provider details
       com/samsung/context/sdk/samsunganalytics/internal/device/DeviceInfo.java
com/sec/android/diagmonagent/log/ged/util/DeviceUtils.java
Get system service
       com/sec/android/app/popupcalculator/common/utils/CommonNew.java
com/samsung/context/sdk/samsunganalytics/internal/sender/DLS/DLSLogSender.java
com/sec/android/app/popupcalculator/converter/mortgage/controller/MortgageInputFragment.java
com/sec/android/app/popupcalculator/common/utils/CommonUtils.java
com/samsung/context/sdk/samsunganalytics/internal/device/DeviceInfo.java
com/sec/android/app/popupcalculator/converter/mortgage/view/UnitSpinnerAdapter.java
com/sec/android/app/popupcalculator/calc/controller/TextController.java
com/sec/android/diagmonagent/log/ged/util/DeviceUtils.java
com/sec/android/app/popupcalculator/Calculator.java
com/sec/android/app/popupcalculator/converter/mortgage/svc/http/Connection.java
com/sec/android/app/popupcalculator/converter/mortgage/view/ListViewAdapter.java
com/sec/android/app/popupcalculator/converter/controller/ConverterSpinnerAdapter.java
com/sec/android/diagmonagent/log/ged/scheduler/GEDJobService.java
com/samsung/context/sdk/samsunganalytics/internal/policy/Validation.java
com/sec/android/app/popupcalculator/common/utils/AccessibilityUtils.java
Http connection
       com/sec/android/app/popupcalculator/converter/mortgage/svc/http/Connection.java
com/sec/android/diagmonagent/log/ged/servreinterface/model/client/TokenClient.java
com/sec/android/diagmonagent/log/ged/servreinterface/model/client/DiagmonClient.java
com/sec/android/diagmonagent/log/ged/servreinterface/model/client/FileUploadClient.java
Https connection
       com/samsung/context/sdk/samsunganalytics/internal/policy/GetPolicyClient.java
com/samsung/context/sdk/samsunganalytics/internal/terms/RegisterTask.java
com/samsung/context/sdk/samsunganalytics/internal/sender/DLS/DLSAPIClient.java
Inter process communication
       com/sec/android/app/popupcalculator/common/logic/CalculateTool.java
com/sec/android/app/popupcalculator/CalculatorBroadcastReceiver.java
com/sec/android/app/popupcalculator/converter/mortgage/controller/MortgageInputFragment.java
com/sec/android/app/popupcalculator/common/utils/CommonUtils.java
com/sec/android/app/popupcalculator/converter/mortgage/controller/MortgageConverterFragment.java
com/samsung/context/sdk/samsunganalytics/internal/sender/DMA/DMABinder.java
com/sec/android/app/popupcalculator/converter/mortgage/controller/MortgageResultFragment.java
com/sec/android/app/popupcalculator/calc/controller/TextController.java
com/sec/android/app/popupcalculator/converter/controller/NewUnitConverterActivity.java
com/sec/android/app/popupcalculator/Calculator.java
com/sec/android/diagmonagent/sa/IDMAInterface.java
com/samsung/context/sdk/samsunganalytics/internal/policy/Validation.java
com/sec/android/app/popupcalculator/converter/mortgage/controller/MortgageResultActivity.java
com/samsung/context/sdk/samsunganalytics/internal/util/Utils.java
com/sec/android/app/popupcalculator/converter/mortgage/controller/MortgageDetailActivity.java
Java reflection
       com/samsung/context/sdk/samsunganalytics/internal/policy/PolicyUtils.java
com/samsung/context/sdk/samsunganalytics/internal/policy/Validation.java
Loading native code (shared library)
       com/sec/android/diagmonagent/common/NativeHelper.java
Local file i/o operations
       com/sec/android/app/popupcalculator/converter/mortgage/controller/MortgageInputFragment.java
com/samsung/context/sdk/samsunganalytics/internal/Tracker.java
com/sec/android/diagmonagent/log/ged/util/PreferenceUtils.java
com/samsung/context/sdk/samsunganalytics/internal/policy/GetPolicyClient.java
com/samsung/context/sdk/samsunganalytics/internal/setting/SettingReader.java
com/sec/android/app/popupcalculator/converter/mortgage/controller/MortgageConverterFragment.java
com/sec/android/app/popupcalculator/converter/mortgage/svc/util/MortgageUtil.java
com/sec/android/app/popupcalculator/converter/mortgage/svc/util/MortgageLastStateUtil.java
com/sec/android/app/popupcalculator/common/utils/KeyManager.java
com/samsung/context/sdk/samsunganalytics/internal/util/Preferences.java
com/sec/android/diagmonagent/log/ged/db/dao/ServiceDao.java
Message digest
       com/sec/android/diagmonagent/log/ged/util/RestUtils.java
com/samsung/context/sdk/samsunganalytics/internal/policy/Validation.java
Starting activity
       com/sec/android/app/popupcalculator/common/logic/CalculateTool.java
com/sec/android/app/popupcalculator/converter/mortgage/controller/MortgageInputFragment.java
com/sec/android/app/popupcalculator/common/utils/CommonUtils.java
com/sec/android/app/popupcalculator/converter/mortgage/controller/MortgageConverterFragment.java
com/sec/android/app/popupcalculator/converter/mortgage/controller/MortgageResultFragment.java
com/sec/android/app/popupcalculator/Calculator.java
Starting service
       com/samsung/context/sdk/samsunganalytics/internal/sender/DMA/DMABinder.java

Control flow graphs analysis

Information computed by Pithus.

The application probably plays sound

The application probably listens accessibility events