Analysis
-
max time kernel
35s -
max time network
174s -
platform
android_x86 -
resource
android-x86-arm-20240611.1-en -
resource tags
androidarch:armarch:x86image:android-x86-arm-20240611.1-enlocale:en-usos:android-9-x86system -
submitted
12-06-2024 10:32
Static task
static1
Behavioral task
behavioral1
Sample
a0562e908bd461c881aa5604a9931df9_JaffaCakes118.apk
Resource
android-x86-arm-20240611.1-en
General
-
Target
a0562e908bd461c881aa5604a9931df9_JaffaCakes118.apk
-
Size
1.7MB
-
MD5
a0562e908bd461c881aa5604a9931df9
-
SHA1
cec0bc466761ca42e8414107ae1f3e8986b882be
-
SHA256
6ca121b27a51f9a7b84b1ac82f060187ea7fcc7d9c84ef6dc7edc63ccacb4a7f
-
SHA512
bc5356efcc8be6c288b48d47045cb76a8456c0117640e574b864042816c3dc8677b08131d670068a19dcd58b10c97af39176f2511297cbdcf79f3c1f73e6ecd0
-
SSDEEP
24576:fd0DR/V+CDjYr2FSo6f7/0Pv525RtOI4KdewVTuziR4m4Y0xTCYES2I2GsKr:fGhD7Stf7MPvejndereym4TCvS2Us4
Malware Config
Signatures
-
Loads dropped Dex/Jar 1 TTPs 8 IoCs
Runs executable file dropped to the device during analysis.
Processes:
/system/bin/dex2oat --instruction-set=x86 --instruction-set-features=ssse3,-sse4.1,-sse4.2,-avx,-avx2,-popcnt --runtime-arg -Xhidden-api-checks --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=x86 --instruction-set-features=default --inline-max-code-units=0 --compact-dex-level=none --dex-file=/data/user/0/com.zke.ofakdv/files/xu/hntOHuAJ.jar --output-vdex-fd=44 --oat-fd=45 --oat-location=/data/user/0/com.zke.ofakdv/files/xu/oat/x86/hntOHuAJ.odex --compiler-filter=quicken --class-loader-context=&com.zke.ofakdv/system/bin/dex2oat --instruction-set=x86 --instruction-set-features=ssse3,-sse4.1,-sse4.2,-avx,-avx2,-popcnt --runtime-arg -Xhidden-api-checks --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=x86 --instruction-set-features=default --inline-max-code-units=0 --compact-dex-level=none --dex-file=/data/user/0/com.zke.ofakdv/files/Pdd.apk --output-vdex-fd=60 --oat-fd=65 --oat-location=/data/user/0/com.zke.ofakdv/files/oat/x86/Pdd.odex --compiler-filter=quicken --class-loader-context=&/system/bin/dex2oat --instruction-set=x86 --instruction-set-features=ssse3,-sse4.1,-sse4.2,-avx,-avx2,-popcnt --runtime-arg -Xhidden-api-checks --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=x86 --instruction-set-features=default --inline-max-code-units=0 --compact-dex-level=none --dex-file=/data/user/0/com.zke.ofakdv/app_dex/utopay.jar --output-vdex-fd=74 --oat-fd=75 --oat-location=/data/user/0/com.zke.ofakdv/app_dex/oat/x86/utopay.odex --compiler-filter=quicken --class-loader-context=&/system/bin/dex2oat --instruction-set=x86 --instruction-set-features=ssse3,-sse4.1,-sse4.2,-avx,-avx2,-popcnt --runtime-arg -Xhidden-api-checks --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=x86 --instruction-set-features=default --inline-max-code-units=0 --compact-dex-level=none --dex-file=/data/user/0/com.zke.ofakdv/files/yl_plugin.apk --output-vdex-fd=76 --oat-fd=73 --oat-location=/data/user/0/com.zke.ofakdv/files/oat/x86/yl_plugin.odex --compiler-filter=quicken --class-loader-context=&ioc pid process /data/user/0/com.zke.ofakdv/files/xu/hntOHuAJ.jar 4290 /system/bin/dex2oat --instruction-set=x86 --instruction-set-features=ssse3,-sse4.1,-sse4.2,-avx,-avx2,-popcnt --runtime-arg -Xhidden-api-checks --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=x86 --instruction-set-features=default --inline-max-code-units=0 --compact-dex-level=none --dex-file=/data/user/0/com.zke.ofakdv/files/xu/hntOHuAJ.jar --output-vdex-fd=44 --oat-fd=45 --oat-location=/data/user/0/com.zke.ofakdv/files/xu/oat/x86/hntOHuAJ.odex --compiler-filter=quicken --class-loader-context=& /data/user/0/com.zke.ofakdv/files/xu/hntOHuAJ.jar 4228 com.zke.ofakdv /data/user/0/com.zke.ofakdv/files/Pdd.apk 4361 /system/bin/dex2oat --instruction-set=x86 --instruction-set-features=ssse3,-sse4.1,-sse4.2,-avx,-avx2,-popcnt --runtime-arg -Xhidden-api-checks --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=x86 --instruction-set-features=default --inline-max-code-units=0 --compact-dex-level=none --dex-file=/data/user/0/com.zke.ofakdv/files/Pdd.apk --output-vdex-fd=60 --oat-fd=65 --oat-location=/data/user/0/com.zke.ofakdv/files/oat/x86/Pdd.odex --compiler-filter=quicken --class-loader-context=& /data/user/0/com.zke.ofakdv/files/Pdd.apk 4228 com.zke.ofakdv /data/user/0/com.zke.ofakdv/app_dex/utopay.jar 4393 /system/bin/dex2oat --instruction-set=x86 --instruction-set-features=ssse3,-sse4.1,-sse4.2,-avx,-avx2,-popcnt --runtime-arg -Xhidden-api-checks --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=x86 --instruction-set-features=default --inline-max-code-units=0 --compact-dex-level=none --dex-file=/data/user/0/com.zke.ofakdv/app_dex/utopay.jar --output-vdex-fd=74 --oat-fd=75 --oat-location=/data/user/0/com.zke.ofakdv/app_dex/oat/x86/utopay.odex --compiler-filter=quicken --class-loader-context=& /data/user/0/com.zke.ofakdv/app_dex/utopay.jar 4228 com.zke.ofakdv /data/user/0/com.zke.ofakdv/files/yl_plugin.apk 4425 /system/bin/dex2oat --instruction-set=x86 --instruction-set-features=ssse3,-sse4.1,-sse4.2,-avx,-avx2,-popcnt --runtime-arg -Xhidden-api-checks --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=x86 --instruction-set-features=default --inline-max-code-units=0 --compact-dex-level=none --dex-file=/data/user/0/com.zke.ofakdv/files/yl_plugin.apk --output-vdex-fd=76 --oat-fd=73 --oat-location=/data/user/0/com.zke.ofakdv/files/oat/x86/yl_plugin.odex --compiler-filter=quicken --class-loader-context=& /data/user/0/com.zke.ofakdv/files/yl_plugin.apk 4228 com.zke.ofakdv -
Queries a list of all the installed applications on the device (Might be used in an attempt to overlay legitimate apps) 1 TTPs
-
Reads the content of SMS inbox messages. 1 TTPs 1 IoCs
Processes:
com.zke.ofakdvdescription ioc process URI accessed for read content://sms/inbox com.zke.ofakdv -
Reads the content of the SMS messages. 1 TTPs 1 IoCs
Processes:
com.zke.ofakdvdescription ioc process URI accessed for read content://sms/ com.zke.ofakdv -
Requests cell location 2 TTPs 1 IoCs
Uses Android APIs to to get current cell location.
Processes:
com.zke.ofakdvdescription ioc process Framework service call com.android.internal.telephony.ITelephony.getCellLocation com.zke.ofakdv -
Queries information about active data network 1 TTPs 1 IoCs
Processes:
com.zke.ofakdvdescription ioc process Framework service call android.net.IConnectivityManager.getActiveNetworkInfo com.zke.ofakdv -
Queries information about the current Wi-Fi connection 1 TTPs 1 IoCs
Application may abuse the framework's APIs to collect information about the current Wi-Fi connection.
Processes:
com.zke.ofakdvdescription ioc process Framework service call android.net.wifi.IWifiManager.getConnectionInfo com.zke.ofakdv -
Queries the mobile country code (MCC) 1 TTPs 1 IoCs
Processes:
com.zke.ofakdvdescription ioc process Framework service call com.android.internal.telephony.ITelephony.getNetworkCountryIsoForPhone com.zke.ofakdv -
Requests dangerous framework permissions 17 IoCs
Processes:
description ioc Allows read only access to phone state, including the current cellular network information, the status of any ongoing calls, and a list of any PhoneAccounts registered on the device. android.permission.READ_PHONE_STATE Allows an application to write to external storage. android.permission.WRITE_EXTERNAL_STORAGE Allows an application to read from external storage. android.permission.READ_EXTERNAL_STORAGE Allows an application to read SMS messages. android.permission.READ_SMS Allows an application to receive SMS messages. android.permission.RECEIVE_SMS Allows an application to send SMS messages. android.permission.SEND_SMS Allows an app to access approximate location. android.permission.ACCESS_COARSE_LOCATION Allows an app to create windows using the type LayoutParams.TYPE_APPLICATION_OVERLAY, shown on top of all other apps. android.permission.SYSTEM_ALERT_WINDOW Allows an application to initiate a phone call without going through the Dialer user interface for the user to confirm the call. android.permission.CALL_PHONE Required to be able to access the camera device. android.permission.CAMERA Allows read only access to phone state, including the current cellular network information, the status of any ongoing calls, and a list of any PhoneAccounts registered on the device. android.permission.READ_PHONE_STATE Allows an application to write to external storage. android.permission.WRITE_EXTERNAL_STORAGE Allows an application to read from external storage. android.permission.READ_EXTERNAL_STORAGE Allows an application to read SMS messages. android.permission.READ_SMS Allows an application to send SMS messages. android.permission.SEND_SMS Allows an application to receive SMS messages. android.permission.RECEIVE_SMS Allows an app to access approximate location. android.permission.ACCESS_COARSE_LOCATION -
Registers a broadcast receiver at runtime (usually for listening for system events) 1 TTPs 1 IoCs
Processes:
com.zke.ofakdvdescription ioc process Framework service call android.app.IActivityManager.registerReceiver com.zke.ofakdv -
Uses Crypto APIs (Might try to encrypt user data) 1 TTPs 1 IoCs
Processes:
com.zke.ofakdvdescription ioc process Framework API call javax.crypto.Cipher.doFinal com.zke.ofakdv -
Checks memory information 2 TTPs 1 IoCs
Processes:
com.zke.ofakdvdescription ioc process File opened for read /proc/meminfo com.zke.ofakdv
Processes
-
com.zke.ofakdv1⤵
- Loads dropped Dex/Jar
- Reads the content of SMS inbox messages.
- Reads the content of the SMS messages.
- Requests cell location
- Queries information about active data network
- Queries information about the current Wi-Fi connection
- Queries the mobile country code (MCC)
- Registers a broadcast receiver at runtime (usually for listening for system events)
- Uses Crypto APIs (Might try to encrypt user data)
- Checks memory information
PID:4228 -
/system/bin/dex2oat --instruction-set=x86 --instruction-set-features=ssse3,-sse4.1,-sse4.2,-avx,-avx2,-popcnt --runtime-arg -Xhidden-api-checks --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=x86 --instruction-set-features=default --inline-max-code-units=0 --compact-dex-level=none --dex-file=/data/user/0/com.zke.ofakdv/files/xu/hntOHuAJ.jar --output-vdex-fd=44 --oat-fd=45 --oat-location=/data/user/0/com.zke.ofakdv/files/xu/oat/x86/hntOHuAJ.odex --compiler-filter=quicken --class-loader-context=&2⤵
- Loads dropped Dex/Jar
PID:4290 -
/system/bin/dex2oat --instruction-set=x86 --instruction-set-features=ssse3,-sse4.1,-sse4.2,-avx,-avx2,-popcnt --runtime-arg -Xhidden-api-checks --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=x86 --instruction-set-features=default --inline-max-code-units=0 --compact-dex-level=none --dex-file=/data/user/0/com.zke.ofakdv/files/Pdd.apk --output-vdex-fd=60 --oat-fd=65 --oat-location=/data/user/0/com.zke.ofakdv/files/oat/x86/Pdd.odex --compiler-filter=quicken --class-loader-context=&2⤵
- Loads dropped Dex/Jar
PID:4361 -
/system/bin/dex2oat --instruction-set=x86 --instruction-set-features=ssse3,-sse4.1,-sse4.2,-avx,-avx2,-popcnt --runtime-arg -Xhidden-api-checks --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=x86 --instruction-set-features=default --inline-max-code-units=0 --compact-dex-level=none --dex-file=/data/user/0/com.zke.ofakdv/app_dex/utopay.jar --output-vdex-fd=74 --oat-fd=75 --oat-location=/data/user/0/com.zke.ofakdv/app_dex/oat/x86/utopay.odex --compiler-filter=quicken --class-loader-context=&2⤵
- Loads dropped Dex/Jar
PID:4393 -
/system/bin/dex2oat --instruction-set=x86 --instruction-set-features=ssse3,-sse4.1,-sse4.2,-avx,-avx2,-popcnt --runtime-arg -Xhidden-api-checks --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=x86 --instruction-set-features=default --inline-max-code-units=0 --compact-dex-level=none --dex-file=/data/user/0/com.zke.ofakdv/files/yl_plugin.apk --output-vdex-fd=76 --oat-fd=73 --oat-location=/data/user/0/com.zke.ofakdv/files/oat/x86/yl_plugin.odex --compiler-filter=quicken --class-loader-context=&2⤵
- Loads dropped Dex/Jar
PID:4425
Network
MITRE ATT&CK Mobile v15
Defense Evasion
Download New Code at Runtime
1Execution Guardrails
1Geofencing
1Virtualization/Sandbox Evasion
1System Checks
1Replay Monitor
Loading Replay Monitor...
Downloads
-
Filesize
30KB
MD5eb6089c1acfa9f12535e533aebee845e
SHA1165e39ee07dcd9ed00fc2dc1ff466bc1d6b813c9
SHA256b825cde84e3dddfc147c71265d2259c422d51a7e56d1dcdba1321e3119b1df07
SHA5125b1bc26bcbcf05fc331865fb4dd572b673a52650d68ab4d9b028ea15219e0d93c1ec17996953436801913388d78e25c67ea33aa93544d65e96a799eb06cc70f5
-
Filesize
512B
MD580cfe3f19dec2b47f8261f3f195fe5c5
SHA198b3a760d1a028111d6f3feca6b9868156f65331
SHA256c018d55147d3094f60cc51942f3bca6858ef0c1e0f44649aacb687ce9b63644d
SHA512eca3b5694f4a4460295222b589c70019eaf37842a4773d11dcba2f8cea32dea9065d312e5959f61e977033efb81b634711c4aed2f2670a21d9d68e3bae96de00
-
Filesize
140KB
MD5097968ab814cd61f4d4dd0b7051e741e
SHA1f24d82ac1549ab919e7ae3809b7c21e4f5eb4b19
SHA2563ed61c5c9ff6851a1d6f687fc15af2dc55140baa83e09cd1955df8d9c6f9c087
SHA512270103cbceaccabac6011de689749d187a57b2f83437eeb525e6bf1e4311c5fe1b760b97bebb9d7c3ee4a71824cc3338a417fcb6166a6a8567c55649135ae4d6
-
Filesize
4KB
MD5f2b4b0190b9f384ca885f0c8c9b14700
SHA1934ff2646757b5b6e7f20f6a0aa76c7f995d9361
SHA2560a8ffb6b327963558716e87db8946016d143e39f895fa1b43e95ba7032ce2514
SHA512ec12685fc0d60526eed4d38820aad95611f3e93ae372be5a57142d8e8a1ba17e6e5dfe381a4e1365dddc0b363c9c40daaffdc1245bd515fddac69bf1abacd7f1
-
Filesize
512B
MD504083a08573134f7158f5e031d262530
SHA19b67f709002a51d26b29cbfb17cac00ed9b9ef42
SHA256afa0d5d791084baa6c6633540ee593f3e880f42b83a79e64d12f5b542c4fbcfd
SHA512239db34b539afb68b922ce753fbed571591656772c38c43323516235523e5a6c892227789175065dddee529b36aec67a07cb598a31e7bd95b2d884e847bcafa7
-
Filesize
28KB
MD5cf845a781c107ec1346e849c9dd1b7e8
SHA1b44ccc7f7d519352422e59ee8b0bdbac881768a7
SHA25618619b678a5c207a971a0aa931604f48162e307c57ecdec450d5f095fe9f32c7
SHA5124802861ea06dc7fb85229a3c8f04e707a084f1ba516510c6f269821b33c8ee4ebf495258fe5bee4850668a5aac1a45f0edf51580da13b7ee160a29d067c67612
-
Filesize
20KB
MD57794915e5f77a37f8343761581411139
SHA19258e6c50b8c29694d6fdfd935a9b2e6617ae099
SHA2566bc5790b6f015b620b5d5e7e9bf723913c25bf06f40d989f9f137f36de4096b5
SHA512230a9630c89f7d682c3a8d0eca77b13b7f03f5d0cc7219df4d3210d1648e4b78fdc5ef76c14c07efe071fe54354a97c418d81d276b0f6d446be48239da4ae507
-
Filesize
99KB
MD5e8fbf92c750dbd6fb316be82a6b7b7ae
SHA12a6ae9568698807cacc8cf4349556446c996b136
SHA2562a3cb93d0ca14a1d0b0820c2a26df502a461fb2546ef4587524087c130553f10
SHA5127848191878b5b8ba2d5020c7be953e70ccc4d392d29e400a65a57cd3731604933125de1d81b3732d251b3450fd4766a814ccd01f3975beda2499a9ba585a26e0
-
Filesize
221B
MD5ff9229f8e7c92d44d48e25206d43b021
SHA1be3d75050c16c5b7484652ba292fdd6510f205d3
SHA25677fc3599be409f7e73e643de843c0ebcfa20662964c498fc59e245c7f5e003a2
SHA512be7b3aa8d670a2873c6b7bfd4ca93121fd2450723cbbc36d9d06d152fafa3ce90451f0a60ab56bc96bccb81cf5aae0167b404073db14dc17b9513ac73d455c58
-
Filesize
768KB
MD5bce637b6769c57d511e9d7f9927c8421
SHA176b784ebf5ec739e5860611eae7af270b05b79b3
SHA256380fd3d06bbc9ce926aa4f6fabc8e834f93d1f93469c933db78ca72423199123
SHA51218c347cdd53e919b6202afb998b4ce9104835ff866d1b140e166f88ad312df17be0440e25ceeb0862336b150dc64095789e312aa579c165e077478fb0d7b912d
-
Filesize
58KB
MD55a4c666b43ee7f2b6995aaf3527e4a4d
SHA1b205bcb022797f3b16635db139c7524c0c388adc
SHA25605eb3e1ca331b8c6a1f60f92abb2bddbac54a7b2c229ac07bf26c756297fe72a
SHA512c84fceddbf9928110fc3b85e0989b9cedd06383007ff99dea5a25096d8f892ab52d30ed9b52b72211449041f1274ead85bb42929ec269b58b6b0e616a8545e17
-
Filesize
67KB
MD53b8bb9a8679ac8c24e8d179fc5bae999
SHA1e6ea7a1095524087f481ba04321c4cb6fd2426f3
SHA25683c996c0d067b5f516897480f427dfffdcfb49ab7654dac9b805376bbd49e1db
SHA512abf1cbed7a8cf4a29d7a32a83f15aa0a6c9e2be8484c2dd8d9bf16a76e337b17b9c05efa0773598806b3d3da4fe3a9217b583abb9aaf5e3dc054dc77b10cae63
-
Filesize
67KB
MD55220524411d0bacd600da60814d1ee9f
SHA1fef7210ff44e757328bc0ff7aae7bb2191cbf634
SHA2566286a800597b845785eb664710253ebd20771737dddd5b80067e0e9d37c804b2
SHA512b2d8af5019c176d682634747d83320e609fb6122ef850f4069a0c78c2415d242087099cf60ecb03039a9ab71902a4e3b22e9cf144de89e506991fb93280f6a5f
-
Filesize
201KB
MD5b91783059376e2bebfd7c24802289350
SHA19e0f855404908f993a3beb146e7a4e83789674bd
SHA25646245d65e1d96038918f77ed8412bcde6a72b513c94a72369a751251f568e73c
SHA512c50af3f34a519fdb34aa9be70128c55c57df169f8112887f17f9dece581a15cd9b6702939ee4f77370bb33a5d2fe449610c42e699008d4233344d406c3563f30
-
Filesize
201KB
MD5a4237ef36f11c2db307f6d9701da0062
SHA15d11008a4b9275034db8904e538f7115a429ef0d
SHA25632f697f7444c79efe23be55fdcdab52c8e6f5cd43474cd1735602675feb5639e
SHA5126921b3cbb4e6a062eb9408c06e46e6d6cd7554f6e485b8f6275d8df3b7a8d23b26220c0cb979d3fe919fb6622d5d49160769b0567eebe61488cc4c7708f3b34d
-
Filesize
2.8MB
MD50b0387b81476090a284f7105fba4129b
SHA18720d05f70aacd247f5bfa83b8601b54a04beb66
SHA256b9871fb8bd0d9b91b2b058da7b73f5904f176a8bae7fcfd812f4774545a8fa5b
SHA51216bc1361f347135364d20162973305375b62166491dda427efcbdd84ab682b32c891c8e23a7aa6b3a2a25a96e9d6c6155d8322ac0b515b717210ed2720e7d4a5
-
Filesize
2.8MB
MD55087284b2c59a2df8c2f6c61d24497e3
SHA13805290096bdb822e2d694e264dca90302b79e8d
SHA256df95c902513c3744ad209e102d1f9e0cd2b2d43d482b1bf6446422301ce12743
SHA5126bd901b7764827e9ac3023550a6bf83319b5570323d2af6588b1260b82cb63a7da4b4cd122eb4708046f6dcee20dfa755d182ac9836f44f1cc32140e4195d7f4
-
Filesize
123KB
MD59fc68c74fcdf2ca6c0252ed39de275f0
SHA184438de24f01ade937d2f1a0f70c797e616b7199
SHA25687751b4f40f3cf03b3e2a1e5eb9ef248ad79a8f47304d2a527939ed634ac8f2c
SHA51210feb413b7a89f92339dd1d1a9538fdb22009279778d985f6649faf0af7cd1d5998adff439cad6b99ec2aade6b235b72385a83d9943e5b5898eb7ecdd7a398e8
-
Filesize
123KB
MD5918890b3fc5a3dc184a57d027ead24da
SHA1c638f375f49bc4731b633bdc001aeeadf9462039
SHA25657d03ac2189851d5069515da6997e12ca307c145aa21679da001477df5f81836
SHA512fd9bfe41ce4041dc8c7db17df2a2164a24ea96372c212399c499f94d1fb7d95d430b8a7eb86041b9b2db88dfca0cf39e53cba2dad1e346aebed29e4ca5deb2ef