0/46

Threat

com.duolingo

Duolingo

Analyzed on 2022-01-24T12:03:27.084156

27

permissions

98

activities

13

services

11

receivers

53

domains

File sums

MD5 239a6fcc6927c587264256086fe212c5
SHA1 f3bd91bed399082777ae0cbb64e84361e74013c9
SHA256 27d098871e52e0cb5a54e96c3c9d3e39b9ae6e6d2fdec19bc151da0e349d799a
Size 53.9MB

APKiD

Information computed with APKiD.

/tmp/tmpfs8ufth9!classes.dex
anti_vm
  • Build.FINGERPRINT check
  • Build.MODEL check
  • Build.MANUFACTURER check
  • Build.PRODUCT check
  • network operator name check
compiler
  • dexlib 2.x
/tmp/tmpfs8ufth9!classes2.dex
anti_vm
  • Build.MODEL check
  • Build.MANUFACTURER check
compiler
  • dexlib 2.x
/tmp/tmpfs8ufth9!classes3.dex
anti_vm
  • Build.FINGERPRINT check
  • Build.MODEL check
  • Build.MANUFACTURER check
  • Build.PRODUCT check
  • Build.HARDWARE check
  • Build.BOARD check
  • Build.TAGS check
  • SIM operator check
  • network operator name check
  • possible VM check
anti_debug
  • Debug.isDebuggerConnected() check
compiler
  • dexlib 2.x
/tmp/tmpfs8ufth9!classes4.dex
compiler
  • dexlib 2.x
/tmp/tmpfs8ufth9!classes5.dex
anti_vm
  • Build.MANUFACTURER check
  • Build.BOARD check
compiler
  • dexlib 2.x

SSdeep

Information computed with ssdeep.

APK file 786432:kPCgzzCE+SdyPBzjtZ7C/Pr8oKiTxgYyz3:kaczCE+ScPtJZiZKis3
Manifest 768:QzYptKFQ/RxcKE60y5iSbqUQt+ITmOd895eJ3yGZGAmpcCbZJGCMxz+TtrTFu0HL:…
classes.dex 98304:UJhvv1KPPZ1/W1NY+J8pvvmiuHRGc5YOBzB3Gcm:UJZ1KXmqtvuHDBd3Jm
classes2.dex 12288:WAfvMMlc8oG3fkjSEnroflmclpiIHaj0a6mn9Y6AuFYdg0Dtg:Htc03fWdOpiIs…
classes3.dex 98304:j9ehxuDM/wp0s3meUldMxLSzKKABCyoKiUcAknCN:j9ehxuD2kmeUlduLhKA4jU…
classes4.dex 6144:Piy8TbyxnZrsgtC3ERW74F6P8puTQdynOMIwP0F4/5UTPU1V0gwwDYWX5E8tHIcw…
classes5.dex 3072:x9CJ5Y6HHJcJj6gocIKisCONLA7NNWECV/FVz8NWG6+pWHJHMZ9BzcRKowicNxx6…

Dexofuzzy

Information computed with Dexofuzzy.

APK file 12288:cByH81HydWt+ftnpPYy1WF3unlxH69Et7Jt7VVbbges69sdoIu148z:cUaHyot+…
classes.dex 6144:MNewKACZbf1dmBrdyeI8xgOvRNKl1JjEc4nau1ECQRq35bff/L+jrQZ7qv64MiJ9…
classes2.dex 768:cQlxyHBlI3dX7sBQ3LyRokudDG8Z7zqMacaZy6oD:hknALyWBG8Fis6oD
classes3.dex 6144:dOg6gNT1UGIYsMS8ydRkRh7cc/1jn7r15AIDz7bGKSuTsybDnbyOOtAbxGgvWSLr…
classes4.dex 768:Ut8RFYCg3AQKHzNP80JDzizk+g8m8nZnRRRp33n4bPtE:8WFwoT9zizk38m8nZnRR…
classes5.dex 384:cte/rSp1i+do33p9LUwhgKKXDM9kh01OkFLcUrCSkVgeeHEwaywZMgqg3RvVQFm3:…

APK details

Information computed with AndroGuard and Pithus.

Package com.duolingo
App name Duolingo
Version name 5.41.1
Version code 1315
SDK 22 - 30
UAID e625f889150e0530778fb18afa7c969e0039c821
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 a8378db5c589a9a7eaac97e2279e8a8a
SHA1 60c2ca515229da14caa5527a7b8aa86de3bee73c
SHA256 0cfb4663831a0fb8d6973aad44e221a8ba78f7f684bd0b17d3b44bec82316484
Issuer Common Name: rockz5555 OU=Droid Freedom Unit O=Droid Freedom Inc L=Unknown S=Unknown C=LK
Not before 2014-12-05T00:45:57+00:00
Not after 2044-11-27T00:45:57+00:00

File Analysis

Information computed with MobSF.

Findings Files
Certificate/Key files hardcoded inside the app. okhttp3/internal/publicsuffix/NOTICE

Manifest analysis

Information computed with MobSF.

