Съдържание:
- Замърсяване на кода
- Промяна на лицензионната библиотека
- Направете вашето приложение устойчиво на подправяне
- Преместете проверката на лиценза на отдалечен сървър
Сигурността на приложението, пиратството и предотвратяването са горещи теми напоследък, с основателна причина. Без надежден пазар на приложения, че стотици хиляди нови активи на всеки месец няма да бъдат поддържани и стабилният пазар не е възможен без подкрепа на разработчиците. Ние видяхме, че Android има вградено решение за предотвратяване на пиратството, а също така видяхме колко лесно е да го заобиколите, ако сте решени и дали схемата е оставена в основната си форма. Google намекна, че имат още малко информация за споделяне по цялата тема и вярно на думата си, че са го направили. След почивката нека разгледаме методите на Googler за осигуряване на безопасен, сигурен и удобен за потребителите начин за защита на приложенията.
Услугата за лицензиране на Android Market и библиотеката за проверка на лицензите са мощни инструменти за разработчиците да се опитат да заобиколят пиратството на приложенията. Проблемът, както беше показан наскоро, е, че извън кутията не е много трудно да се заобиколи. Тъй като хората са хора и мнозина ще отделят повече време, отколкото си струва да взломят 99-процентово приложение от пазара, Тревър Джонс (един от разработчиците на програми за Android разработчици на Android) представи удобен набор от съвети за укрепване на предоставените инструменти, и да направят мерките за борба с пиратството да работят по-добре.
Четирите ключови области са:
Замърсяване на кода
Обфуксацията на кода е трик, използван от разработчиците, който променя изходния код, като прави известни функции, пакети, класове и променливи много трудно да се проследят, като предоставят псевдоним на всеки. Вземете например тази въображаема функция - onRedraw (). Всяко място, което използвате функцията в изходния код, е точно там, лесно е за четене и евентуално използване. Кодовият обфускатор ще замени човешката четена функция с генериран псевдоним - wy23 () е добър пример. Един бърз поглед (или автоматизиран инструмент), който търси функции, няма да работи, тъй като е необходимо сериозно копаене, за да видите какво точно означава wy23 (). Налични са комерсиални кодове на Java obfyousk8tors (ha!) И Trevor препоръчва ProGuard и планира бъдеща статия в блога за разработчици на Android за работата с ProGuard.
Промяна на лицензионната библиотека
Google препоръчва на разработчиците да променят източника на предоставените лицензионни библиотеки възможно най-много, като същевременно запазват първоначалната функция. Това е един случай, когато поетият път е маловажен, стига да се достигне дестинацията. Разработчиците могат да погребат функция в if / then изявления, цикли, дори да mve цялата библиотека в свой код код.
За да продължите напред, разработчиците се насърчават да използват хеш проверки и други методи за криптиране за генериране на нови константи и да променят кода, за да търсят новите константи, вместо да използват тези, предоставени от Google в примерния код. Уверете се, че натиснете връзката към източника, за да видите страхотен пример от Google, показващ как това може да се направи. И не забравяйте да заглушите кода и тук!
Направете вашето приложение устойчиво на подправяне
Този е прост. За да може крадецът на хакер да премахне лицензията от вашето приложение, той трябва да извърши обратно инженерство и да възстанови отново приложението. Използвайте проверки за CRC, за да предотвратите това. Google има и друг удобен инструмент за тази област - проверете дали Android Market е бил инсталационният източник на вашето приложение и ако не, не го пускайте. Отново има прекрасен пример за това в връзката към източника.
Преместете проверката на лиценза на отдалечен сървър
Ако приложението ви използва онлайн компоненти, Google препоръчва да преместите LVL информацията и отговора от приложението и на вашия сървър. Когато потребителят използва приложението, вашият сървър проверява с Google и ако всичко не е кошерно, не се предоставя съдържание. Макар и просто, също е много ефективно, за да заобиколи това, някой ще трябва да промени не само приложението, но и съдържанието на вашия сървър. Не забравяйте, че местните данни никога не са безопасни, но правилно поддържаният и защитен сървър е доста здрав гайк.
И накрая, Google ни помни - крайните потребители и препоръчва тези трикове да се използват по прозрачен и удобен за потребителя начин. Ако сте разработчик на приложения, който се интересува от предотвратяването на целостта и пиратството на приложението ви (и вие трябва да бъдете!), Не забравяйте да проверите връзката към източника. Става все чудно и размито и ви представя всичко за вас. За останалите от нас това е по-скоро напомняне за това как Goggle обича, че е дяволски, и можем да се чувстваме добре, знаейки, че големият G прави всичко, което може да помогне.