RSAC: Reverse-Engineering af en Android-app på fem minutter

En af de mest almindelige metoder til at sprede malware – eller bare dårlige programmer – på Android er at ompakke apps. Under sin præsentation på RSA Conference demonstrerede Pau Oliva Fora fra viaForensics, at det kun tager få minutter at reverse engineere Android-apps.

Hent din app
Det første skridt til at reverse engineere en app, sagde Fora, var at skaffe sig en app. Selv om de ser smarte ud på din telefon, er Android-apps (eller APK’er) i virkeligheden bare ZIP-filer med en ny udvidelse. Indeni er alt, hvad appen har brug for at køre – fra koden til de medier, den måtte have brug for.

Der er en række måder at få fat i en APK på. Hvis du har en app, du gerne vil lave reverse-engineering på din Android, kan du bruge en filhåndtering som ASTRO til at gemme en sikkerhedskopi på et SD-kort. Det er også muligt at tilslutte din Android til en computer og derefter bruge Android Debugging Bridge til at overføre appen til din pc. Du kan også bruge onlineværktøjer til at suge APK’er ud af Google Play.

Pulling It Apart
Når du har en APK at arbejde med, skal du konvertere den til noget mere brugbart. Til dette har Fora præsenteret to muligheder. Du kan skille dit mål ad med et værktøj som Apktool, som konverterer APK’ens kompilerede programkodefil (Dalvik Executable, eller DEX) til et assemblagesprog som Smali. Eller du kan dekompilere, hvilket konverterer DEX’en til et Java-arkiv (JAR) og derefter til Java.

Fora bemærkede, at fordi nogle data kan gå tabt i dekompileringen, er det bedre at bruge en dekompiler, der er lavet med Android i tankerne. Dette springer JAR-trinnet over og konverterer DEX direkte til Java.

For folk, der ikke er interesseret i at finde alle disse værktøjer på egen hånd, foreslog Fora Santoku. Dette er en særlig Linux-distribution fra viaForensics, som er forudindlæst med alle de værktøjer, du har brug for til at skille et Android-program ad, ændre og ompakke det. Det er et kraftfuldt digitalt forensisk værktøj, som vi tidligere har skrevet om.

Rapid Reverse
Hvis du faldt i søvn i løbet af de sidste par afsnit, er det her, du vågner op. Ved hjælp af Santoku snuppede Fora en meget grundlæggende Android-app, som han havde oprettet, og skilt den ad. Derefter gennemsøgte han koden for en bestemt linje, ændrede koden, pakkede den om, signerede den, geninstallerede den ændrede app på sin Android og startede den. Hele processen tog mindre end fem minutter.

Nu var Fora’s et meget simpelt eksempel. App’en var meget grundlæggende og indeholdt ingen obfuscated kode. Hans demonstration havde imidlertid stærke implikationer. “Du kan gøre dette for at ændre adfærden i enhver Android-applikation”, sagde Fora og nævnte uendelige liv i et spil eller betalte funktioner i en gratis app som blot nogle få eksempler.

Et mere skræmmende eksempel? Du skal blot tænke tilbage på en af de ondsindede klon-apps, vi har set. Tænk over det, før du downloader den skitseagtige FlappyBird-klon.

PCMag Tech Deals

Søger du efter tilbud på den nyeste teknologi?

Dette nyhedsbrev kan indeholde reklamer, tilbud eller affilierede links. Ved at abonnere på et nyhedsbrev giver du dit samtykke til vores brugsbetingelser og privatlivspolitik. Du kan til enhver tid afmelde dig igen.

Om Max Eddy

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.