0/61

Threat

is.xyz.mpv

mpv

Analyzed on 2021-11-13T18:39:30.046331

4

permissions

4

activities

1

services

1

receivers

0

domains

File sums

MD5 443e044e3f3ebaf2e289c6e405ff09f5
SHA1 23de5e6ebf0a8e0721877c62def5934db82493d9
SHA256 90e6b8c3774fa0666bbca952d633721f534f9e323e099e7c31ed9374393f0069
Size 24.79MB

APKiD

Information computed with APKiD.

/tmp/tmpkc_8b08j!classes.dex
anti_vm
  • Build.FINGERPRINT check
  • Build.MANUFACTURER check
compiler
  • r8 without marker (suspicious)

SSdeep

Information computed with ssdeep.

APK file 786432:lL4bYSi4MGUqau+a23qWZe8l7fFU89bti78zkX4:94F1Su+a23qWZe8lK89xHC4
Manifest 384:jYLsmI55eUQt9fjtyngvI1SSl1AHX8SXdm:jGPI55eUQt9rtyngvI1SSEHsSXdm
classes.dex 98304:ZK34MVjG18RDGy1UgwK62N0MLirwlCtDl:Z918Rl3HCtDl

Dexofuzzy

Information computed with Dexofuzzy.

APK file 6144:hal9GFujY/99mt+8y2zPbAxNH8fv8lsw+:halwditX
classes.dex 6144:hal9GFujY/99mt+8y2zPbAxNH8fv8lsw+:halwditX

APK details

Information computed with AndroGuard and Pithus.

Package is.xyz.mpv
App name mpv
Version name 2021-10-28-release
Version code 26
SDK 21 - 29
UAID 89b9932c43e9c1f1824e7a279a1fcc16f9f65252
Signature Signature V1 Signature V2 Signature V3
Frosting Not frosted
Blocks found within V2 signature:
  • 0x7109871a: Unknown
  • 0xf05368c0: Unknown
  • 0x42726577: Verity padding

Certificate details

Information computed with AndroGuard.

MD5 7bfe9e95d9a1b786b85e08ffe1fc6d8b
SHA1 81eafa8297221145173ef026654b3f1eafc58bfc
SHA256 43509443ff26dec9be7ab69cf7e32482680be75a5643c0759c9805d20d491a49
Issuer Common Name: FDroid, Organizational Unit: FDroid, Organization: fdroid.org, Locality: ORG, State/Province: ORG, Country: UK
Not before 2021-03-19T12:19:05+00:00
Not after 2048-08-04T12:19:05+00:00

File Analysis

Information computed with MobSF.

Findings Files
Certificate/Key files hardcoded inside the app. assets/cacert.pem

Manifest analysis

Information computed with MobSF.

