Innehållsförteckning:
- Koddimplicering
- Ändra licensbiblioteket
- Gör din ansökan motståndskraftig
- Flytta licensverifieringen till en fjärrserver
Applikationssäkerhet, piratkopiering och förebyggande är alla heta ämnen nyligen, med goda skäl. Utan en robust applikationsmarknad kommer inte hundratusentals nya aktiveringar varje månads nummer att vara underhållbara och en robust marknad är inte möjlig utan stöd från utvecklare. Vi har sett att Android har en inbyggd lösning för att förhindra piratkopiering, och vi har också sett hur lätt det är att ta sig runt det om du är beslutsam, och om schemat är kvar i sin grundform. Google antydde att de hade lite mer information att dela om hela ämnet och att de är riktiga mot sitt ord har de gjort det. Låt oss titta efter Googlers metoder för att tillhandahålla säkert, säkert och användarvänligt sätt att skydda applikationer.
Licensen för Android Market och licensverifieringsbiblioteket är kraftfulla verktyg för utvecklare att försöka kringgå piratkopiering av program. Problemet, som demoades nyligen, är att det inte är mycket svårt att kringgå från rutan. Eftersom människor är människor, och många kommer att spendera mer tid än det är värt att knäcka en 99-centra-applikation från marknaden, har Trevor Johns (en av Android: s Dev. Program Engineers) lagt fram en praktisk uppsättning tips för att stärka de medföljande verktygen, och få åtgärderna mot piratkopiering att fungera bättre.
De fyra nyckelområdena är:
Koddimplicering
Koddämpning är ett trick som används av utvecklare som ändrar källkoden, vilket gör kända funktioner, paket, klasser och variabler mycket svåra att spåra upp genom att tillhandahålla ett alias till var och en. Ta till exempel den här imaginära funktionen - onRedraw (). Varje plats du använder funktionen i källkoden, den är precis där, lätt att läsa och eventuellt utnyttja. En kodförstörare ersätter den mänskliga läsbara funktionen med ett genererat alias - wy23 () är ett bra exempel. Ett snabbt blick (eller ett automatiserat verktyg) som letar efter funktioner kommer inte att fungera, eftersom det kräver lite allvarlig grävning för att se exakt vad wy23 () verkligen betyder. Det finns kommersiella Java-kod obfyousk8tors (ha!) Tillgängliga, och Trevor rekommenderar ProGuard och planerar en framtida artikel på Android-utvecklarbloggen om att arbeta med ProGuard.
Ändra licensbiblioteket
Google rekommenderar att utvecklare ändrar källan till de medföljande licensbiblioteken så mycket som möjligt medan de fortfarande behåller den ursprungliga funktionen. Detta är ett fall där vägen som tas är obetydlig, så länge destinationen nås. Utvecklare kan begrava funktion i om / sedan uttalanden, slingor, till och med mve hela biblioteket i sitt eget kodblock.
För att gå ett steg längre uppmuntras utvecklarna att använda haschkontroller och andra krypteringsmetoder för att generera nya konstanter och ändra koden för att leta efter de nya konstanterna istället för att använda dem som tillhandahålls av Google i exempelskoden. Se till att trycka på källlänken för att se ett bra exempel från Google som visar hur detta kan göras. Och glöm inte att dölja koden här heller!
Gör din ansökan motståndskraftig
Det här är enkelt. För att en hackatjuv ska ta bort licensieringen från din ansökan måste han eller hon omvänd teknik och bygga om ansökan. Använd CRC-kontroller för att förhindra detta. Google har ett annat praktiskt verktyg för detta område också - verifiera att Android Market var installationskällan för din applikation, och om inte, låt den inte köras. Återigen finns det ett snyggt exempel på detta på källlänken.
Flytta licensverifieringen till en fjärrserver
Om din applikation använder onlinekomponenter rekommenderar Google att du flyttar LVL-information och svar från appen och vidare till din server. När användaren använder appen kontrollerar din server hos Google, och om allt inte är kosher serveras inget innehåll. Även om det är enkelt är det också mycket effektivt att komma runt detta, någon skulle behöva ändra inte bara applikationen utan också innehåll på din server. Kom ihåg att lokal data aldrig är säker, men en korrekt underhållen och säkra server är en ganska tuff mutter att knäcka.
Slutligen kommer Google ihåg oss - slutanvändarna och rekommenderar att dessa tricks används på ett sätt som är öppet och användarvänligt. Om du är en applikationsutvecklare som är intresserad av att din app är integritet och piratkopiering (och det borde du vara!) Ska du kolla källlänken. Det blir allt geeky och fuzzy och lägger ut allt åt dig. För resten av oss är detta mer en påminnelse om hur Goggle älskar sin dev, och vi kan må bra när vi vet att stora G gör vad de kan för att hjälpa.