0/61

Threat

idv.markkuo.cscblebridge

CSC BLE Bridge

Analyzed on 2022-01-13T13:45:28.858470

4

permissions

1

activities

1

services

0

receivers

1

domains

File sums

MD5 68f30990c10b410dda995669b47a7cea
SHA1 8c932deb6a2c811aabb43d43ad94bbd858036efa
SHA256 0cdc2ba8daf3112dc540f9c4097b522c2640943fccdebd9771237518ba2cb7a1
Size 3.77MB

APKiD

Information computed with APKiD.

/tmp/tmpfivwejn9!classes.dex
anti_vm
  • Build.FINGERPRINT check
  • Build.MANUFACTURER check
compiler
  • r8

SSdeep

Information computed with ssdeep.

APK file 98304:HloX+260yhPt0Pc7X2EhAZC/SWC5neLdSNVx+E07q:Fq6nedEhZSHVxB1
Manifest 96:iqj8zUErer/QPTPctypuqdsGtAMeAMDfSaVLMsw5D39Mkqh5dRU3:xjGeDQL0typjd…
classes.dex 98304:Yi+0VsxbFG3bwXbzs2K620Co5E+kwNBJdt:Yi+uaowX/sECo/Bzt

Dexofuzzy

Information computed with Dexofuzzy.

APK file 6144:wBG3Mq1xB/cyCH6ClXctOFdsnczM3bOLv0ay2tPbAxNH8fv8lsSIYyuHBAKr6:wB…
classes.dex 6144:wBG3Mq1xB/cyCH6ClXctOFdsnczM3bOLv0ay2tPbAxNH8fv8lsSIYyuHBAKr6:wB…

APK details

Information computed with AndroGuard and Pithus.

Package idv.markkuo.cscblebridge
App name CSC BLE Bridge
Version name 1.3
Version code 4
SDK 21 - 30
UAID c345317c5668030b72517e28d9650ffac18909f7
Signature Signature V1 Signature V2
Frosting Not frosted
Blocks found within V2 signature:
  • 0x7109871a: Unknown
  • 0x504b4453: Dependency metadata
  • 0x42726577: Verity padding

Certificate details

Information computed with AndroGuard.

MD5 db5530c880fdcfad420ae9c5dc90275a
SHA1 76430c7c883182cfc1d6301034ba04cdc5c28038
SHA256 21a59d782bfca76a8ca4f0fe801e944a4ed8bc91f08ee90ddee58ad071ec1560
Issuer Common Name: Mark Kuo, Country: AU
Not before 2021-01-26T04:41:45+00:00
Not after 2046-01-20T04:41:45+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.

Main Activity

Information computed with AndroGuard.

idv.markkuo.cscblebridge.LaunchActivity

Activities

Information computed with AndroGuard.

idv.markkuo.cscblebridge.LaunchActivity

Services

Information computed with AndroGuard.