Medium Application Data can be Backed up[android:allowBackup=true]
This flag allows anyone to backup your application data via adb. It allows users who have enabled USB debugging to copy application data off of the device.
High Activity (is.xyz.mpv.MPVActivity) is not Protected. [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.

Browsable activities

Information computed with MobSF.

is.xyz.mpv.MPVActivity

Hosts: *

Schemes: rtmp:// rtmps:// rtp:// rtsp:// mms:// mmst:// mmsh:// tcp:// udp:// content:// file:// http:// https://

Mime types: video/* audio/* application/vnd.apple.mpegurl text/plain

Main Activity

Information computed with AndroGuard.

is.xyz.mpv.MainActivity

Activities

Information computed with AndroGuard.

is.xyz.mpv.MPVActivity
is.xyz.mpv.MainActivity
is.xyz.mpv.FilePickerActivity
is.xyz.mpv.config.SettingsActivity

Receivers

Information computed with AndroGuard.

is.xyz.mpv.NotificationButtonReceiver

Services

Information computed with AndroGuard.

is.xyz.mpv.BackgroundPlaybackService

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 March 19, 2021, 12:19 p.m.
First submission on VT Nov. 2, 2021, 1:37 p.m.
Last submission on VT Nov. 2, 2021, 1:37 p.m.
Upload on Pithus Nov. 13, 2021, 6:39 p.m.
Certificate valid not after Aug. 4, 2048, 12:19 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 ['network connectivity'].
Access to Platform Resources
FDP_DEC_EXT.1.2 The application has access to no sensitive information repositories.
Access to Platform Resources
FDP_NET_EXT.1.1 The application has user/application initiated network communications.
Network Communications
FDP_DAR_EXT.1.1 The application implement functionality to encrypt sensitive data in non-volatile memory.
Encryption Of Sensitive Application Data
FMT_MEC_EXT.1.1 The application invoke the mechanisms recommended by the platform vendor for storing and setting configuration options.
Supported Configuration Mechanism
FTP_DIT_EXT.1.1 The application does encrypt some transmitted data with HTTPS/TLS/SSH between itself and another trusted IT product.
Protection of Data in Transit

Code analysis

Information computed with MobSF.

High
CVSS:5.5
App creates temp file. Sensitive information should never be written into a temp file.
MASVS: MSTG-STORAGE-2
CWE-276 Incorrect Default Permissions
M2: Insecure Data Storage
Files:
 kotlin/io/FilesKt__UtilsKt.java
High
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:
 kotlin/collections/EmptyList.java
kotlin/random/AbstractPlatformRandom.java
kotlin/collections/unsigned/UArraysKt___UArraysJvmKt$asList$4.java
kotlin/collections/unsigned/UArraysKt___UArraysJvmKt$asList$1.java
kotlin/collections/ArraysKt___ArraysJvmKt$asList$6.java
kotlin/collections/ArraysKt___ArraysJvmKt$asList$3.java
kotlin/random/KotlinRandom.java
kotlin/collections/AbstractList.java
kotlin/collections/RingBuffer.java
kotlin/random/PlatformRandomKt.java
kotlin/collections/ArraysKt___ArraysJvmKt$asList$7.java
kotlin/collections/CollectionsKt__CollectionsJVMKt.java
kotlin/collections/unsigned/UArraysKt___UArraysJvmKt$asList$2.java
kotlin/collections/ArraysKt___ArraysJvmKt$asList$1.java
kotlin/collections/ArraysKt___ArraysJvmKt$asList$4.java
kotlin/collections/builders/ListBuilder.java
kotlin/collections/CollectionsKt___CollectionsKt.java
kotlin/random/FallbackThreadLocalRandom.java
kotlin/collections/MovingSubList.java
kotlin/collections/ArraysKt___ArraysJvmKt$asList$2.java
kotlin/collections/unsigned/UArraysKt___UArraysJvmKt$asList$3.java
kotlin/collections/CollectionsKt__MutableCollectionsJVMKt.java
kotlin/random/PlatformRandom.java
kotlin/random/FallbackThreadLocalRandom$implStorage$1.java
kotlin/collections/ArraysKt___ArraysJvmKt$asList$5.java
kotlin/collections/ArraysKt___ArraysJvmKt$asList$8.java
kotlin/collections/CollectionsKt__MutableCollectionsKt.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:
 is/xyz/mpv/NotificationButtonReceiver.java
is/xyz/mpv/MPVActivity.java
is/xyz/mpv/FilePickerActivity.java
is/xyz/mpv/PlaylistDialog.java
is/xyz/mpv/MPVView.java
is/xyz/mpv/BackgroundPlaybackService.java
is/xyz/mpv/MainActivity.java
kotlin/io/ConsoleKt.java
is/xyz/mpv/Utils.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:
 is/xyz/mpv/FilePickerActivity.java
is/xyz/mpv/MPVView.java
is/xyz/mpv/MainActivity.java

Permissions analysis

Information computed with MobSF.

High android.permission.WRITE_EXTERNAL_STORAGE read/modify/delete external storage contents
Allows an application to write to external storage.
High android.permission.READ_EXTERNAL_STORAGE read external storage contents
Allows an application to read from external storage.
Low android.permission.INTERNET full Internet access
Allows an application to create network sockets.
Low android.permission.FOREGROUND_SERVICE Allows a regular application to use Service.startForeground

Threat analysis

Information computed with Quark-Engine.

Confidence:
100%
Load external class
Confidence:
100%
Find a method from given class name, usually for reflection
Confidence:
100%
Method reflection
Confidence:
100%
Load class from given class name
Confidence:
100%
Retrieve data from broadcast
Confidence:
100%
Read sensitive data(SMS, CALLLOG, etc)
Confidence:
100%
Send notification
Confidence:
100%
Monitor the broadcast action events (BOOT_COMPLETED)
Confidence:
100%
Get absolute path of the file and store in string
Confidence:
100%
Get last known location of the device
Confidence:
100%
Get location of the device
Confidence:
100%
Method reflection
Confidence:
100%
Get the time of current location
Confidence:
100%
Initialize class object dynamically
Confidence:
80%
Read file and put it into a stream
Confidence:
80%
Get declared method from given method name
Confidence:
80%
Open a file from given absolute path of the file
Confidence:
80%
Implicit intent(view a web page, make a phone call, etc.) via setData
Confidence:
80%
Get resource file from res/raw directory

Behavior analysis

Information computed with MobSF.

Android notifications
       is/xyz/mpv/BackgroundPlaybackService.java
Get system service
       is/xyz/mpv/MPVActivity.java
is/xyz/mpv/MPVView.java
is/xyz/mpv/BackgroundPlaybackService.java
is/xyz/mpv/MainActivity.java
is/xyz/mpv/Utils.java
Inter process communication
       is/xyz/mpv/NotificationButtonReceiver.java
is/xyz/mpv/MPVActivity.java
is/xyz/mpv/FilePickerActivity.java
is/xyz/mpv/MPVActivityKt.java
is/xyz/mpv/MPVActivity$openPlaylistMenu$1$openFilePicker$1.java
is/xyz/mpv/BackgroundPlaybackService.java
is/xyz/mpv/MainActivity.java
is/xyz/mpv/MPVActivity$openTopMenu$buttons$2.java
is/xyz/mpv/MPVActivity$openTopMenu$buttons$1.java
Java reflection
       kotlin/internal/PlatformImplementations.java
kotlin/internal/PlatformImplementationsKt.java
kotlin/coroutines/jvm/internal/ModuleNameRetriever.java
kotlin/jvm/internal/Intrinsics.java
kotlin/jvm/internal/Reflection.java
kotlin/jvm/internal/ClassReference.java
kotlin/coroutines/jvm/internal/DebugMetadataKt.java
Loading native code (shared library)
       is/xyz/mpv/MPVLib.java
Local file i/o operations
       is/xyz/mpv/MainActivity.java
is/xyz/mpv/config/InterpolationDialogPreference.java
is/xyz/mpv/config/ScalerDialogPreference.java
Starting activity
       is/xyz/mpv/MPVActivity.java
is/xyz/mpv/MainActivity.java
Starting service
       is/xyz/mpv/MPVActivity.java

Control flow graphs analysis

Information computed by Pithus.

The application probably gets the network connections information

The application probably plays sound

The application probably listens accessibility events