Low App has a Network Security Configuration[android:networkSecurityConfig=@xml/network_security_config]
The Network Security Configuration feature lets apps customize their network security settings in a safe, declarative configuration file without modifying app code. These settings can be configured for specific domains and for a specific app.
High Content Provider (com.facebook.FacebookContentProvider) is not Protected. [android:exported=true]
A Content Provider 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.duolingo.splash.LaunchActivity) 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-Alias (com.duolingo.app.LoginActivity) is not Protected. [android:exported=true]
An Activity-Alias 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.duolingo.wechat.WeChatReceiverActivity) 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-Alias (com.duolingo.wxapi.WXEntryActivity) is not Protected. [android:exported=true]
An Activity-Alias is found to be shared with other apps on the device therefore leaving it accessible to any other application on the device.
High Activity-Alias (com.duolingo.wxapi.WXPayEntryActivity) is not Protected. [android:exported=true]
An Activity-Alias is found to be shared with other apps on the device therefore leaving it accessible to any other application on the device.
High Service (com.duolingo.notifications.FcmIntentService) is not Protected. [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.
High Service (com.duolingo.core.account.AccountService) is not Protected. [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.
High Activity (com.facebook.CustomTabActivity) 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 Service (com.google.android.gms.auth.api.signin.RevocationBoundService) is Protected by a permission, but the protection level of the permission should be checked.
Permission: com.google.android.gms.auth.api.signin.permission.REVOCATION_NOTIFICATION [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 Broadcast Receiver (com.google.firebase.iid.FirebaseInstanceIdReceiver) is Protected by a permission, but the protection level of the permission should be checked.
Permission: com.google.android.c2dm.permission.SEND [android:exported=true]
A Broadcast Receiver 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 Service (com.google.android.play.core.assetpacks.AssetPackExtractionService) is not Protected. [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.
High Service (androidx.work.impl.background.systemjob.SystemJobService) is Protected by a permission, but the protection level of the permission should be checked.
Permission: android.permission.BIND_JOB_SERVICE [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 Broadcast Receiver (androidx.work.impl.diagnostics.DiagnosticsReceiver) is Protected by a permission, but the protection level of the permission should be checked.
Permission: android.permission.DUMP [android:exported=true]
A Broadcast Receiver 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.

Browsable activities

Information computed with MobSF.

com.duolingo.splash.LaunchActivity

Hosts: monthly_goal home lesson o practice premium profile skill switch_course shop reset_password leaderboard stories family-plan share-family-plan www.duolingo.com ar.duolingo.com cs.duolingo.com de.duolingo.com el.duolingo.com es.duolingo.com fr.duolingo.com hi.duolingo.com hu.duolingo.com id.duolingo.com it.duolingo.com ja.duolingo.com ko.duolingo.com nl-nl.duolingo.com pl.duolingo.com pt.duolingo.com ro.duolingo.com ru.duolingo.com th.duolingo.com tr.duolingo.com uk.duolingo.com vi.duolingo.com stories.duolingo.com blast.duolingo.com

Schemes: duolingo:// https://

com.facebook.CustomTabActivity

Hosts: cct.com.duolingo

Schemes: fbconnect://

Main Activity

Information computed with AndroGuard.

com.duolingo.app.LoginActivity

Activities

Information computed with AndroGuard.

com.duolingo.core.util.facebook.PlayFacebookUtils$WrapperActivity
com.duolingo.splash.LaunchActivity
com.duolingo.home.HomeActivity
com.duolingo.session.SessionActivity
com.duolingo.onboarding.WelcomeFlowActivity
com.duolingo.onboarding.FromLanguageActivity
com.duolingo.session.LevelTestExplainedActivity
com.duolingo.onboarding.PlacementTestExplainedActivity
com.duolingo.session.CheckpointTestExplainedActivity
com.duolingo.session.CheckpointQuizExplainedActivity
com.duolingo.session.SkillRestoreExplainedActivity
com.duolingo.session.MistakesPracticeActivity
com.duolingo.session.LevelReviewExplainedActivity
com.duolingo.settings.SettingsActivity
com.duolingo.plus.management.ManageSubscriptionActivity
com.duolingo.feedback.FeedbackFormActivity
com.duolingo.profile.ProfileAddFriendsFlowActivity
com.duolingo.profile.AddFriendsFlowActivity
com.duolingo.profile.AddFriendsFlowFragmentWrapperActivity
com.duolingo.profile.contactsync.AddPhoneActivity
com.duolingo.signuplogin.CountryCodeActivity
com.duolingo.profile.facebookfriends.FacebookFriendsOnSignInPromptActivity
com.duolingo.profile.facebookfriends.FacebookFriendsSearchOnSignInActivity
com.duolingo.profile.ProfileActivity
com.duolingo.profile.completion.CompleteProfileActivity
com.duolingo.rampup.RampUpIntroActivity
com.duolingo.profile.SchoolsActivity
com.duolingo.signuplogin.SignupActivity
com.duolingo.signuplogin.AddPhoneActivity
com.duolingo.forum.SentenceDiscussionActivity
com.duolingo.plus.dashboard.PlusActivity
com.duolingo.plus.management.PlusCancelSurveyActivity
com.duolingo.plus.management.PlusFeatureListActivity
com.duolingo.progressquiz.ProgressQuizHistoryActivity
com.duolingo.progressquiz.ProgressQuizRetryActivity
com.duolingo.plus.offline.OfflineCoursesActivity
com.duolingo.plus.purchaseflow.PlusPurchaseFlowActivity
com.duolingo.plus.onboarding.WelcomeToPlusActivity
com.duolingo.referral.ReferralPlusInfoActivity
com.duolingo.referral.ReferralInviterBonusActivity
com.duolingo.sessionend.progressquiz.ProgressQuizOfferActivity
com.duolingo.sessionend.ads.PlusPromoVideoActivity
com.duolingo.sessionend.ImmersivePlusIntroActivity
com.duolingo.hearts.HeartsWithRewardedVideoActivity
com.duolingo.shop.RewardedVideoGemAwardActivity
com.duolingo.referral.ReferralInterstitialActivity
com.duolingo.streak.calendar.ExpandedStreakCalendarActivity
com.duolingo.goals.GoalsHomeActivity
com.duolingo.goals.GoalsMonthlyGoalDetailsActivity
com.duolingo.achievements.AchievementUnlockedActivity
com.duolingo.achievements.AchievementRewardActivity
com.duolingo.alphabets.AlphabetsPracticeIntroActivity
com.duolingo.alphabets.AlphabetsTipListActivity
com.duolingo.referral.ReferralExpiringActivity
com.duolingo.plus.registration.WelcomeRegistrationActivity
com.duolingo.explanations.ExplanationListDebugActivity
com.duolingo.explanations.SkillTipActivity
com.duolingo.explanations.AlphabetsTipActivity
com.duolingo.signuplogin.ResetPasswordActivity
com.duolingo.referral.TieredRewardsActivity
com.duolingo.stories.StoriesSessionActivity
com.duolingo.session.HardModePromptActivity
com.duolingo.finallevel.FinalLevelIntroActivity
com.duolingo.finallevel.FinalLevelFailureActivity
com.duolingo.web.WebViewActivity
com.duolingo.plus.mistakesinbox.MistakesInboxPreviewActivity
com.duolingo.core.offline.ui.MaintenanceActivity
com.duolingo.plus.familyplan.FamilyPlanLandingActivity
com.duolingo.plus.familyplan.FamilyPlanConfirmActivity
com.duolingo.plus.familyplan.FamilyPlanInvalidActivity
com.duolingo.plus.familyplan.FamilyPlanPlusActivity
com.duolingo.plus.onboarding.PlusOnboardingNotificationsActivity
com.duolingo.wordslist.WordsListActivity
com.duolingo.plus.familyplan.ManageFamilyPlanActivity
com.duolingo.scoreinfo.DuoScoreInfoActivity
com.duolingo.session.UnitBookendsStartActivity
com.duolingo.debug.DebugActivity
com.duolingo.debug.DesignGuidelinesActivity
com.duolingo.session.SessionDebugActivity
com.duolingo.stories.StoriesDebugActivity
com.duolingo.rewards.RewardsDebugActivity
com.duolingo.debug.mvvm.MvvmExampleActivity
com.duolingo.debug.RLottieTestingActivity
com.duolingo.debug.RiveTestingActivity
com.duolingo.debug.ResourceManagerExamplesActivity
com.duolingo.debug.BackendTutorialActivity
com.duolingo.debug.MessagesDebugActivity
com.duolingo.debug.sessionend.SessionEndDebugActivity
com.duolingo.onboarding.DebugPlacementTestActivity
com.duolingo.wechat.WeChatReceiverActivity
com.duolingo.wechat.WeChatFollowInstructionsActivity
com.facebook.FacebookActivity
com.facebook.CustomTabMainActivity
com.facebook.CustomTabActivity
com.google.android.gms.auth.api.signin.internal.SignInHubActivity
com.google.android.gms.common.api.GoogleApiActivity
com.google.android.play.core.missingsplits.PlayCoreMissingSplitsActivity
com.google.android.play.core.common.PlayCoreDialogWrapperActivity

Receivers

Information computed with AndroGuard.

com.duolingo.referral.ShareReceiver
com.facebook.CurrentAccessTokenExpirationBroadcastReceiver
com.google.firebase.iid.FirebaseInstanceIdReceiver
androidx.work.impl.utils.ForceStopRunnable$BroadcastReceiver
androidx.work.impl.background.systemalarm.ConstraintProxy$BatteryChargingProxy
androidx.work.impl.background.systemalarm.ConstraintProxy$BatteryNotLowProxy
androidx.work.impl.background.systemalarm.ConstraintProxy$StorageNotLowProxy
androidx.work.impl.background.systemalarm.ConstraintProxy$NetworkStateProxy
androidx.work.impl.background.systemalarm.RescheduleReceiver
androidx.work.impl.background.systemalarm.ConstraintProxyUpdateReceiver
androidx.work.impl.diagnostics.DiagnosticsReceiver

Services

Information computed with AndroGuard.

com.duolingo.notifications.FcmIntentService
com.duolingo.notifications.NotificationIntentService
com.duolingo.notifications.NotificationUtils$NotificationIntentServiceProxy
com.duolingo.session.SessionPreloadService
com.duolingo.core.account.AccountService
com.google.android.gms.auth.api.signin.RevocationBoundService
com.google.firebase.messaging.FirebaseMessagingService
com.google.firebase.components.ComponentDiscoveryService
com.google.android.play.core.assetpacks.AssetPackExtractionService
com.google.android.play.core.assetpacks.ExtractionForegroundService
androidx.work.impl.background.systemalarm.SystemAlarmService
androidx.work.impl.background.systemjob.SystemJobService
androidx.work.impl.foreground.SystemForegroundService

Sample timeline

Certificate valid not before Dec. 5, 2014, 12:45 a.m.
Oldest file found in APK Jan. 15, 2022, 10:03 a.m.
Latest file found in APK Jan. 16, 2022, 10:28 a.m.
First submission on VT Jan. 17, 2022, 12:04 p.m.
Last submission on VT Jan. 18, 2022, 8:13 p.m.
Upload on Pithus Jan. 24, 2022, 12:03 p.m.
Certificate valid not after Nov. 27, 2044, 12:45 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 implement asymmetric key generation.
Cryptographic Key Generation Services
FDP_DEC_EXT.1.1 The application has access to ['network connectivity', 'microphone', 'camera'].
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_CKM.1.1(1) The application generate asymmetric cryptographic keys not in accordance with FCS_CKM.1.1(1) using key generation algorithm RSA schemes and cryptographic key sizes of 1024-bit or lower.
Cryptographic Asymmetric Key Generation
FCS_COP.1.1(1) The application perform encryption/decryption in accordance with a specified cryptographic algorithm AES-CBC (as defined in NIST SP 800-38A) mode or AES-GCM (as defined in NIST SP 800-38D) and cryptographic key sizes 256-bit/128-bit.
Cryptographic Operation - Encryption/Decryption
FCS_COP.1.1(2) The application perform cryptographic hashing services not in accordance with FCS_COP.1.1(2) and uses the cryptographic algorithm RC2/RC4/MD4/MD5.
Cryptographic Operation - Hashing
FCS_COP.1.1(4) The application perform keyed-hash message authentication with cryptographic algorithm ['HMAC-SHA-256'] .
Cryptographic Operation - Keyed-Hash Message Authentication
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
FCS_HTTPS_EXT.1.3 The application notify the user and not establish the connection or request application authorization to establish the connection if the peer certificate is deemed invalid.
HTTPS Protocol
FIA_X509_EXT.1.1 The application invoked platform-provided functionality to validate certificates in accordance with the following rules: ['The certificate path must terminate with a trusted CA certificate'].
X.509 Certificate Validation
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
FIA_X509_EXT.2.2 When the application cannot establish a connection to determine the validity of a certificate, the application allow the administrator to choose whether to accept the certificate in these cases or accept the certificate ,or not accept the certificate.
X.509 Certificate Authentication
FPT_TUD_EXT.2.1 The application shall be distributed using the format of the platform-supported package manager.
Integrity for Installation and Update
FCS_CKM.1.1(2) The application shall generate symmetric cryptographic keys using a Random Bit Generator as specified in FCS_RBG_EXT.1 and specified cryptographic key sizes 128 bit or 256 bit.
Cryptographic Symmetric Key Generation

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/tencent/mm/opensdk/diffdev/a/e.java
com/unity3d/services/core/device/OpenAdvertisingId.java
com/duolingo/core/extensions/f.java
cf/a.java
fsimpl/dY.java
com/tencent/mm/opensdk/modelmsg/GetMessageFromWX.java
p/b.java
com/tencent/mm/opensdk/modelbiz/JumpToBizTempSession.java
fsimpl/C0694ds.java
com/tencent/mm/opensdk/modelmsg/WXImageObject.java
fsimpl/C0639bq.java
com/duolingo/core/networking/DuoResponseDelivery.java
com/unity3d/services/banners/BannerView.java
ad/r2.java
com/tencent/mm/opensdk/openapi/WXAPIFactory.java
fsimpl/I.java
com/duolingo/billing/x.java
com/duolingo/core/networking/legacy/LegacyApi$avatarUploadHandler$1.java
com/unity3d/services/ar/view/ARView.java
com/duolingo/core/util/u0.java
com/duolingo/core/networking/legacy/a.java
fsimpl/C0647by.java
fsstub/a.java
cc/x.java
com/tencent/mm/opensdk/modelmsg/WXGameVideoFileObject.java
com/fullstory/rust/RustInterface.java
com/ibm/icu/text/h.java
com/unity3d/services/ads/video/VideoPlayerView.java
com/unity3d/services/core/cache/CacheThread.java
com/tencent/mm/opensdk/modelmsg/WXMiniProgramObject.java
xf/f.java
com/unity3d/services/core/webview/bridge/NativeCallback.java
com/unity3d/services/core/api/Intent.java
com/unity3d/services/core/request/WebRequestThread.java
com/unity3d/services/ads/api/AdUnit.java
com/unity3d/services/core/webview/bridge/WebViewBridgeInterface.java
com/fullstory/instrumentation/InstrumentInjectorBridgeImpl.java
com/unity3d/services/purchasing/core/TransactionErrorDetailsUtilities.java
ff/a.java
nc/o.java
fsimpl/aD.java
hd/a.java
fsimpl/AbstractC0732i.java
com/unity3d/services/core/api/Cache.java
com/tencent/mm/opensdk/modelbiz/WXInvoiceAuthInsert.java
i3/c.java
com/unity3d/services/core/device/AdvertisingId.java
com/tencent/mm/opensdk/modelmsg/LaunchFromWX.java
com/tencent/mm/opensdk/modelbiz/SubscribeMiniProgramMsg.java
jb/c1.java
com/duolingo/leagues/LeaguesResultFragment.java
com/unity3d/ads/UnityAdsBaseOptions.java
com/unity3d/services/core/request/WebRequest.java
com/unity3d/services/core/device/Storage.java
ed/s5.java
fsimpl/V.java
fsimpl/P.java
com/tencent/mm/opensdk/diffdev/a/a.java
fsimpl/cY.java
xf/h.java
pf/o.java
com/unity3d/services/core/webview/bridge/Invocation.java
bk/c.java
com/unity3d/services/ar/ARUtils.java
com/unity3d/services/core/broadcast/BroadcastEventReceiver.java
ed/c6.java
pf/u.java
com/unity3d/services/ads/api/VideoPlayer.java
com/unity3d/services/core/api/DeviceInfo.java
com/unity3d/services/core/properties/ClientProperties.java
com/tencent/mm/opensdk/diffdev/DiffDevOAuthFactory.java
com/unity3d/services/core/misc/ViewUtilities.java
fsimpl/C0601af.java
com/tencent/mm/opensdk/modelbiz/WXPayInsurance.java
ed/e3.java
ok/d.java
z2/k1.java
com/duolingo/debug/j.java
fsimpl/C.java
s3/n0.java
com/unity3d/services/core/configuration/Configuration.java
com/unity3d/services/purchasing/core/TransactionDetailsUtilities.java
com/unity3d/services/ads/UnityAdsImplementation.java
fsimpl/aH.java
com/ibm/icu/impl/g.java
com/fullstory/util/Log.java
ec/f0.java
u6/d.java
com/tencent/mm/opensdk/modelbiz/WXOpenBusinessView.java
com/fullstory/jni/FSNative.java
xf/o.java
fsimpl/aP.java
com/ibm/icu/impl/s.java
fsimpl/N.java
m4/c.java
com/tencent/mm/opensdk/channel/MMessageActV2.java
com/unity3d/services/banners/UnityBanners.java
com/tencent/mm/opensdk/channel/a/a.java
fsimpl/C0711ei.java
xf/d.java
z6/t.java
com/unity3d/services/ads/adunit/VideoPlayerHandler.java
com/duolingo/core/networking/legacy/LegacyApi$searchUsers$handler$1.java
fsimpl/C0622b.java
fsimpl/bB.java
com/unity3d/services/purchasing/core/api/CustomPurchasing.java
xf/j.java
m4/b.java
com/tencent/mm/opensdk/modelbiz/ChooseCardFromWXCardPackage.java
fsimpl/C0596aa.java
com/duolingo/sessionend/d4.java
com/tencent/mm/opensdk/modelbiz/WXLaunchMiniProgram.java
f3/m.java
fsimpl/bI.java
com/unity3d/services/core/configuration/InitializationNotificationCenter.java
pf/p.java
s3/f.java
fsimpl/C0595a.java
com/unity3d/services/ads/adunit/AdUnitActivity.java
ad/d3.java
com/tencent/mm/opensdk/modelmsg/WXVideoFileObject.java
com/unity3d/services/core/api/Sdk.java
com/unity3d/services/core/webview/WebViewApp.java
fsimpl/eG.java
n6/r.java
com/duolingo/session/challenges/y0.java
com/fullstory/instrumentation/webview/WebViewTracker.java
pf/d.java
com/ibm/icu/text/i.java
fsimpl/dT.java
com/tencent/mm/opensdk/modelmsg/WXDesignerSharedObject.java
com/tencent/mm/opensdk/openapi/BaseWXApiImplV10.java
com/unity3d/services/core/device/Device.java
com/duolingo/core/DuoApp.java
com/tencent/mm/opensdk/modelmsg/WXAppExtendObject.java
bd/b.java
com/tencent/mm/opensdk/modelbiz/JumpToBizProfile.java
com/tencent/mm/opensdk/modelmsg/WXEmojiObject.java
com/duolingo/core/tracking/timespent/TimeSpentTracker.java
fsimpl/bE.java
s4/d.java
com/duolingo/signuplogin/m4.java
fk/c.java
n6/d1.java
ve/a.java
com/unity3d/services/core/cache/CacheDirectory.java
pf/t.java
com/tencent/mm/opensdk/modelmsg/WXTextObject.java
com/tencent/mm/opensdk/diffdev/a/f.java
com/fullstory/instrumentation/InstrumentInjector.java
le/t.java
pf/i.java
y2/h.java
ec/f.java
com/unity3d/services/store/StoreBilling.java
fsimpl/S.java
ad/j2.java
yf/d.java
com/duolingo/onboarding/CoursePreviewFragment.java
com/tencent/mm/opensdk/utils/a.java
e9/j.java
com/duolingo/core/util/DuoLog.java
com/unity3d/services/core/cache/CacheThreadHandler.java
com/duolingo/signuplogin/p3.java
pb/v.java
fsimpl/C0733j.java
com/duolingo/core/localization/b.java
o6/d0.java
fsimpl/bC.java
ye/c.java
y2/o1.java
fsimpl/C0704eb.java
fsimpl/C0617av.java
com/unity3d/services/monetization/UnityMonetization.java
fsimpl/eQ.java
com/unity3d/services/core/webview/bridge/WebViewBridge.java
com/tencent/mm/opensdk/modelmsg/WXEmojiSharedObject.java
ac/i.java
ze/b.java
nk/e.java
pf/e.java
hc/a.java
com/tencent/mm/opensdk/utils/c.java
com/unity3d/services/core/misc/Utilities.java
com/unity3d/services/core/preferences/AndroidPreferences.java
fsimpl/C0684dh.java
ad/s3.java
we/b.java
com/duolingo/home/treeui/w.java
x6/b.java
com/fullstory/instrumentation/Bootstrap.java
com/unity3d/services/core/webview/bridge/WebViewCallback.java
fsimpl/C0612aq.java
com/unity3d/ads/metadata/MetaData.java
fsimpl/C0685di.java
zendesk/messaging/MessagingModel.java
com/tencent/mm/opensdk/modelmsg/SendMessageToWX.java
org/pcollections/a.java
s8/h.java
fsimpl/dO.java
com/unity3d/services/monetization/core/utilities/JSONUtilities.java
com/duolingo/core/networking/legacy/LegacyApi$joinClassroomHandler$1.java
com/duolingo/splash/LaunchViewModel.java
xf/e.java
com/unity3d/services/ads/webplayer/WebPlayerView.java
ff/b.java
com/ibm/icu/impl/b0.java
fsimpl/C0614as.java
com/unity3d/services/core/connectivity/ConnectivityMonitor.java
d4/n.java
fsimpl/Cdo.java
p9/n.java
com/tencent/mm/opensdk/modelmsg/WXWebpageObject.java
com/duolingo/signuplogin/SignupActivityViewModel.java
fsimpl/C0613ar.java
pf/r.java
com/tencent/mm/opensdk/diffdev/a/d.java
fsimpl/bG.java
z6/v.java
fsimpl/A.java
pf/x.java
com/unity3d/services/core/properties/SdkProperties.java
ve/c.java
com/unity3d/services/core/request/WebRequestRunnable.java
com/unity3d/services/monetization/placementcontent/core/PlacementContent.java
pf/b.java
fsimpl/C0738o.java
fsimpl/AbstractC0731h.java
com/unity3d/services/UnityServices.java
fsimpl/AbstractC0729f.java
id/a.java
n4/b.java
com/unity3d/services/core/misc/JsonStorage.java
com/ibm/icu/impl/p0.java
cc/v0.java
com/unity3d/services/core/configuration/InitializeThread.java
fsimpl/cP.java
fsimpl/C0682df.java
fsimpl/C0599ad.java
com/unity3d/services/ads/api/WebPlayer.java
com/unity3d/services/ads/configuration/AdsModuleConfiguration.java
com/tencent/mm/opensdk/modelbiz/AddCardToWXCardPackage.java
com/tencent/mm/opensdk/modelbiz/JumpToBizWebview.java
com/duolingo/core/networking/rx/f.java
z2/b1.java
com/unity3d/ads/UnityAds.java
com/tencent/mm/opensdk/modelmsg/WXFileObject.java
com/unity3d/services/core/webview/WebView.java
com/unity3d/services/ar/view/ShaderLoader.java
com/unity3d/services/core/sensorinfo/SensorInfoListener.java
com/unity3d/services/core/api/Request.java
com/tencent/mm/opensdk/modelmsg/WXDynamicVideoMiniProgramObject.java
com/duolingo/debug/k.java
com/duolingo/signuplogin/t3.java
com/tencent/mm/opensdk/utils/Log.java
fsimpl/aS.java
com/tencent/mm/opensdk/modelmsg/WXEmojiPageSharedObject.java
ia/j.java
com/unity3d/ads/metadata/InAppPurchaseMetaData.java
com/tencent/mm/opensdk/modelmsg/SendAuth.java
cc/p.java
ec/n0.java
com/tencent/mm/opensdk/modelbiz/SubscribeMessage.java
com/duolingo/core/networking/legacy/LegacyApi$getObserverHandler$1.java
z2/u.java
fsimpl/R.java
g3/c0.java
com/unity3d/services/core/configuration/EnvironmentCheck.java
fsimpl/L.java
cc/e1.java
com/tencent/mm/opensdk/modelbiz/WXNontaxPay.java
com/tencent/mm/opensdk/modelmsg/WXMediaMessage.java
ue/b.java
com/tencent/mm/opensdk/diffdev/a/b.java
fsimpl/cW.java
fsimpl/C0712ej.java
com/tencent/mm/opensdk/modelpay/PayReq.java
fsimpl/eP.java
com/unity3d/services/core/log/DeviceLog.java
nh/d.java
com/duolingo/signuplogin/SignupActivity.java
com/tencent/mm/opensdk/modelmsg/WXMusicObject.java
com/fullstory/instrumentation/init/Initialization.java
fsimpl/cQ.java
fsimpl/C0619ax.java
com/unity3d/services/core/request/SDKMetrics.java
zc/f.java
com/tencent/mm/opensdk/openapi/WXApiImplComm.java
ib/s.java
com/tencent/mm/opensdk/modelmsg/WXVideoObject.java
com/duolingo/forum/SentenceDiscussionViewModel.java
ed/f6.java
com/tencent/mm/opensdk/openapi/MMSharedPreferences.java
y6/i.java
y2/b0.java
com/tencent/mm/opensdk/modelmsg/WXEnterpriseCardObject.java
fsimpl/RunnableC0699dx.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:
 com/duolingo/core/experiments/BaseClientExperiment.java
pj/b.java
ad/y4.java
kotlin/collections/d.java
kotlin/collections/m.java
af/a.java
ad/i4.java
ad/f6.java
j$/util/concurrent/ThreadLocalRandom.java
kotlin/collections/z.java
ad/n4.java
com/adjust/sdk/Util.java
com/duolingo/sessionend/f3.java
ad/q.java
p6/j0.java
q8/k.java
kotlin/collections/q.java
ad/s4.java
fsimpl/eB.java
ad/b4.java
com/unity3d/services/core/request/SDKMetrics.java
ad/i3.java
ad/g3.java
ad/q5.java
qj/a.java
pj/a.java
rk/t.java
kotlin/collections/k.java
kotlin/collections/a0.java
ad/t3.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/duolingo/deeplinks/f.java
com/adjust/sdk/sig/KeystoreHelper.java
zendesk/support/requestlist/RequestListModel.java
com/tencent/mm/opensdk/constants/ConstantsAPI.java
zendesk/core/ZendeskStorage.java
zendesk/core/Constants.java
com/duolingo/profile/z7.java
g3/c0.java
com/duolingo/session/q7.java
zendesk/support/requestlist/RequestListView.java
zendesk/core/ZendeskCoreSettingsStorage.java
com/duolingo/core/networking/PersistentCookieStore.java
zendesk/core/ZendeskIdentityStorage.java
zendesk/core/LegacyIdentityMigrator.java
zendesk/support/ZendeskArticleVoteStorage.java
com/duolingo/profile/w7.java
zendesk/support/ZendeskRequestStorage.java
com/unity3d/ads/metadata/InAppPurchaseMetaData.java
zendesk/support/CreateRequest.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:
 com/duolingo/core/networking/rx/e.java
y2/k.java
c1/i.java
com/duolingo/debug/p1.java
fsimpl/C0749z.java
com/duolingo/core/util/AvatarUtils.java
com/duolingo/session/l3.java
com/duolingo/feedback/l.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:
 nk/e.java
com/adjust/sdk/AdjustFactory.java
High
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:
 g1/c.java
xa/o.java
xa/j.java
xa/m.java
ed/d3.java
xa/k.java
g3/o0.java
eh/c.java
xa/n.java
ia/f.java
o/b.java
com/duolingo/home/treeui/z.java
ed/j3.java
c1/f.java
ed/f6.java
ed/i.java
xa/l.java
ed/s5.java
eh/k.java
High
CVSS:5.9
SHA-1 is a weak hash known to have hash collisions.
MASVS: MSTG-CRYPTO-4
CWE-327 Use of a Broken or Risky Cryptographic Algorithm
M5: Insufficient Cryptography
Files:
 com/unity3d/services/core/device/Device.java
fsimpl/C0613ar.java
pf/h0.java
com/adjust/sdk/AdjustFactory.java
uf/a.java
Low
CVSS:3.9
App can write to App Directory. Sensitive Information should be encrypted.
MASVS: MSTG-STORAGE-14
CWE-276 Incorrect Default Permissions
Files:
 d/g.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/duolingo/debug/b.java
com/duolingo/sessionend/c8.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:
 i3/u.java
fsimpl/C0647by.java
com/vungle/warren/VungleApiClient.java
eh/a.java
com/tencent/mm/opensdk/diffdev/a/d.java
com/unity3d/services/core/cache/CacheDirectory.java
eh/k.java
Info
CVSS:0
This App may have root detection capabilities.
MASVS: MSTG-RESILIENCE-1
Files:
 ad/j2.java
le/m.java
Medium
CVSS:8.8
Insecure WebView Implementation. Execution of user controlled code in WebView is a critical Security Hole.
MASVS: MSTG-PLATFORM-7
CWE-749 Exposed Dangerous Method or Function
M1: Improper Platform Usage
Files:
 com/duolingo/web/WebViewActivity.java
Medium
CVSS:4.3
IP Address disclosure
MASVS: MSTG-CODE-2
CWE-200 Information Exposure
Files:
 com/duolingo/core/networking/origin/ApiOrigin.java
com/adjust/sdk/AdjustFactory.java
High
CVSS:5.4
Remote WebView debugging is enabled.
MASVS: MSTG-RESILIENCE-2
CWE-919 - Weaknesses in Mobile Applications
M1: Improper Platform Usage
Files:
 zendesk/support/guide/ViewArticleActivity.java
High
CVSS:7.4
MD5 is a weak hash known to have hash collisions.
MASVS: MSTG-CRYPTO-4
CWE-327 Use of a Broken or Risky Cryptographic Algorithm
M5: Insufficient Cryptography
Files:
 com/tencent/mm/opensdk/utils/b.java
com/duolingo/grade/model/Base.java
Pygal China: 500 Germany: 800 Russian Federation: 100 United States: 3800

Map computed by Pithus.

Network analysis

Information computed with MobSF.

High Base config is insecurely configured to permit clear text traffic to all domains.
Scope: ['*']

Domains analysis

Information computed with MobSF.

US tools.android.com 142.250.185.243
US podcast.duolingo.com 185.199.111.153
US news-api.duolingo.com 54.208.76.219
US invite.duolingo.com 54.147.139.249
US duolingobeta.zendesk.com 104.16.51.111
US duolingo-achievements-prod.duolingo.com 54.161.210.244
US xml.org 104.239.240.11
US stories.duolingo.com 44.197.98.104
US android-api.duolingo.com 3.93.127.242
CN long.open.weixin.qq.com 109.244.217.35
RU domestic-static.duolingo.cn 79.133.177.231
US goals-api.duolingo.com 23.23.233.21
US subscription.adjust.world 185.151.204.44
US duolingo-leaderboards-prod.duolingo.com 34.199.8.235
US friends-prod.duolingo.com 54.175.242.167
US subscription.adjust.net.in 185.151.204.34
DE gdpr.adjust.net.in 178.162.219.36
US xmlpull.org 74.50.62.60
DE android-api-cf.duolingo.com 143.204.215.36
DE careers.duolingo.com 99.86.3.117
US twitter.com 104.244.42.129
US duolingotest.zendesk.com 104.16.51.111
US phone-verify.duolingo.com 52.21.245.179
US www.instagram.com 185.60.216.174
US www.google.com 142.250.185.228
DE simg-ssl.duolingo.com 143.204.215.41
US duolingo-com-fleet-diagram-694.firebaseio.com 35.201.97.85
US jeeves.duolingo.com 3.234.27.244
CN www.duolingo.cn 139.196.36.248
US duolingo-stories-stage.duolingo.com 52.3.192.151
CN android-api.duolingo.cn 139.196.36.248
US www.zendesk.com 104.18.2.228
CN open.weixin.qq.com 203.205.239.154
US explanations.duolingo.com 34.192.131.103
US duolingo-stories-stage-2.duolingo.com 3.214.238.27
schemas.android.com
US schools.duolingo.com 52.202.204.154
CN wechat-backend-api-prod.duolingo.cn 139.196.36.248
DE duolingo.atlassian.net 18.184.99.138
US android-api-stage.duolingo.com 35.170.199.58
US www.example.com 93.184.216.34
US www.duolingo.com 23.23.233.21
US www.w3.org 128.30.52.100
US open.spotify.com 35.186.224.25
US play.google.com 142.250.186.78
US duolingo-images.s3.amazonaws.com 52.216.133.211
US plus.google.com 142.250.186.174
DE gdpr.adjust.world 178.162.219.36
DE public-static.duolingo.com 99.86.3.128
DE brb.duolingo.com 143.204.215.58
US goo.gl 142.250.181.238
US github.com 140.82.121.4
US developers.google.com 142.250.186.142

URL analysis

Information computed with MobSF.

https://play.google.com/store/account/subscriptions
https://play.google.com/store/account/subscriptions?sku=%s&package=%s
Defined in k7/u0.java
https://play.google.com/store/account/subscriptions
https://play.google.com/store/account/subscriptions?sku=%s&package=%s
Defined in k7/u0.java
https://github.com/ReactiveX/RxJava/wiki/What's-different-in-2.0#error-handling
Defined in ei/e.java
https://github.com/ReactiveX/RxJava/wiki/Error-Handling
Defined in ei/c.java
https://goo.gl/J1sWQy
Defined in ad/q.java
https://plus.google.com/
Defined in ec/b1.java
https://duolingo-leaderboards-prod.duolingo.com
Defined in p6/s2.java
https://www.zendesk.com/embeddables
Defined in zendesk/support/SupportSdkSettings.java
https://invite.duolingo.com/family-plan/%s?c=cn
https://invite.duolingo.com/family-plan/%s
Defined in o3/y0.java
https://invite.duolingo.com/family-plan/%s?c=cn
https://invite.duolingo.com/family-plan/%s
Defined in o3/y0.java
https://simg-ssl.duolingo.com/lottie/Bear_CORRECT_Cropped.json
https://careers.duolingo.com/
Defined in o3/j2.java
https://simg-ssl.duolingo.com/lottie/Bear_CORRECT_Cropped.json
https://careers.duolingo.com/
Defined in o3/j2.java
https://brb.duolingo.com/
Defined in o3/k3.java
https://domestic-static.duolingo.cn/words_list/data/google_tts/
https://public-static.duolingo.com/speech/cm/
https://public-static.duolingo.com/speech/tips/pronunciation-tips-xsampa.json
https://domestic-static.duolingo.cn/words_list/skills.json
Defined in g3/q0.java
https://domestic-static.duolingo.cn/words_list/data/google_tts/
https://public-static.duolingo.com/speech/cm/
https://public-static.duolingo.com/speech/tips/pronunciation-tips-xsampa.json
https://domestic-static.duolingo.cn/words_list/skills.json
Defined in g3/q0.java
https://domestic-static.duolingo.cn/words_list/data/google_tts/
https://public-static.duolingo.com/speech/cm/
https://public-static.duolingo.com/speech/tips/pronunciation-tips-xsampa.json
https://domestic-static.duolingo.cn/words_list/skills.json
Defined in g3/q0.java
https://domestic-static.duolingo.cn/words_list/data/google_tts/
https://public-static.duolingo.com/speech/cm/
https://public-static.duolingo.com/speech/tips/pronunciation-tips-xsampa.json
https://domestic-static.duolingo.cn/words_list/skills.json
Defined in g3/q0.java
http://tools.android.com/tech-docs/new-build-system/user-guide/manifest-merger
Defined in al/q.java
http://schemas.android.com/apk/res/android
Defined in b0/g.java
https://friends-prod.duolingo.com
Defined in z7/p0.java
https://friends-prod.duolingo.com
Defined in o6/r0.java
https://duolingo-achievements-prod.duolingo.com
https://explanations.duolingo.com
Defined in y2/z0.java
https://duolingo-achievements-prod.duolingo.com
https://explanations.duolingo.com
Defined in y2/z0.java
https://twitter.com/intent/tweet?text=
Defined in y2/i.java
http://www.google.com
http://www.example.com
Defined in jb/w0.java
http://www.google.com
http://www.example.com
Defined in jb/w0.java
https://play.google.com/store/account/subscriptions
https://play.google.com/store/account/subscriptions?sku=%s&package=%s
Defined in l7/a.java
https://play.google.com/store/account/subscriptions
https://play.google.com/store/account/subscriptions?sku=%s&package=%s
Defined in l7/a.java
https://open.spotify.com/show/2B97vMr66UKfMIgTEDhMxA
https://podcast.duolingo.com/
Defined in z2/k1.java
https://open.spotify.com/show/2B97vMr66UKfMIgTEDhMxA
https://podcast.duolingo.com/
Defined in z2/k1.java
https://www.duolingo.com/join-beta
Defined in v6/b.java
https://play.google.com/store/account/subscriptions
Defined in v6/a.java
https://duolingotest.zendesk.com
Defined in com/duolingo/feedback/n1.java
https://duolingo.atlassian.net/browse/
Defined in com/duolingo/feedback/JiraDuplicate.java
https://news-api.duolingo.com/1/feed/
https://jeeves.duolingo.com/api/1
https://wechat-backend-api-prod.duolingo.cn
Defined in com/duolingo/feedback/j0.java
https://news-api.duolingo.com/1/feed/
https://jeeves.duolingo.com/api/1
https://wechat-backend-api-prod.duolingo.cn
Defined in com/duolingo/feedback/j0.java
https://news-api.duolingo.com/1/feed/
https://jeeves.duolingo.com/api/1
https://wechat-backend-api-prod.duolingo.cn
Defined in com/duolingo/feedback/j0.java
https://duolingobeta.zendesk.com/hc/en-us/articles/360049278752
https://www.duolingo.com/privacy?wantsPlainInfo=1
Defined in com/duolingo/core/util/p0.java
https://duolingobeta.zendesk.com/hc/en-us/articles/360049278752
https://www.duolingo.com/privacy?wantsPlainInfo=1
Defined in com/duolingo/core/util/p0.java
https://domestic-static.duolingo.cn/words_list/v3/index.html?skill_id=%s&icon_id=%d
Defined in com/duolingo/core/ui/i2.java
https://schools.duolingo.com/api/1/observers/join_classroom_by_code?
Defined in com/duolingo/core/networking/legacy/LegacyApi.java
http://10.0.2.2:8080
https://android-api.duolingo.cn
https://android-api.duolingo.com
https://android-api-cf.duolingo.com
https://android-api-stage.duolingo.com
https://next-
Defined in com/duolingo/core/networking/origin/ApiOrigin.java
http://10.0.2.2:8080
https://android-api.duolingo.cn
https://android-api.duolingo.com
https://android-api-cf.duolingo.com
https://android-api-stage.duolingo.com
https://next-
Defined in com/duolingo/core/networking/origin/ApiOrigin.java
http://10.0.2.2:8080
https://android-api.duolingo.cn
https://android-api.duolingo.com
https://android-api-cf.duolingo.com
https://android-api-stage.duolingo.com
https://next-
Defined in com/duolingo/core/networking/origin/ApiOrigin.java
http://10.0.2.2:8080
https://android-api.duolingo.cn
https://android-api.duolingo.com
https://android-api-cf.duolingo.com
https://android-api-stage.duolingo.com
https://next-
Defined in com/duolingo/core/networking/origin/ApiOrigin.java
https://phone-verify.duolingo.com
Defined in com/duolingo/signuplogin/h3.java
https://friends-prod.duolingo.com
Defined in com/duolingo/profile/k7.java
https://invite.duolingo.com
Defined in com/duolingo/referral/b0.java
https://simg-ssl.duolingo.com/videos/promo/EfficientLearning_EN.mp4
https://simg-ssl.duolingo.com/videos/promo/EfficientLearning_CH.mp4
https://simg-ssl.duolingo.com/videos/promo/EfficientLearning_SP.mp4
https://simg-ssl.duolingo.com/videos/promo/EfficientLearning_FR.mp4
https://simg-ssl.duolingo.com/videos/promo/EfficientLearning_GE.mp4
https://simg-ssl.duolingo.com/videos/promo/EfficientLearning_JP.mp4
https://simg-ssl.duolingo.com/videos/promo/EfficientLearning_PO.mp4
https://simg-ssl.duolingo.com/videos/promo/EN-Intro-Efficient-Learning.mp4
https://simg-ssl.duolingo.com/videos/promo/CH-Intro-Efficient-Learning.mp4
https://simg-ssl.duolingo.com/videos/promo/SP-Intro-Efficient-Learning.mp4
https://simg-ssl.duolingo.com/videos/promo/FR-Intro-Efficient-Learning.mp4
https://simg-ssl.duolingo.com/videos/promo/GE-Intro-Efficient-Learning.mp4
https://simg-ssl.duolingo.com/videos/promo/JP-Intro-Efficient-Learning.mp4
https://simg-ssl.duolingo.com/videos/promo/PO-Intro-Efficient-Learning.mp4
https://simg-ssl.duolingo.com/videos/promo/FeaturesExplanation_EN.mp4
https://simg-ssl.duolingo.com/videos/promo/FeaturesExplanation_CH.mp4
https://simg-ssl.duolingo.com/videos/promo/FeaturesExplanation_SP.mp4
https://simg-ssl.duolingo.com/videos/promo/FeaturesExplanation_FR.mp4
https://simg-ssl.duolingo.com/videos/promo/FeaturesExplanation_GE.mp4
https://simg-ssl.duolingo.com/videos/promo/FeaturesExplanation_JP.mp4
https://simg-ssl.duolingo.com/videos/promo/FeaturesExplanation_PO.mp4
https://simg-ssl.duolingo.com/videos/promo/EN-Intro-Features-Explanation.mp4
https://simg-ssl.duolingo.com/videos/promo/CH-Intro-Features-Explanation.mp4
https://simg-ssl.duolingo.com/videos/promo/SP-Intro-Features-Explanation.mp4
https://simg-ssl.duolingo.com/videos/promo/FR-Intro-Features-Explanation.mp4
https://simg-ssl.duolingo.com/videos/promo/GE-Intro-Features-Explanation.mp4
https://simg-ssl.duolingo.com/videos/promo/JP-Intro-Features-Explanation.mp4
https://simg-ssl.duolingo.com/videos/promo/PO-Intro-Features-Explanation.mp4
https://simg-ssl.duolingo.com/videos/promo/Duolingo_FamilyPlan_EN.mp4
https://simg-ssl.duolingo.com/videos/promo/Duolingo_FamilyPlan_CH.mp4
https://simg-ssl.duolingo.com/videos/promo/Duolingo_FamilyPlan_SP.mp4
https://simg-ssl.duolingo.com/videos/promo/Duolingo_FamilyPlan_FR.mp4
https://simg-ssl.duolingo.com/videos/promo/Duolingo_FamilyPlan_GE.mp4
https://simg-ssl.duolingo.com/videos/promo/Duolingo_FamilyPlan_JP.mp4
https://simg-ssl.duolingo.com/videos/promo/Duolingo_FamilyPlan_PO.mp4
https://simg-ssl.duolingo.com/videos/pre-lesson/Duolingo_FamilyPlan_EN_Bump.mp4
https://simg-ssl.duolingo.com/videos/pre-lesson/Duolingo_FamilyPlan_CH_Bump.mp4
https://simg-ssl.duolingo.com/videos/pre-lesson/Duolingo_FamilyPlan_SP_Bump.mp4
https://simg-ssl.duolingo.com/videos/pre-lesson/Duolingo_FamilyPlan_FR_Bump.mp4
https://simg-ssl.duolingo.com/videos/pre-lesson/Duolingo_FamilyPlan_GE_Bump.mp4
https://simg-ssl.duolingo.com/videos/pre-lesson/Duolingo_FamilyPlan_JP_Bump.mp4
https://simg-ssl.duolingo.com/videos/pre-lesson/Duolingo_FamilyPlan_PO_Bump.mp4
Defined in com/duolingo/plus/promotions/PlusPromoInfo.java
https://simg-ssl.duolingo.com/videos/promo/EfficientLearning_EN.mp4
https://simg-ssl.duolingo.com/videos/promo/EfficientLearning_CH.mp4
https://simg-ssl.duolingo.com/videos/promo/EfficientLearning_SP.mp4
https://simg-ssl.duolingo.com/videos/promo/EfficientLearning_FR.mp4
https://simg-ssl.duolingo.com/videos/promo/EfficientLearning_GE.mp4
https://simg-ssl.duolingo.com/videos/promo/EfficientLearning_JP.mp4
https://simg-ssl.duolingo.com/videos/promo/EfficientLearning_PO.mp4
https://simg-ssl.duolingo.com/videos/promo/EN-Intro-Efficient-Learning.mp4
https://simg-ssl.duolingo.com/videos/promo/CH-Intro-Efficient-Learning.mp4
https://simg-ssl.duolingo.com/videos/promo/SP-Intro-Efficient-Learning.mp4
https://simg-ssl.duolingo.com/videos/promo/FR-Intro-Efficient-Learning.mp4
https://simg-ssl.duolingo.com/videos/promo/GE-Intro-Efficient-Learning.mp4
https://simg-ssl.duolingo.com/videos/promo/JP-Intro-Efficient-Learning.mp4
https://simg-ssl.duolingo.com/videos/promo/PO-Intro-Efficient-Learning.mp4
https://simg-ssl.duolingo.com/videos/promo/FeaturesExplanation_EN.mp4
https://simg-ssl.duolingo.com/videos/promo/FeaturesExplanation_CH.mp4
https://simg-ssl.duolingo.com/videos/promo/FeaturesExplanation_SP.mp4
https://simg-ssl.duolingo.com/videos/promo/FeaturesExplanation_FR.mp4
https://simg-ssl.duolingo.com/videos/promo/FeaturesExplanation_GE.mp4
https://simg-ssl.duolingo.com/videos/promo/FeaturesExplanation_JP.mp4
https://simg-ssl.duolingo.com/videos/promo/FeaturesExplanation_PO.mp4
https://simg-ssl.duolingo.com/videos/promo/EN-Intro-Features-Explanation.mp4
https://simg-ssl.duolingo.com/videos/promo/CH-Intro-Features-Explanation.mp4
https://simg-ssl.duolingo.com/videos/promo/SP-Intro-Features-Explanation.mp4
https://simg-ssl.duolingo.com/videos/promo/FR-Intro-Features-Explanation.mp4
https://simg-ssl.duolingo.com/videos/promo/GE-Intro-Features-Explanation.mp4
https://simg-ssl.duolingo.com/videos/promo/JP-Intro-Features-Explanation.mp4
https://simg-ssl.duolingo.com/videos/promo/PO-Intro-Features-Explanation.mp4
https://simg-ssl.duolingo.com/videos/promo/Duolingo_FamilyPlan_EN.mp4
https://simg-ssl.duolingo.com/videos/promo/Duolingo_FamilyPlan_CH.mp4
https://simg-ssl.duolingo.com/videos/promo/Duolingo_FamilyPlan_SP.mp4
https://simg-ssl.duolingo.com/videos/promo/Duolingo_FamilyPlan_FR.mp4
https://simg-ssl.duolingo.com/videos/promo/Duolingo_FamilyPlan_GE.mp4
https://simg-ssl.duolingo.com/videos/promo/Duolingo_FamilyPlan_JP.mp4
https://simg-ssl.duolingo.com/videos/promo/Duolingo_FamilyPlan_PO.mp4
https://simg-ssl.duolingo.com/videos/pre-lesson/Duolingo_FamilyPlan_EN_Bump.mp4
https://simg-ssl.duolingo.com/videos/pre-lesson/Duolingo_FamilyPlan_CH_Bump.mp4
https://simg-ssl.duolingo.com/videos/pre-lesson/Duolingo_FamilyPlan_SP_Bump.mp4
https://simg-ssl.duolingo.com/videos/pre-lesson/Duolingo_FamilyPlan_FR_Bump.mp4
https://simg-ssl.duolingo.com/videos/pre-lesson/Duolingo_FamilyPlan_GE_Bump.mp4
https://simg-ssl.duolingo.com/videos/pre-lesson/Duolingo_FamilyPlan_JP_Bump.mp4
https://simg-ssl.duolingo.com/videos/pre-lesson/Duolingo_FamilyPlan_PO_Bump.mp4
Defined in com/duolingo/plus/promotions/PlusPromoInfo.java
https://simg-ssl.duolingo.com/videos/promo/EfficientLearning_EN.mp4
https://simg-ssl.duolingo.com/videos/promo/EfficientLearning_CH.mp4
https://simg-ssl.duolingo.com/videos/promo/EfficientLearning_SP.mp4
https://simg-ssl.duolingo.com/videos/promo/EfficientLearning_FR.mp4
https://simg-ssl.duolingo.com/videos/promo/EfficientLearning_GE.mp4
https://simg-ssl.duolingo.com/videos/promo/EfficientLearning_JP.mp4
https://simg-ssl.duolingo.com/videos/promo/EfficientLearning_PO.mp4
https://simg-ssl.duolingo.com/videos/promo/EN-Intro-Efficient-Learning.mp4
https://simg-ssl.duolingo.com/videos/promo/CH-Intro-Efficient-Learning.mp4
https://simg-ssl.duolingo.com/videos/promo/SP-Intro-Efficient-Learning.mp4
https://simg-ssl.duolingo.com/videos/promo/FR-Intro-Efficient-Learning.mp4
https://simg-ssl.duolingo.com/videos/promo/GE-Intro-Efficient-Learning.mp4
https://simg-ssl.duolingo.com/videos/promo/JP-Intro-Efficient-Learning.mp4
https://simg-ssl.duolingo.com/videos/promo/PO-Intro-Efficient-Learning.mp4
https://simg-ssl.duolingo.com/videos/promo/FeaturesExplanation_EN.mp4
https://simg-ssl.duolingo.com/videos/promo/FeaturesExplanation_CH.mp4
https://simg-ssl.duolingo.com/videos/promo/FeaturesExplanation_SP.mp4
https://simg-s