Zpočátku jsem jen zkoumal co dovede, užíval si radosti multitaskingu a aplikací běžících na pozadí, hrál si s foťákem a nastavoval zvonění. No prostě asi jako každý s novým telefonem.
O nějakou chvíli později mě už zarazilo, že při instalaci jedné aplikace musím (podle kolegovy rady) posunout systémový čas o 1/2 roku dozadu, protože jinak mobil hlásí "chyba certifikátu" a odmítne program nainstalovat. Ale pořád jsem byl ještě naivní a nezkušený, a říkal jsem si "no co, dobře že ty certifikáty kontroluje".
Pak jsem hledal jestli se dá nějak zakázat chování, že při stisku červeného tlačítka mobil okamžitě a bez ptaní ukončí zrovna běžící Javovskou aplikaci, a narazil jsem na článek o NoRedClose. Ale program nešel nainstalovat. A postup "jak certifikovat vlastní aplikaci pro vlastní mobil" nefungoval, protože Nokiácký web symbiansigned.com zjevně už nějakou dobu vůbec neumožňuje podpis certifikátů nikomu jinému než vývojářům kteří si za to zaplatí.
Blbé je, že většina článků na netu, které se tomuto problému věnují, je zaměřená na "širokou veřejnost". V každém z nich se tedy člověk dočte kde stáhnout program DevCertRequest, které checkboxy tam má zaškrtnout, co kam vyplnit, kam potom na webu kliknout, ale už se nedozví nic o principu, k čemu to všechno vlastně je.
Ve skutečnosti je to děsně jednoduché:
- Symbian povolí jen instalaci certifikátem podepsaných aplikací.
- Certifikát musí být vystavený jedinou konkrétní nokiáckou certifikační autoritou, která má v úložišti certifikátů nastavený příznak "smí podepisovat aplikace". Tohle je natvrdo zadrátované v ROM, takže varianta "přidám si svou vlastní CA mezi kořenové, a nechám si certifikát podepsat od ní" není průchozí :(
- Je teoreticky možné požádat si na symbiansigned.com o "vývojářský" certifikát pro vlastní mobil (identifikovaný pomocí IMEI), který pak v rozšíření s oid=1.2.826.0.1.1796587.1.1.1.1 obsahuje právě IMEI telefonu. Ve skutečnosti ale tahle varianta už asi 1/2 roku nefunguje. Pokud by fungovala, tak bych si zmíněným certifikátem mohl vesele podepisovat kteroukoli aplikaci, a můj mobil by pak povolil její instalaci.
- Tohle platí pro Symbianovské aplikace (.sis/.sisx). Čert ví jak to s podepisováním funguje pro Javovské midlety.
Ještě že hackeři mezitím zjistili jak tahle omezení kompletně obejít. Kouzelná slovíčka zní "HelloCarbide", "RomPatcher" a "installserver". HelloCarbide se postará o hack běžícího systému, takže jsou pak přístupné i skryté systémové soubory a adresáře. Poté se dá do systémových složek nainstalovat installserver, a ten ruku v ruce s RomPatcherem pak zajistí, že HelloCarbide který odvedl špinavou práci už nebude potřeba, protože následně už půjde kdykoli přepínat chování OS podle libosti. Tedy, že například půjde vypnout ověřování certifikátů.
Aby i Javovské programy měly přístup k funkcím které uživatel (a nikoli Nokia) povolí, k tomu pro změnu slouží mantra "maximummode: blanket". Samozřejmě je potřeba mít předtím nainstalovaný RomPatcher. Patch s poetickým názvem "c2z" zajistí že se před prohledáváním disku "Z:" mobil pokaždé podívá na stejnou složku na disku "C:", a pak už není žádný problém upravit si konfigurační soubor pro midlety tak aby mobil dovolil uživateli nastavit si přístupová práva podle vlastního uvážení.
Teď už si konečně můžu v ReadManiacu číst knížky bez otravných varování. Ale stálo to Nokii za to? Bez těch patchů bych asi mobil s díky vrátil, protože crippleware maskovaný za trapné věty o tom že "chceme pro uživatele bezpečí" je podle mě typickou ukázkou toho jak by se operační systém neměl nikdy chovat.
Uff. Tak jsem se vykecal, a jdu zase hrát Monkey Island v symbianovském ScummVM :-).
3 komentářů:
Hoj.Vítej ve světě symbianu!Kdybys někdy něco sháněl na svůj symbian,napiš na www.embrio.cz .Je to začínající web nejen o symbianu.A neboj se že by ti nikdo neporadil!Stačí napsat do fora.Jsou tam taky programy a hry ke stažení,a mnohem víc!
Velký souhlas. Nokia v návalu ochrany uživatele před nechtěným útokem tak znesnadnila vývoj aplikací pro své Symbian modely, že mnoho lidí, než by podstoupili toto martyrium, se na to vykašlali.
Je smutné, že není možno nějak slušně a férově v telefonu ono zabezpečení vypnout nebo poskytnout vývojářům více volnosti.
Já jsem vývojář začátečník pro S60 a naštěstí podpis Java aplikací pro mne problém není, mám vlastní certifikát od Verisignu. Můžu si podepsat libovolné aplikace libovolně krát. Ale symbiansigned jsem ještě nevyužil, protože za 200 USD mít k dispozici pouhých 5 podpisů mi přijde jako maximální zlodějina. A dev certifikát nefunguje, jak již je ve článku napsáno.
Všem co se chtějí zabývat vývojem Symbian aplikací bych chtěl popřát pevné nervy a hodně štěstí, protože to budou jistě potřebovat. Pro začátečníky bych tu měl odkazy, které by se jim mohly v budoucnu hodit.
http://symbiantechnologies.blogspot.com/
http://www.symbiantutorial.org/symbian-tutorial/?Symbian_C%2B%2B_Programming_Tutorial
Zdraví, Pepa
"No a vo tom to je".Bezny uzivatel si koupi MT,aby mohl telefonovat a psat kratke zpravy.Pozdeji,kdyz se objevi na trhu novy,hezci,tak svuj stary odreny MT vyhodi.
Ale nekteri zjisti,ze telefon ma mnohem na vic a nekolikrat ho zhodnoti napr. instalacemi aplikaci.
Odstranenim "klacku pod nohama" od vyvojaru Nokie behem nekolika mesicu maji op.system Symbian pod kontrolou,bez chybovych hlasek s upravami primo v systemu. cert
Přidat komentář