Published 2026-06-07 by the Droidwatch Security Research team
极游市场 (cn.ggg.market) is the highest-scoring sample in this series — Droidwatch's static engine flagged it Malicious at 74/100, off 7 critical and 27 high findings. What pushes it to the top is SMS capability: the app can both read and send text messages, the classic building block for one-time-password theft. The full static breakdown is below — the APK was unzipped, parsed and decompiled but never run, and every line is the platform's own output. It's one entry in our 10-sample static-triage roundup.
Sample at a glance
| Field | Value |
|---|---|
| App label | 极游市场 |
| Package | cn.ggg.market |
| Version | 1.027 (code 1027) |
| Min / target SDK | 4 / 8 |
| Size | 1.17 MB |
| SHA-256 | 020cb2661836b848f743dafc564ac2b624e7523d26863e5f0ad134fb06edfea8 |
| MD5 | 74005a5517cb7f0465d5c841d11f8133 |
| Verdict | Malicious |
| Risk score | 74 / 100 |
| ML classifier | malicious (P(mal)=1.00), model lgbm_binary |
| Findings raised | 74 (7 critical · 27 high · 29 medium) |
The verdict, in the platform's words
' 极游市场' (package: cn.ggg.market, v1.027, SDK 4–8) was analyzed and received a risk score of 74/100 (Malicious). SMS reading + sending permissions combined with SmsManager API references suggest capability to intercept bank OTPs and either forward them silently or relay them to a remote server, fully bypassing SMS-based 2FA. The codebase shows significant obfuscation (score 6/10): single-letter class names and dense reflection use, making static analysis difficult. Dynamic analysis is recommended.
What analysis ran
This was a static pass through Droidwatch's pipeline. The stages below produced findings on this sample (stages that found nothing are omitted):
| Stage | What it inspects | Findings |
|---|---|---|
dataflow |
Source-to-sink data-flow (PII → network/SMS sinks) | 15 |
rules |
Weighted rule engine (final scoring) | 11 |
ipc |
IPC / component-security (exported components, PendingIntents, deep links) | 9 |
jadx |
JADX decompilation deep-scan (secrets, dynamic loading, dangerous calls) | 9 |
manifest |
AndroidManifest: permissions, components, exported surface, deep links | 6 |
malware_classifier |
Malware-family heuristics (stalkerware/ransomware/adware/govspyware) | 4 |
storage |
Insecure data storage (world-readable prefs, external storage, SQLite) | 4 |
attribution |
Build-path / developer / language attribution | 3 |
crypto |
Cryptography misuse (weak hashes/ciphers, ECB, insecure RNG, hardcoded keys) | 2 |
packer |
Packers / protectors, anti-analysis and root-detection (APKiD) | 2 |
banking |
Banking-trojan behavioral signals (overlay, accessibility, device-admin, dropper) | 1 |
framework |
Cross-platform framework fingerprinting (Flutter/RN/Unity/native) | 1 |
nsc |
Network Security Config (cleartext, trust anchors) | 1 |
network |
URLs / domains / IPs and high-risk network IOCs | 1 |
certificates |
Code-signing certificate posture | 1 |
strings |
String indicators, obfuscation score, reflection / dynamic-code refs | 1 |
c2_intel |
C2 infrastructure intel (AbuseIPDB, Tor, high-risk geos) | 1 |
deobfuscation |
Base64 / obfuscated-string decoding | 1 |
dex_deep |
Deep DEX analysis (reflection, dynamic loading, JNI, shell exec) | 1 |
ml_intelligence |
Independent ML classifier (Androguard features, CICMalDroid-trained) | 1 |
Top findings
| Finding | Severity | Category | MASVS / ATT&CK |
|---|---|---|---|
| VirusTotal: Confirmed Malicious | 🟥 Critical | reputation | — |
| Banking Trojan — High Behavioral Signal Score | 🟥 Critical | banking | — |
| Ransomware Behavioral Pattern Detected | 🟥 Critical | ransomware | T1471 |
| Cryptocurrency Payment Address / Ransom Demand Strings | 🟥 Critical | ransomware | T1471 |
| Data Flow: Device ID (IMEI) → SMS Sending (SMS/OTP Forwarding) | 🟥 Critical | privacy | MASVS-STORAGE-2 |
| Data Flow: UI Text Input (possible password) → SMS Sending (SMS/OTP Forwarding) | 🟥 Critical | privacy | MASVS-STORAGE-2 |
| Data Flow: Password Field → HTTP Connection (Data Exfiltration) | 🟥 Critical | privacy | MASVS-STORAGE-2 |
| ML Engine: classified as 'Malicious' — family 'riskware' | 🟧 High | ml-intelligence | — |
| Exported Activity Without Permission: CoverActivity | 🟧 High | ipc | MASVS-PLATFORM-1 · T1416 |
| Exported Activity Without Permission: SearchActivity | 🟧 High | ipc | MASVS-PLATFORM-1 · T1416 |
| Exported Service Without Permission: GGGService | 🟧 High | ipc | MASVS-PLATFORM-1 · T1416 |
| Weak Cipher Algorithm (DES/RC4/Blowfish) | 🟧 High | crypto | MASVS-CRYPTO-1 · T1521 |
Why this score
The weighted rule engine's top scoring contributions:
| Rule | Severity | Points |
|---|---|---|
| VirusTotal: Confirmed Malicious | critical | +33.2 |
| Banking Trojan — High Behavioral Signal Score | critical | +26.4 |
| Dropper / Self-Update Capability | high | +16.4 |
| VirusTotal: Suspicious / Low Detection | high | +14.8 |
| Banking Trojan — Moderate Behavioral Signals | high | +11.2 |
| External Storage Write with Sensitive Permission | high | +9.6 |
MITRE ATT&CK Mobile mapping
| Technique | Tactic | Why |
|---|---|---|
| T1398 Boot or Logon Autostart | Persistence | Registering to execute automatically after device reboot. |
| T1406 Obfuscated Files or Information | Defense Evasion | Using obfuscation to hide malicious code from static analysis. |
| T1412 Capture SMS Messages | Collection | Intercepting SMS messages including banking OTP codes. |
| T1422 System Information Discovery | Discovery | Malware author attribution indicators: build paths, certificate identity, langua |
| T1432 Access Contact List | Collection | Collects sensitive PII or device information. |
| T1437 Application Layer Protocol: Web Protocols | Command and Control | Using HTTP/HTTPS for C2 communication. |
| T1456 Drive-By Compromise | Initial Access | WebView vulnerabilities enabling JavaScript injection or file access. |
| T1521 Encrypted Channel: Asymmetric Cryptography | Command and Control | Weak or broken cryptography that fails to protect data confidentiality. |
| T1533 Data from Local System | Collection | Insecure local data storage exposing credentials and PII. |
| T1544 Ingestion Tool Transfer | Command and Control | Downloading and installing additional malicious payloads at runtime. |
Reproduce it
curl -s -X POST https://droidwatch.app/api/upload \
-H "X-Upload-Consent: 1" -F "[email protected]" | jq -r .upload_id
# then POST /api/analyze, poll /api/jobs/<id>, read the report (verdict + MITRE + STIX 2.1)
Static-only analysis; the Android dynamic Frida sandbox was not used. Sample from a public 2021 research corpus, referenced by SHA-256. Family attribution is intentionally conservative.