deniz.in

Markets

Weather

Loading weather

· via Hacker News – Front Page (native)

Teardown: Block Blast rules arrive from the server, tuning pieces, losses and ads per player

A decompilation of Block Blast's Android app shows its gameplay rules arrive as encrypted, server-selected code, including one rule that waits for a high-value ad before dealing an unplaceable hand.

Teardown: Block Blast rules arrive from the server, tuning pieces, losses and ads per player

A technical teardown of the mobile puzzle game Block Blast concludes that the app players install is largely an empty shell: the rules that determine which pieces appear, how runs score and when ads surface are fetched from the developer's servers as encrypted JavaScript. The write-up, published on ayoships.com and boosted to the Hacker News front page, walks through the decompilation and describes one server-delivered rule that waits for an expensive ad before dealing the player a hand that cannot be placed.

An app that ships nearly empty

According to the author, the analysis began with the Android package, version 10.8.2. The Java side was decompiled with jadx and the native Cocos library with Ghidra, and neither contained much of interest: the package downloaded from the store is essentially a loader. Running the game on a clean Android 14 emulator with no account attached, then watching its cache and logcat, revealed the actual mechanism. At launch the server sends down a configuration, and the app then downloads the selected logic after installation as encrypted JavaScript.

Traits, arms and hundreds of parallel games

Structurally, Block Blast is assembled from small modules the code calls traits, and each trait has variants the code calls arms. The server's launch configuration picks which arm of which trait a given install runs. On the author's test device, the configuration named roughly 700 traits, the install was assigned 254 of them, and 101 were downloaded after installation.

Most of those 254 are unremarkable: tutorials, animations, sounds. But the assigned list, reproduced in the write-up, includes a dense cluster of traits concerned with losing, revives and death, among them DeadlyToHardTrait, FastHandPunishTrait, MultiClearBoostThenKillTrait, EndlessDeathBoardTrait and SequencePredictDynamicDifficultyTrait, alongside an explicitly labelled ServerControl_board_init_v2Trait. The practical effect, as the author puts it, is that two people playing side by side can be running different games, and the studio can change any player's game without shipping an app update.

The rule that waits for an expensive ad

One trait receives particular attention: RewardHighValueAdHarvestTrait. By finding the point where the game unlocks these files inside its own native library, the author decoded it into a plain file of 15,616 bytes. The behaviour the write-up attributes to it is blunt: it waits for an expensive ad, then asks the player for a hand that cannot be placed. In other words, the moment of failure, presented to the player as the random turn of a puzzle game, can be timed against ad inventory rather than dealt by chance.

The money behind the mechanics

The write-up frames the incentive with revenue context. Between January and May 2026, Block Blast generated an estimated $127 million from ads, while Candy Crush Saga made an estimated $81.1 million over the same months, according to Sensor Tower estimates cited by the author. The author's earlier video about the game drew more than 15 million views, and the post is written as a full technical companion to it, including enough method, from jadx and Ghidra to the clean-emulator setup, for readers to reproduce the findings themselves.

Why it matters

The teardown reframes what a casual puzzle game actually is. If piece selection, scoring rhythm and failure timing are server-selected variables, the game a player experiences is not a fixed product but a per-user experiment, optimisable against ad revenue rather than fairness. Because the decisive logic arrives post-install as encrypted JavaScript, app store review never sees it, and it can change at any moment without an update. For players, it means a losing streak may not be bad luck. For the wider industry, it is a concrete demonstration that when ads out-earn everything else, difficulty itself becomes an ad-delivery mechanism. And the reproducible method may matter most of all: it hands players, researchers and platforms a template for auditing any other game that ships the same way.

  • #mobile-games
  • #reverse-engineering
  • #advertising
  • #android
  • #monetization

Related posts