idv.markkuo.cscblebridge.service.MainService

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 ['bluetooth', '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: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/ArraysKt___ArraysJvmKt$asList$1.java
kotlin/collections/unsigned/UArraysKt___UArraysJvmKt$asList$2.java
kotlin/reflect/jvm/internal/impl/utils/SmartList.java
kotlin/reflect/jvm/internal/impl/protobuf/UnmodifiableLazyStringList.java
kotlin/collections/ArraysKt___ArraysJvmKt$asList$4.java
kotlin/collections/builders/ListBuilder.java
kotlin/collections/CollectionsKt___CollectionsKt.java
kotlin/reflect/jvm/internal/impl/protobuf/LazyStringArrayList.java
com/dsi/ant/plugins/antplus/pcc/AntPlusWeightScalePcc.java
kotlin/random/FallbackThreadLocalRandom.java
kotlin/collections/ArraysKt___ArraysJvmKt$asList$2.java
kotlin/collections/MovingSubList.java
kotlin/collections/unsigned/UArraysKt___UArraysJvmKt$asList$3.java
kotlin/collections/CollectionsKt__MutableCollectionsJVMKt.java
kotlin/random/FallbackThreadLocalRandom$implStorage$1.java
kotlin/random/PlatformRandom.java
kotlin/collections/ArraysKt___ArraysJvmKt$asList$5.java
kotlin/collections/ArraysKt___ArraysJvmKt$asList$8.java
kotlin/collections/CollectionsKt__MutableCollectionsKt.java
High
CVSS:7.4
Files may contain hardcoded sensitive informations like usernames, passwords, keys etc.
MASVS: MSTG-STORAGE-14
CWE-312 Cleartext Storage of Sensitive Information
M9: Reverse Engineering
Files:
 com/dsi/ant/plugins/antplus/pcc/AntPlusFitnessEquipmentPcc.java
com/dsi/ant/plugins/antplus/pcc/AntPlusGeocachePcc.java
com/dsi/ant/plugins/antplus/pcc/AntPlusWeightScalePcc.java
com/dsi/ant/plugins/internal/pluginsipc/AntPluginMsgDefines.java
com/dsi/ant/plugins/antplus/pccbase/AsyncScanController.java
com/dsi/ant/plugins/antplus/pcc/AntPlusBloodPressurePcc.java
com/dsi/ant/plugins/antplus/pcc/controls/pccbase/AntPlusBaseRemoteControlPcc.java
com/dsi/ant/plugins/antplus/pcc/AntPlusBikePowerPcc.java
com/dsi/ant/plugins/internal/pluginsipc/AntPluginDeviceDbProvider.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:
 idv/markkuo/cscblebridge/service/ble/BleServer$gattServerCallback$1.java
idv/markkuo/cscblebridge/service/ble/BleServer.java
idv/markkuo/cscblebridge/service/ant/AntDeviceConnector$resultReceiver$1.java
kotlinx/coroutines/debug/AgentPremain$installSignalHandler$1.java
idv/markkuo/cscblebridge/service/ant/BsdConnector$subscribeToEvents$2.java
idv/markkuo/cscblebridge/service/ant/AntDeviceConnector$deviceStateChangedReceiver$1.java
idv/markkuo/cscblebridge/service/ble/BleServer$mAdvertiseCallback$1.java
com/dsi/ant/plugins/utility/log/LogAnt.java
kotlin/io/ConsoleKt.java
idv/markkuo/cscblebridge/service/ant/SSConnector$subscribeToEvents$1$onNewStrideCount$1.java
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/path/PathsKt__PathUtilsKt.java
kotlin/io/FilesKt__UtilsKt.java
Pygal United States: 100

Map computed by Pithus.

Domains analysis

Information computed with MobSF.

US www.apache.org 151.101.2.132

URL analysis

Information computed with MobSF.

http://www.apache.org/licenses/LICENSE-2.0
Defined in kotlin/reflect/jvm/internal/impl/descriptors/annotations/BuiltInAnnotationDescriptor.java

Permissions analysis

Information computed with MobSF.

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
Low android.permission.BLUETOOTH create Bluetooth connections
Allows applications to connect to paired bluetooth devices.
Low android.permission.BLUETOOTH_ADMIN bluetooth administration
Allows applications to discover and pair bluetooth devices.

Threat analysis

Information computed with Quark-Engine.

Confidence:
100%
Load external class
Confidence:
100%
Query the list of the installed packages
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%
Get declared method from given method name
Confidence:
100%
Read sensitive data(SMS, CALLLOG, etc)
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%
Get location of the device
Confidence:
100%
Method reflection
Confidence:
100%
Get the time of current location
Confidence:
100%
Initialize class object dynamically
Confidence:
100%
Get specific method from other Dex files
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%
Get resource file from res/raw directory

Behavior analysis

Information computed with MobSF.

Get installed applications
       com/dsi/ant/plugins/antplus/pccbase/AntPluginPcc.java
Get system service
       idv/markkuo/cscblebridge/service/ble/BleServer.java
idv/markkuo/cscblebridge/service/MainService.java
Inter process communication
       idv/markkuo/cscblebridge/LaunchActivity.java
com/dsi/ant/plugins/antplus/pcc/AntPlusGeocachePcc.java
com/dsi/ant/plugins/antplus/pcc/AntPlusBloodPressurePcc.java
com/dsi/ant/plugins/antplus/pcc/AntPlusStrideSdmPcc.java
com/dsi/ant/plugins/antplus/pcc/AntPlusEnvironmentPcc.java
com/dsi/ant/plugins/antplus/pcc/AntPlusWatchDownloaderPcc.java
com/dsi/ant/plugins/antplus/pcc/AntPlusHeartRatePcc.java
idv/markkuo/cscblebridge/service/ble/BleServer$bluetoothReceiver$1.java
idv/markkuo/cscblebridge/service/MainService.java
com/dsi/ant/plugins/antplus/pcc/controls/pccbase/AntPlusBaseRemoteControlPcc.java
com/dsi/ant/plugins/antplus/pcc/AntPlusBikePowerPcc.java
com/dsi/ant/plugins/antplus/pcc/MultiDeviceSearch.java
com/dsi/ant/plugins/antplus/pcc/AntPlusBikeCadencePcc.java
com/dsi/ant/plugins/antplus/pcc/controls/pccbase/AntPlusBaseControllableDevicePcc.java
idv/markkuo/cscblebridge/service/ble/BleServer.java
com/dsi/ant/plugins/antplus/pcc/AntPlusFitnessEquipmentPcc.java
com/dsi/ant/plugins/antplus/pcc/AntPlusWeightScalePcc.java
com/dsi/ant/plugins/antplus/pccbase/AntPluginPcc.java
com/dsi/ant/plugins/antplus/pcc/AntPlusBikeSpeedDistancePcc.java
idv/markkuo/cscblebridge/LaunchActivity$stopService$1.java
idv/markkuo/cscblebridge/LaunchActivity$connection$1.java
Java reflection
       kotlin/reflect/jvm/internal/KClassImpl$Data$objectInstance$2.java
kotlin/reflect/jvm/internal/RuntimeTypeMapper.java
kotlin/reflect/jvm/internal/JvmFunctionSignature$FakeJavaAnnotationConstructor$asString$1.java
kotlin/reflect/jvm/internal/KFunctionImpl$caller$2.java
kotlin/reflect/jvm/internal/impl/descriptors/runtime/components/SignatureSerializer.java
kotlinx/coroutines/internal/ConcurrentKt.java
kotlin/coroutines/jvm/internal/DebugMetadataKt.java
kotlin/reflect/jvm/internal/calls/CallerImpl.java
kotlin/reflect/jvm/internal/KClassImpl.java
kotlin/reflect/jvm/internal/impl/builtins/jvm/JvmBuiltInsSignatures.java
kotlin/internal/PlatformImplementationsKt.java
kotlin/reflect/jvm/internal/impl/renderer/DescriptorRendererOptionsImpl.java
kotlin/coroutines/jvm/internal/ModuleNameRetriever.java
kotlinx/coroutines/internal/FastServiceLoaderKt.java
kotlin/reflect/jvm/internal/KPropertyImpl$_javaField$1.java
kotlin/reflect/jvm/KCallablesJvm.java
kotlin/reflect/jvm/internal/impl/descriptors/runtime/components/ReflectJavaClassFinderKt.java
kotlinx/coroutines/internal/ExceptionsConstuctorKt.java
kotlin/reflect/jvm/internal/KProperty1Impl.java
kotlin/reflect/jvm/internal/JvmPropertySignature.java
kotlin/reflect/jvm/internal/impl/descriptors/runtime/structure/ReflectJavaClass$fields$2.java
kotlin/reflect/jvm/internal/JvmFunctionSignature.java
kotlin/reflect/jvm/internal/KProperty2Impl.java
kotlin/reflect/jvm/ReflectJvmMapping.java
kotlin/reflect/jvm/internal/RuntimeTypeMapperKt.java
kotlin/reflect/jvm/internal/calls/AnnotationConstructorCallerKt$createAnnotationInstance$2.java
kotlin/reflect/jvm/internal/KFunctionImpl.java
kotlin/reflect/jvm/internal/KPropertyImplKt.java
kotlinx/coroutines/CommonPool.java
kotlin/jvm/internal/Reflection.java
kotlin/reflect/jvm/internal/impl/descriptors/runtime/structure/Java8ParameterNamesLoader.java
kotlin/reflect/jvm/internal/impl/descriptors/runtime/structure/ReflectJavaClass$methods$1.java
kotlin/reflect/jvm/internal/calls/AnnotationConstructorCallerKt.java
kotlinx/coroutines/internal/FastServiceLoader.java
kotlin/reflect/jvm/internal/impl/resolve/scopes/DescriptorKindFilter.java
kotlin/jvm/internal/Intrinsics.java
kotlin/reflect/jvm/internal/KPropertyImplKt$computeCallerForAccessor$3.java
kotlin/reflect/jvm/internal/KDeclarationContainerImpl.java
kotlin/reflect/jvm/internal/calls/InternalUnderlyingValOfInlineClass.java
kotlin/internal/PlatformImplementations.java
kotlin/reflect/jvm/internal/impl/descriptors/runtime/structure/ReflectJavaField.java
kotlinx/coroutines/debug/internal/DebugProbesImpl.java
kotlin/reflect/jvm/internal/impl/descriptors/runtime/structure/ReflectJavaClass$methods$2.java
kotlin/reflect/jvm/internal/impl/protobuf/GeneratedMessageLite.java
kotlin/reflect/jvm/internal/calls/InlineClassAwareCaller.java
kotlin/reflect/jvm/internal/impl/descriptors/runtime/components/ReflectClassStructure.java
kotlin/reflect/jvm/internal/KPropertyImpl.java
kotlin/reflect/jvm/internal/calls/InlineClassAwareCallerKt.java
kotlin/reflect/jvm/internal/impl/descriptors/runtime/structure/ReflectJavaAnnotation.java
kotlin/reflect/jvm/internal/impl/descriptors/runtime/structure/ReflectJavaClass.java
kotlinx/coroutines/internal/StackTraceRecoveryKt.java
kotlin/reflect/jvm/internal/impl/descriptors/runtime/structure/ReflectJavaMethod.java
kotlin/reflect/jvm/internal/KProperty1Impl$delegateField$1.java
kotlin/reflect/jvm/internal/KProperty2Impl$delegateField$1.java
kotlin/reflect/jvm/internal/KFunctionImpl$defaultCaller$2.java
kotlin/reflect/jvm/internal/calls/AnnotationConstructorCallerKt$createAnnotationInstance$result$1.java
kotlin/jvm/internal/ClassReference.java
kotlin/reflect/jvm/internal/calls/AnnotationConstructorCaller.java
Local file i/o operations
       com/dsi/ant/plugins/utility/uuid/UniqueIdGenerator.java
Starting activity
       com/dsi/ant/plugins/antplus/pccbase/AntPluginPcc.java
Starting service
       idv/markkuo/cscblebridge/MainFragment.java
idv/markkuo/cscblebridge/LaunchActivity.java
idv/markkuo/cscblebridge/MainFragment$onCreateView$1.java
com/dsi/ant/plugins/antplus/pccbase/AntPluginPcc.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 gets memory and CPU information

The application probably listens accessibility events