Obsah:
- Zmätenie kódu
- Úprava knižnice licencií
- Zabezpečte, aby vaša aplikácia bola odolná proti neoprávnenému zásahu
- Presuňte overenie licencie na vzdialený server
Bezpečnosť aplikácií, pirátstvo a prevencia sú v poslednej dobe horúcimi témami, a to z dobrého dôvodu. Bez robustného trhu s aplikáciami sa tento počet stoviek nových aktivácií za mesiac nebude možné udržiavať a robustný trh nie je možný bez podpory vývojárov. Videli sme, že Android má vstavané riešenie, ktoré zabraňuje pirátstvu, a tiež sme videli, aké ľahké je obísť to, ak ste odhodlaní, a ak je schéma ponechaná v základnej podobe. Google naznačil, že majú ďalšie informácie, ktoré by sa mohli zdieľať o celej téme, a podľa ich slova to urobili. Po prestávke sa pozrime na metódy spoločnosti Google, ktoré poskytujú bezpečný, bezpečný a užívateľsky prívetivý spôsob ochrany aplikácií.
Licenčná služba pre Android Market a knižnica na overenie licencií sú výkonnými nástrojmi pre vývojárov, ktorí sa snažia vyhnúť pirátstvu v oblasti aplikácií. Problémom, ako sa nedávno preukázalo, je to, že po vybalení nie je ťažké obísť. Pretože ľudia sú ľudia a mnoho z nich strávi viac času, ako stojí za to, aby si vyradilo 99-percentnú aplikáciu z trhu, Trevor Johns (jeden z vývojových programov pre Android v systéme Android) zostavil praktickú sadu tipov na posilnenie dodávaných nástrojov, a aby opatrenia na boj proti pirátstvu fungovali lepšie.
Štyri kľúčové oblasti sú:
Zmätenie kódu
Zmätenie kódu je trik, ktorý používajú vývojári a ktorý mení zdrojový kód, čím veľmi sťažuje sledovanie známych funkcií, balíkov, tried a premenných tým, že každému z nich poskytne alias. Vezmite si túto imaginárnu funkciu napríklad - onRedraw (). Každé miesto, ktoré funkciu používate v zdrojovom kóde, je tu, ľahko čitateľné a prípadne zneužiteľné. Obfuscator kódu nahradí ľudskú čitateľnú funkciu vygenerovaným aliasom - dobrým príkladom je wy23 (). Rýchly pohľad (alebo automatizovaný nástroj), ktorý hľadá funkcie, nebude fungovať, pretože na to, aby sa presne zistilo, čo znamená wy23 (), trvá nejaký seriózny kopanie. K dispozícii sú komerčné obfyousk8tors Java code (ha!) A Trevor odporúča ProGuard a plánuje budúci článok na blogu Android Developers o práci s ProGuard.
Úprava knižnice licencií
Spoločnosť Google odporúča, aby vývojári v čo najväčšej miere zmenili zdroj dodávaných knižníc licencií a zároveň si zachovali pôvodnú funkciu. Toto je jeden prípad, keď je vybraná trasa bezvýznamná, pokiaľ je dosiahnutý cieľ. Vývojári môžu pochovať funkciu v príkazoch if / then, loop, dokonca mve celú knižnicu do vlastného kódu.
Aby sa posunuli o krok ďalej, vývojári sa vyzývajú, aby na generovanie nových konštánt použili hashovacie kontroly a iné metódy šifrovania a aby zmenili kód tak, aby hľadal nové konštanty namiesto použitia tých, ktoré poskytuje spoločnosť Google v príklade kódu. Uistite sa, že ste klikli na zdrojový odkaz a uvidíte dobrý príklad od spoločnosti Google, ktorý ukazuje, ako sa to dá urobiť. A nezabudnite tu tiež zamlčať kód!
Zabezpečte, aby vaša aplikácia bola odolná proti neoprávnenému zásahu
Toto je jednoduché. Aby zlodej hackerov mohol odstrániť licenciu z vašej aplikácie, musí obrátiť inžinierstvo a znova vytvoriť aplikáciu. Aby ste tomu zabránili, použite kontroly CRC. Spoločnosť Google má pre túto oblasť tiež ďalší užitočný nástroj - overte, či bol Android Market zdrojom inštalácie vašej aplikácie, a ak nie, nenechajte ju bežať. Na zdrojovom odkaze je opäť šikovný príklad.
Presuňte overenie licencie na vzdialený server
Ak vaša aplikácia používa súčasti online, spoločnosť Google odporúča presunúť informácie o LVL a odpoveď z aplikácie na server. Keď používateľ aplikáciu použije, váš server skontroluje stránku so spoločnosťou Google a ak nie je všetko košer, nezobrazí sa žiadny obsah. Aj keď je to jednoduché, je tiež veľmi efektívne obísť to, niekto by musel zmeniť nielen aplikáciu, ale aj obsah na vašom serveri. Pamätajte, že lokálne údaje nie sú nikdy bezpečné, ale správne udržiavaný a zabezpečený server je dosť ťažký otrok.
Nakoniec si spoločnosť Google pamätá - koncových používateľov a odporúča, aby sa tieto triky používali spôsobom, ktorý je transparentný a užívateľsky prívetivý. Ak ste vývojár aplikácie, ktorý má záujem o integritu a prevenciu pirátstva svojej aplikácie (a mali by ste byť!), Nezabudnite skontrolovať zdrojový odkaz. Dostane všetko podivné a nejasné a všetko to pre vás pripraví. Pre nás ostatných je to skôr pripomenutie toho, ako Goggle miluje svoje dev a my sa cítime dobre s vedomím, že veľké G robí, čo môže, aby pomohlo.