Kindle Touch odemčen pomocí (ne)obyčejné MPtrojky
K jailbreaku došlo cíleně. Nejprve byla hledána v systému díra. Do systému se autor podíval snadno, po otevření je v Kindle Touch k nalezení TTL sériový port, přes který jde systém z přístroje stáhnout. To za něj udělali už jiní, takže Yifan Lu už jen hledal ouško jehly v kupce sena. Přišel na řadu věcí a našel řadu míst, kde lze vygenerovat přetečení zásobníku a spuštění kódu, který má představovat data (prošel si skrze GUI, které je celé v Javě, hrál si i s kernelem, kde by cosi udělat šlo, ale hrozilo nebezpečí, že bude přístroj uveden do nepoužitelného stavu). V softwaru je hromada zajímavých skrytých zákoutí připravených pro různé další věci (pluginy), uvnitř je dokonce akcelerometr a další hardware, zatím bez konkrétního využití softwarem.
Yifan Lu nakonec přišel na jednu zajímavost. Zatímco celé GUI je v Javě, operační systém jako takový už je v HTML5 a JavaScriptu (zní to možná blbě, ale je to tak, už i operační systém se dá udělat takto ;). Dokonce i MP3 přehrávač je v HTML5+JS. Samozřejmě ne kompletně, přes JavaScript se volají knihovny, které se o přehrávání a další věci postarají. Jinými slovy JavaScript volá nativní kód. A tak stačilo málo … zjistit, kde nechal programátor díru.
MPtrojka obsahuje ID3 tagy neboli informace, které se mohou uživateli zobrazovat. A protože se k zobrazování používá HTML, postačilo do ID3 tagu vložit nějaký šikovný HTML kód. Výsledný MP3 soubor dokonce obsahuje obrázek, který se zobrazí, pokud je Kindle Touch úspěšně „jailbreaknut“. Názorně se na to můžete podívat na videu a protože očekáváme, že se brzy někam ztratí, dáváme ho rovnou k nám (nemáte špatně monitor, video je opravdu na výšku).
Pro zájemce o studium tohoto jailbreaku přidáváme ke stažení též balíček včetně zdrojových kódů a dalšího experimentálního materiálu. Prozatím je jailbreak jen ukázkou toho, že to jde, žádný jiný význam to momentálně nemá.