0/64

Threat

com.example.barcodescanner

QR & Barcode Scanner

Analyzed on 2022-05-09T15:37:12.086015

8

permissions

17

activities

2

services

0

receivers

17

domains

File sums

MD5 14edc6b628b5d1ffdd2588f36b6a0159
SHA1 168a491b280071e4a3138ed89112252b89bfe647
SHA256 138fbaaf69f175f79dda0df672244b4fd1c36f9be0a22b1a569afb0e4539beea
Size 6.52MB

APKiD

Information computed with APKiD.

/tmp/tmpx065z70v!classes.dex
anti_vm
  • Build.FINGERPRINT check
  • Build.MODEL check
  • Build.MANUFACTURER check
  • Build.PRODUCT check
  • Build.HARDWARE check
  • Build.TAGS check
  • possible VM check
anti_debug
  • Debug.isDebuggerConnected() check
compiler
  • r8 without marker (suspicious)

SSdeep

Information computed with ssdeep.

APK file 196608:VF33m3ZNHFkrj3LBxoXA1QexTI3+RLUcQ6a:VFH8XHSoXA11TI3wL8
Manifest 384:r9m5nRKTAdG55e6toWci3Ey/GA7hCtkCUdXza4Flfi2NSiKpKlVLcJb2IhdS:r9m5…
classes.dex 49152:NEil8oEFJttnJaz+HlBxmPh3RRRC5nDSb6Dfkxk2zTB8N4NK62XI3eYvcRSOo7X…

Dexofuzzy

Information computed with Dexofuzzy.

APK file 12288:wpANr7VK+SWJwWz9BwgvAKXpVWGxpqbp0R:qAp7V2WbzYv8pD
classes.dex 12288:wpANr7VK+SWJwWz9BwgvAKXpVWGxpqbp0R:qAp7V2WbzYv8pD

APK details

Information computed with AndroGuard and Pithus.

Package com.example.barcodescanner
App name QR & Barcode Scanner
Version name 1.10
Version code 12
SDK 21 - 31
UAID dbedb7c1e7c5ed448df56645155e4905094122fe
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 e1cac8254bf7593e0aaa6030db0b25b7
SHA1 9e8aae0740d0412758acff85c2ae8b78aa2084b9
SHA256 b0d083c9519c6da533dc13096aec27e349168294656a928ffce646c2adcca6e0
Issuer Common Name: FDroid, Organizational Unit: FDroid, Organization: fdroid.org, Locality: ORG, State/Province: ORG, Country: UK
Not before 2020-09-16T10:53:26+00:00
Not after 2048-02-02T10:53:26+00:00

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 Service (com.example.barcodescanner.feature.tile.QuickSettingsTileService) is Protected by a permission, but the protection level of the permission should be checked.
Permission: android.permission.BIND_QUICK_SETTINGS_TILE [android:exported=true]
A Service is found to be shared with other apps on the device therefore leaving it accessible to any other application on the device. It is protected by a permission which is not defined in the analysed application. As a result, the protection level of the permission should be checked where it is defined. If it is set to normal or dangerous, a malicious application can request and obtain the permission and interact with the component. If it is set to signature, only applications signed with the same certificate can obtain the permission.
High Activity (com.example.barcodescanner.feature.tabs.scan.file.ScanBarcodeFromFileActivity) 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.
High Activity (com.example.barcodescanner.feature.tabs.create.CreateBarcodeActivity) 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.

Main Activity

Information computed with AndroGuard.

com.example.barcodescanner.feature.tabs.BottomTabsActivity

Activities

Information computed with AndroGuard.

com.example.barcodescanner.feature.tabs.BottomTabsActivity
com.example.barcodescanner.feature.tabs.scan.file.ScanBarcodeFromFileActivity
com.example.barcodescanner.feature.tabs.create.CreateBarcodeActivity
com.example.barcodescanner.feature.tabs.create.qr.CreateQrCodeAllActivity
com.example.barcodescanner.feature.tabs.create.barcode.CreateBarcodeAllActivity
com.example.barcodescanner.feature.barcode.BarcodeActivity
com.example.barcodescanner.feature.barcode.BarcodeImageActivity
com.example.barcodescanner.feature.barcode.otp.OtpActivity
com.example.barcodescanner.feature.barcode.save.SaveBarcodeAsTextActivity
com.example.barcodescanner.feature.barcode.save.SaveBarcodeAsImageActivity
com.example.barcodescanner.feature.tabs.history.export.ExportHistoryActivity
com.example.barcodescanner.feature.tabs.settings.theme.ChooseThemeActivity
com.example.barcodescanner.feature.tabs.settings.camera.ChooseCameraActivity
com.example.barcodescanner.feature.tabs.settings.formats.SupportedFormatsActivity
com.example.barcodescanner.feature.tabs.settings.search.ChooseSearchEngineActivity
com.example.barcodescanner.feature.tabs.settings.permissions.AllPermissionsActivity
com.journeyapps.barcodescanner.CaptureActivity

