RSAC: Reverse-Engineering av en Android-app på fem minuter

En av de vanligaste metoderna för att sprida skadlig kod – eller bara dåliga program – på Android är att packa om appar. Under sin presentation på RSA Conference visade Pau Oliva Fora från viaForensics att det bara tar några minuter att reverse-engineera Android-appar.

Hämta din app
Det första steget för att reverse-engineera en app, sa Fora, var att skaffa sig en app. Även om de ser snygga ut på din telefon är Android-appar (eller APK:er) egentligen bara ZIP-filer med ett nytt tillägg. I dem finns allt som appen behöver för att kunna köras – från koden till alla medier som den kan behöva.

Det finns ett antal sätt att få tag på en APK. Om du har en app som du vill göra en reverse-engineer på din Android kan du använda en filhanterare som ASTRO för att spara en säkerhetskopia på ett SD-kort. Det är också möjligt att ansluta din Android till en dator och sedan använda Android Debugging Bridge för att överföra appen till datorn. Du kan också använda onlineverktyg för att suga APK-filer från Google Play.

Pulling It Apart
När du väl har en APK att arbeta med måste du konvertera den till något mer användbart. För detta presenterade Fora två alternativ. Du kan ta isär ditt mål med ett verktyg som Apktool, som omvandlar APK:s kompilerade programkodfil (Dalvik Executable, eller DEX) till ett assemblerspråk som Smali. Eller så kan du dekompilera, vilket omvandlar DEX-filen till ett Javaarkiv (JAR) och sedan till Java.

Fora noterade att eftersom vissa data kan gå förlorade i dekompileringsprocessen är det bättre att använda en dekompileringsprogramvara som är gjord med Android i åtanke. Denna hoppar över JAR-steget och konverterar DEX direkt till Java.

För personer som inte är intresserade av att leta upp alla dessa verktyg på egen hand föreslog Fora Santoku. Detta är en speciell Linuxdistribution från viaForensics som är förinstallerad med alla de verktyg du behöver för att plocka isär, modifiera och paketera om en Android-applikation. Det är ett kraftfullt verktyg för digital kriminalteknik som vi har skrivit om tidigare.

Rapid Reverse
Om du somnade under de senaste styckena är det här du vaknar upp. Med hjälp av Santoku tog Fora en mycket enkel Android-app som han hade skapat och drog isär den. Han sökte sedan i koden efter en viss rad, ändrade koden, packade om den, signerade den, installerade om den ändrade appen på sin Android och startade den. Hela processen tog mindre än fem minuter.

Nu var Foras exempel mycket enkelt. Appen var mycket enkel och innehöll ingen fördunklad kod. Hans demonstration hade dock kraftfulla implikationer. ”Du kan göra det här för att ändra beteendet i vilken Android-applikation som helst”, säger Fora och nämner oändliga liv i ett spel eller betalfunktioner i en gratisapp som några exempel.

Ett mer skrämmande exempel? Det är bara att tänka tillbaka på någon av de skadliga klonappar som vi har sett. Tänk på det här innan du laddar ner den där fåniga FlappyBird-klonen.

PCMag Tech Deals

Looking For Deals On The Latest Tech?

Detta nyhetsbrev kan innehålla reklam, erbjudanden eller affilierade länkar. Genom att prenumerera på ett nyhetsbrev godkänner du våra användarvillkor och vår integritetspolicy. Du kan avsluta din prenumeration när som helst.

Om Max Eddy

Lämna ett svar

Din e-postadress kommer inte publiceras.