← Telegram Code

The app corpus, deduped against Google Play

full-corpus counts · all 475,562 apps checked, not sampled

Every distinct app's real applicationId was read from its AndroidManifest.xml and checked against the live Play Store. Deduped against the Google Play Store, the apps that aren't on it are mods, repacks, regional releases, and private or dev builds that were never published there.

475,562
distinct apps
2,130,133
code versions · ~4.5/app
419,997
not on Google Play · 88%

Browse the code

Read the actual decompiled code, syntax-highlighted, in full:

Decompiled apps →
real app cores, file tree + full bodies
Across versions →
how one app's code changes build to build

Deduped against Google Play

Of the 475,562 distinct apps, ~12% are live on the Play Store and the rest are not. Counting different code versions of the same app, the same split by version:

FrameTotalNot on PlayOn Play
Base apps (applicationId)475,562419,997 (88%)55,565 (12%)
Code versions (distinct builds)2,130,1331,247,771 (59%)882,362 (41%)

The off-Play share is higher by app (88%) than by version (59%) because the on-Play apps are the popular ones and are re-shared constantly, averaging ~16 versions each versus ~3 for the off-Play tail.

Base apps vs versions

Versions of the same app (same applicationId, different decompiled content) are collapsed to one entry per app in the headline count. 143,013 apps have more than one version; 332,549 are single-version, with ~1.65M additional versions beyond one build per app.

Lines of code

Legible (clean-named, non-obfuscated) decompiled Java, content-deduplicated:

FrameFull corpusOff Google Play
Content-deduplicated~96.5B~54B
Genuinely-distinct (semantic dedup)~84B~47B

The on-Play apps are the big popular ones (PUBG, WhatsApp, Free Fire), so they carry ~43% of the raw lines from only ~12% of the apps. Removing them drops the line count more than the app count suggests; the ~47B that remains is the exclusive, off-store code. Byte totals are exact from the catalog; lines = bytes ÷ a measured 42.26 bytes/line, and the off-Play split is computed on the full corpus, not sampled.