Services

Information computed with AndroGuard.

com.example.barcodescanner.feature.tile.QuickSettingsTileService
androidx.room.MultiInstanceInvalidationService

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 Sept. 16, 2020, 10:53 a.m.
First submission on VT April 17, 2022, 8:50 p.m.
Last submission on VT May 5, 2022, 5:22 p.m.
Upload on Pithus May 9, 2022, 3:37 p.m.
Certificate valid not after Feb. 2, 2048, 10:53 a.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 ['camera', '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 implement functionality to encrypt sensitive data in non-volatile memory.
Encryption Of Sensitive Application Data
FMT_MEC_EXT.1.1 The application invoke the mechanisms recommended by the platform vendor for storing and setting configuration options.
Supported Configuration Mechanism
FTP_DIT_EXT.1.1 The application does encrypt some transmitted data with HTTPS/TLS/SSH between itself and another trusted IT product.
Protection of Data in Transit
FCS_RBG_EXT.2.1
FCS_RBG_EXT.2.2
The application perform all deterministic random bit generation (DRBG) services in accordance with NIST Special Publication 800-90A using Hash_DRBG. The deterministic RBG is seeded by an entropy source that accumulates entropy from a platform-based DRBG and a software-based noise source, with a minimum of 256 bits of entropy at least equal to the greatest security strength (according to NIST SP 800-57) of the keys and hashes that it will generate.
Random Bit Generation from Application
FCS_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
FPT_TUD_EXT.2.1 The application shall be distributed using the format of the platform-supported package manager.
Integrity for Installation and Update

Code analysis

Information computed with MobSF.

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/journeyapps/barcodescanner/c.java
x1/b.java
z1/e.java
io/sentry/SystemOutLogger.java
com/journeyapps/barcodescanner/CaptureActivity.java
y0/a.java
w0/c.java
io/sentry/android/core/AndroidLogger.java
z1/k.java
x1/a.java
y1/h.java
x0/a.java
z1/a.java
com/journeyapps/barcodescanner/a.java
z1/i.java
z1/d.java
io/sentry/transport/StdoutTransport.java
Medium
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:
 com/journeyapps/barcodescanner/c.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:
 x1/b.java
b0/p.java
io/sentry/android/core/DefaultAndroidEventProcessor.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:
 w3/b.java
e2/b.java
Info
CVSS:0
This App may have root detection capabilities.
MASVS: MSTG-RESILIENCE-1
Files:
 io/sentry/android/core/internal/util/RootChecker.java
io/sentry/android/core/DefaultAndroidEventProcessor.java
High
CVSS:0
This App may request root (Super User) privileges.
MASVS: MSTG-RESILIENCE-1
CWE-250 Execution with Unnecessary Privileges
Files:
 io/sentry/android/core/internal/util/RootChecker.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/example/barcodescanner/feature/barcode/BarcodeActivity.java
Pygal France: 100 Ireland: 100 Netherlands: 300 Russian Federation: 100 United States: 1100

Map computed by Pithus.

Domains analysis

Information computed with MobSF.

US apache.org 151.101.2.132
US maps.google.com 142.250.186.110
US freemarker.apache.org 151.101.2.132
US www.w3.org 128.30.52.100
NL www.bing.com 13.107.22.200
US play.google.com 142.250.185.238
US github.com 140.82.121.4
NL www.startpage.com 89.146.4.151
US freemarker.org 192.64.119.217
US xml.apache.org 151.101.2.132
US www.youtube.com 142.250.186.142
IE search.yahoo.com 212.82.100.137
US xml.org 104.239.240.11
US www.google.com 142.250.185.132
FR www.qwant.com 194.187.168.100
RU www.yandex.ru 5.255.255.5
NL duckduckgo.com 40.114.177.156

URL analysis

Information computed with MobSF.

http://maps.google.com/
https://maps.google.com/
Defined in a0/h.java
http://maps.google.com/
https://maps.google.com/
Defined in a0/h.java
http://www.youtube.com
https://www.youtube.com
Defined in a0/u.java
http://www.youtube.com
https://www.youtube.com
Defined in a0/u.java
http://play.google.com/
https://play.google.com/
Defined in a0/a.java
http://play.google.com/
https://play.google.com/
Defined in a0/a.java
https://github.com/ReactiveX/RxJava/wiki/Error-Handling
Defined in o2/c.java
https://github.com/ReactiveX/RxJava/wiki/What's-different-in-2.0#error-handling
Defined in o2/d.java
http://www.w3.org/2000/svg
Defined in b0/i.java
https://www.bing.com/search?q=
https://duckduckgo.com/?q=
https://www.google.com/search?q=
https://www.qwant.com/?q=
https://www.startpage.com/sp/search?query=
https://search.yahoo.com/search?p=
https://www.yandex.ru/search/?text=
Defined in z/e.java
https://www.bing.com/search?q=
https://duckduckgo.com/?q=
https://www.google.com/search?q=
https://www.qwant.com/?q=
https://www.startpage.com/sp/search?query=
https://search.yahoo.com/search?p=
https://www.yandex.ru/search/?text=
Defined in z/e.java
https://www.bing.com/search?q=
https://duckduckgo.com/?q=
https://www.google.com/search?q=
https://www.qwant.com/?q=
https://www.startpage.com/sp/search?query=
https://search.yahoo.com/search?p=
https://www.yandex.ru/search/?text=
Defined in z/e.java
https://www.bing.com/search?q=
https://duckduckgo.com/?q=
https://www.google.com/search?q=
https://www.qwant.com/?q=
https://www.startpage.com/sp/search?query=
https://search.yahoo.com/search?p=
https://www.yandex.ru/search/?text=
Defined in z/e.java
https://www.bing.com/search?q=
https://duckduckgo.com/?q=
https://www.google.com/search?q=
https://www.qwant.com/?q=
https://www.startpage.com/sp/search?query=
https://search.yahoo.com/search?p=
https://www.yandex.ru/search/?text=
Defined in z/e.java
https://www.bing.com/search?q=
https://duckduckgo.com/?q=
https://www.google.com/search?q=
https://www.qwant.com/?q=
https://www.startpage.com/sp/search?query=
https://search.yahoo.com/search?p=
https://www.yandex.ru/search/?text=
Defined in z/e.java
https://www.bing.com/search?q=
https://duckduckgo.com/?q=
https://www.google.com/search?q=
https://www.qwant.com/?q=
https://www.startpage.com/sp/search?query=
https://search.yahoo.com/search?p=
https://www.yandex.ru/search/?text=
Defined in z/e.java
http://maps.google.com/maps?q=
Defined in z/d.java
https://github.com/wewewe718/QrAndBarcodeScanner
Defined in v/n.java
http://xml.apache.org/xslt}indent-amount
Defined in ezvcard/io/xml/XCardOutputProperties.java
http://apache.org/xml/features/disallow-doctype-decl
http://xml.org/sax/features/external-general-entities
http://xml.org/sax/features/external-parameter-entities
http://apache.org/xml/features/nonvalidating/load-external-dtd
http://javax.xml.XMLConstants/property/accessExternalDTD
http://javax.xml.XMLConstants/property/accessExternalStylesheet
Defined in ezvcard/util/XmlUtils.java
http://apache.org/xml/features/disallow-doctype-decl
http://xml.org/sax/features/external-general-entities
http://xml.org/sax/features/external-parameter-entities
http://apache.org/xml/features/nonvalidating/load-external-dtd
http://javax.xml.XMLConstants/property/accessExternalDTD
http://javax.xml.XMLConstants/property/accessExternalStylesheet
Defined in ezvcard/util/XmlUtils.java
http://apache.org/xml/features/disallow-doctype-decl
http://xml.org/sax/features/external-general-entities
http://xml.org/sax/features/external-parameter-entities
http://apache.org/xml/features/nonvalidating/load-external-dtd
http://javax.xml.XMLConstants/property/accessExternalDTD
http://javax.xml.XMLConstants/property/accessExternalStylesheet
Defined in ezvcard/util/XmlUtils.java
http://apache.org/xml/features/disallow-doctype-decl
http://xml.org/sax/features/external-general-entities
http://xml.org/sax/features/external-parameter-entities
http://apache.org/xml/features/nonvalidating/load-external-dtd
http://javax.xml.XMLConstants/property/accessExternalDTD
http://javax.xml.XMLConstants/property/accessExternalStylesheet
Defined in ezvcard/util/XmlUtils.java
http://freemarker.org/docs/ref_directive_list.html).
http://freemarker.org/docs/ref_directive_alphaidx.html;
Defined in c2/r3.java
http://freemarker.org/docs/ref_directive_list.html).
http://freemarker.org/docs/ref_directive_alphaidx.html;
Defined in c2/r3.java
https://freemarker.apache.org/docs/ref_builtins.html;
Defined in c2/q.java

Permissions analysis

Information computed with MobSF.

High android.permission.CAMERA take pictures and videos
Allows application to take pictures and videos with the camera. This allows the application to collect images that the camera is seeing at any time.
High android.permission.READ_CONTACTS read contact data
Allows an application to read all of the contact (address) data stored on your phone. Malicious applications can use this to send your data to other people.
High android.permission.READ_EXTERNAL_STORAGE read external storage contents
Allows an application to read from external storage.
High android.permission.WRITE_EXTERNAL_STORAGE read/modify/delete external storage contents
Allows an application to write to external storage.
Low android.permission.VIBRATE control vibrator
Allows the application to control the vibrator.
Low android.permission.ACCESS_WIFI_STATE view Wi-Fi status
Allows an application to view the information about the status of Wi-Fi.
Low android.permission.CHANGE_WIFI_STATE change Wi-Fi status
Allows an application to connect to and disconnect from Wi-Fi access points and to make changes to configured Wi-Fi networks.
Low android.permission.INTERNET full Internet access
Allows an application to create network sockets.

Threat analysis

Information computed with Quark-Engine.

Confidence:
100%
Load external class
Confidence:
100%
Implicit intent(view a web page, make a phone call, etc.)
Confidence:
100%
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%
Retrieve data from broadcast
Confidence:
100%
Get declared method from given method name
Confidence:
100%
Read sensitive data(SMS, CALLLOG, etc)
Confidence:
100%
Open a file from given absolute path of the file
Confidence:
100%
Connect to a URL and get the response code
Confidence:
100%
Monitor the broadcast action events (BOOT_COMPLETED)
Confidence:
100%
Get absolute path of the file and store in string
Confidence:
100%
Read file from assets directory
Confidence:
100%
Get last known location of the device
Confidence:
100%
Get calendar information
Confidence:
100%
Get location of the device
Confidence:
100%
Method reflection
Confidence:
100%
Connect to the remote server through the given URL
Confidence:
100%
Get the time of current location
Confidence:
100%
Initialize class object dynamically
Confidence:
100%
Connect to a URL and set request method
Confidence:
100%
Get resource file from res/raw directory
Confidence:
100%
Get specific method from other Dex files
Confidence:
80%
Read data and put it into a buffer stream
Confidence:
80%
Read file and put it into a stream
Confidence:
80%
Implicit intent(view a web page, make a phone call, etc.) via setData
Confidence:
80%
Check if the given file path exist
Confidence:
80%
Executes the specified string Linux command

Behavior analysis

Information computed with MobSF.

Certificate handling
       io/sentry/SentryOptions.java
io/sentry/transport/HttpConnection.java
Content provider
       io/sentry/android/core/SentryPerformanceProvider.java
io/sentry/android/core/SentryInitProvider.java
Crypto
       o0/c.java
Execute os command
       k2/g.java
Get installed applications
       q/f.java
Get system service
       m/i.java
io/sentry/android/core/ANRWatchDog.java
f/e.java
io/sentry/android/core/internal/util/ConnectivityChecker.java
com/example/barcodescanner/feature/barcode/BarcodeActivity.java
io/sentry/android/core/PhoneStateBreadcrumbsIntegration.java
com/budiyev/android/codescanner/b.java
v1/d.java
o/d.java
k0/b.java
io/sentry/android/core/TempSensorBreadcrumbsIntegration.java
com/journeyapps/barcodescanner/a.java
io/sentry/android/core/DefaultAndroidEventProcessor.java
Http connection
       w3/f.java
io/sentry/transport/HttpConnection.java
Https connection
       io/sentry/transport/HttpConnection.java
Inter process communication
       com/journeyapps/barcodescanner/c.java
j/e.java
com/example/barcodescanner/feature/barcode/BarcodeActivity.java
o/d.java
t/d.java
p/b.java
com/example/barcodescanner/feature/tile/QuickSettingsTileService.java
j/a.java
y1/d.java
b/b.java
io/sentry/android/core/SystemEventsBreadcrumbsIntegration.java
com/example/barcodescanner/feature/barcode/otp/OtpActivity.java
com/example/barcodescanner/feature/tabs/scan/file/ScanBarcodeFromFileActivity.java
b/a.java
v/n.java
com/example/barcodescanner/feature/tabs/create/CreateBarcodeActivity.java
com/example/barcodescanner/feature/barcode/save/SaveBarcodeAsImageActivity.java
a/a.java
com/example/barcodescanner/feature/barcode/BarcodeImageActivity.java
com/example/barcodescanner/feature/barcode/save/SaveBarcodeAsTextActivity.java
com/example/barcodescanner/feature/tabs/BottomTabsActivity.java
com/journeyapps/barcodescanner/CaptureActivity.java
w0/f.java
q/c.java
q/f.java
io/sentry/android/core/DefaultAndroidEventProcessor.java
Jar url connection
       b2/c.java
Java reflection
       m3/e.java
ezvcard/VCardDataType.java
f2/c1.java
freemarker/ext/beans/b.java
b2/r.java
j2/k.java
f2/i0.java
f2/t.java
freemarker/ext/beans/a.java
freemarker/core/b.java
f2/x0.java
f2/z.java
f2/j.java
io/sentry/UnknownPropertiesTypeAdapterFactory.java
k2/b.java
io/sentry/SentryOptions.java
f2/p0.java
c2/t8.java
m3/a.java
f2/c.java
ezvcard/util/CaseClasses.java
g2/f.java
p3/j.java
ezvcard/parameter/VCardParameter.java
i2/a.java
f2/v.java
b2/t.java
f2/a0.java
f2/f1.java
f2/b.java
c2/v8.java
f2/r0.java
f2/q.java
c2/u8.java
f2/e.java
io/sentry/android/core/LoadClass.java
f2/y0.java
c2/s8.java
Loading native code (shared library)
       io/sentry/android/ndk/SentryNdk.java
Local file i/o operations
       io/sentry/Hub.java
io/sentry/cache/EnvelopeCache.java
com/journeyapps/barcodescanner/c.java
x1/b.java
j/a.java
io/sentry/SendCachedEnvelopeFireAndForgetIntegration.java
b0/t.java
io/sentry/android/core/NdkIntegration.java
io/sentry/SentryOptions.java
io/sentry/Sentry.java
io/sentry/android/core/AndroidOptionsInitializer.java
io/sentry/android/core/DefaultAndroidEventProcessor.java
Message digest
       e2/b.java
Query database of sms, contacts etc
       com/example/barcodescanner/feature/tabs/create/CreateBarcodeActivity.java
Set or read clipboard data
       com/example/barcodescanner/feature/barcode/BarcodeActivity.java
o/d.java
Starting activity
       p/b.java
com/example/barcodescanner/feature/tabs/scan/file/ScanBarcodeFromFileActivity.java
j/e.java
com/example/barcodescanner/feature/barcode/BarcodeActivity.java
j/a.java
v/n.java
com/example/barcodescanner/feature/tabs/create/CreateBarcodeActivity.java
q/c.java
o/d.java
t/d.java
Tcp server socket
       e2/b.java
e2/a.java
Tcp socket
       e2/b.java
x3/a.java
Url connection to file/http/https/ftp/jar
       b2/b0.java
b2/c.java
io/sentry/transport/HttpConnection.java

Control flow graphs analysis

Information computed by Pithus.

The application probably opens socket

The application probably gets network interfaces addresses (IP and/or MAC)

The application probably plays sound

The application probably sends data over HTTP/S

The application probably starts another application

The application probably executes OS commands

The application probably gets memory and CPU information

The application probably creates an accessibility service

The application probably listens accessibility events