Ik ga niet schrijven "volgens mij" want dan refereer ik naar mijzelf als de bron van alle wijsheid en dat is de slechtst denkbare referentie :d
Na uren van knoeiwerk met een ARM Disassembler, een Hex Editor en een Secure Shell (SSH) verbinding vanuit de Unix Terminal naar de iPhone (terwijl de Ziggo TV app actief was) meen ik voorzichtig te kunnen besluiten dat er toch een jailbreak detectie aanwezig is.
In de Unix Executable van de Ziggo TV app zijn functies aanwezig die kunnen gebruikt worden om een jailbreak te detecteren. Of die ook gebruikt worden weet ik (nog) niet:
http://www.imgdumper.nl/uploads5/502...t_12.16.36.jpg
http://www.imgdumper.nl/uploads5/502...t_12.19.20.jpg
http://www.imgdumper.nl/uploads5/502...t_12.20.04.jpg
Wat ik wel bijna zeker weet is dat er een routine aanwezig die zoekt naar een tekst string die:
1) in iOS zonder een jailbreak niet aanwezig is;
2) In iOS met een jailbreak wel aanwezig is in de directories /private/etc en /private/var/lib
Als die tekst string gevonden is wordt er blijkbaar een schakelaar op (bool) 1 gezet.
Die routine kan ik omzeilen door door ofwel:
1) de eerste instructie in de routine te vervangen door de instructie NOP (no operation);
2) de eerste instructie in de routine te vervangen door de instructie MOV pc, lr (in dit geval MOV pc, r14). Een unconditional return dus;
3) De gezochte tekst string te vervangen door een string die nooit voorkomt in iOS;
Bij alle drie patches werkt Ziggo TV live dan (min of meer) ook met een jailbreak.
Op een iPhone 4 zonder jailbreak maar die vroeger wel een jailbreak had en op dewelke een backup werd teruggezet met jailbreak restanten werkt de app ook niet. De jailbreak restanten staan in de directories die ik eerder in deze post noemde.
Een en ander is te volgen in de log die de Ziggo TV app aanmaakt in zijn Sandbox. In het onderstaande plaatje heb ik alle informatie gewist die naar mij kan verwijzen, je weet maar nooit wie deze draad allemaal leest.
http://www.imgdumper.nl/uploads5/502...t_11.45.31.jpg
Dat was het wat mij betreft :)