Nedávno jsme informovali o tom, jak se několika pirátským streamovacím aplikacím podařilo dostat do App Store oklamáním procesu kontroly. V dnešním článku se podíváme na to, jak jsou tyto aplikace navrženy tak, aby oklamaly Apple.



Minulý měsíc se aplikace s názvem „Collect Cards“ dostala na vrchol žebříčku nejstahovanějších bezplatných aplikací v některých zemích. Apple poté aplikaci stáhl – ale v App Store bylo později vydáno mnoho dalších verzí stejné aplikace. Ale jak přesně jsou vývojáři schopni oklamat Apple? Jak jsme již vysvětlili, tyto aplikace používají polohu, aby zabránily komukoli v Applu vidět, co aplikace skutečně umí. Ale díky analýze kódu těchto aplikací nyní máme lepší představu o tom, jak se to stane. Tyto aplikace sdílejí stejnou kódovou základnu – i když jsou distribuovány různými účty vývojářů. Jsou postaveny na React Native, multiplatformním rámci založeném na JavaScriptu, a používají Microsoft CodePush SDK, který umožňuje vývojářům aktualizovat části aplikace, aniž by museli posílat nové verze do App Store.

Vytváření aplikací React Native a používání CodePush není v rozporu s pravidly App Store. Ve skutečnosti existuje mnoho populárních aplikací, které to dělají. Někteří vývojáři však využívají těchto technologií k tomu, aby obešli pravidla App Store. Jedna z aplikací odkazuje na úložiště GitHub, které, jak se zdá, obsahuje soubory pro více pirátských streamovacích aplikací. Tato aplikace také používá specifické API ke kontrole polohy zařízení na základě IP adresy. Vrací data, jako je země, region, město a dokonce i odhadovaná zeměpisná délka a šířka.

Při prvním otevření aplikace počká několik sekund na geolokační API. Tímto způsobem Apple nevidí v kódu aplikace nic neobvyklého. Poté, co Apple schválí aplikaci s jejími základními funkcemi, vývojáři ji pomocí CodePush aktualizují čímkoli, co chtějí. Aplikace pak odhalí své skutečné rozhraní na „bezpečných“ místech. Apple samozřejmě není imunní vůči aplikacím, které se snaží oklamat jeho kontrolní systém. Společnost by to však mohla vylepšit implementací dalších testů, které by zkontrolovaly chování aplikace na jiných místech. Apple by zároveň měl proaktivněji vyhledávat a odstraňovat podvodné aplikace z App Store.