RSAC: Android-sovelluksen käänteinen suunnittelu viidessä minuutissa

Yksi yleisimmistä taktiikoista haittaohjelmien – tai jopa vain huonojen sovellusten – levittämiseksi Androidissa on sovellusten uudelleenpakkaaminen. RSA-konferenssissa pitämässään esityksessä viaForensicsin Pau Oliva Fora osoitti, että Android-sovellusten käänteismuokkaus vie vain minuutteja.

Sovelluksen hankkiminen
Sovelluksen käänteismuokkauksen ensimmäinen askel oli Foran mukaan hankkia itselleen sovellus. Vaikka Android-sovellukset (tai APK:t) näyttävätkin puhelimessasi tyylikkäiltä, ne ovat oikeastaan vain ZIP-tiedostoja, joilla on uusi päätepiste. Sisällä on kaikki, mitä sovellus tarvitsee toimiakseen – koodista sen mahdollisesti tarvitsemaan mediaan.

APK:n voi hankkia monella tavalla. Jos sinulla on sovellus, jonka haluaisit kääntää Androidissa, voit käyttää ASTROn kaltaista tiedostonhallintaa tallentaaksesi varmuuskopion SD-kortille. On myös mahdollista liittää Android tietokoneeseen ja siirtää sovellus tietokoneeseen Android Debugging Bridgen avulla. Voit myös käyttää verkkotyökaluja APK-tiedostojen imuroimiseen Google Playsta.

Pulling It Apart
Kun sinulla on APK, jonka kanssa voit työskennellä, sinun täytyy muuntaa se joksikin käyttökelpoisemmaksi. Tätä varten Fora esitteli kaksi vaihtoehtoa. Voisit purkaa kohteesi Apktoolin kaltaisella työkalulla, joka muuntaa APK:n käännetyn sovelluskooditiedoston (Dalvik Executable eli DEX) kokoonpanokieleksi kuten Smali. Tai voisit dekompiloida, mikä muuntaa DEX:n Java-arkistoksi (JAR) ja sitten Javaksi.

Fora huomautti, että koska osa tiedoista voi kadota dekompilointiprosessissa, on parempi käyttää dekompilaattoria, joka on tehty Androidia silmällä pitäen. Tämä ohittaa JAR-vaiheen ja muuntaa DEX:n suoraan Javaksi.

Jos ei kiinnosta etsiä kaikkia näitä työkaluja itse, Fora ehdotti Santokua. Se on viaForensicsin erityinen Linux-jakelu, jossa on valmiiksi asennettuna kaikki työkalut, joita tarvitset Android-sovelluksen purkamiseen, muokkaamiseen ja uudelleen pakkaamiseen. Se on tehokas digitaalisen rikostekniikan työkalu, josta olemme kirjoittaneet aiemmin.

Rapid Reverse
Jos nukahdit viimeisten kappaleiden aikana, tässä kohtaa voit herätä. Santokun avulla Fora nappasi luomansa hyvin yksinkertaisen Android-sovelluksen ja repi sen kappaleiksi. Sitten hän selasi koodista tietyn rivin, muutti koodia, paketoi sen uudelleen, allekirjoitti sen, asensi muutetun sovelluksen uudelleen Androidiinsa ja käynnisti sen. Koko prosessi kesti alle viisi minuuttia.

Foran esimerkki oli hyvin yksinkertainen. Sovellus oli hyvin yksinkertainen, eikä se sisältänyt mitään hämäräkoodia. Hänen demonstraatiollaan oli kuitenkin voimakkaita vaikutuksia. ”Voit tehdä tämän minkä tahansa Android-sovelluksen käyttäytymisen muuttamiseksi”, Fora sanoi ja luetteli esimerkkeinä loputtomat elämät pelissä tai maksulliset ominaisuudet ilmaisessa sovelluksessa.

Pelottavampi esimerkki? Heittäkää vain ajatuksenne takaisin mihin tahansa pahantahtoiseen kloonisovellukseen, joita olemme nähneet. Ajattele tätä ennen kuin lataat tuon sketsimäisen FlappyBird-kloonin.

PCMag Tech Deals

Etsitkö tarjouksia uusimmasta tekniikasta?

Tämä uutiskirje saattaa sisältää mainoksia, tarjouksia tai affiliate-linkkejä. Uutiskirjeen tilaaminen merkitsee suostumustasi käyttöehtoihimme ja tietosuojakäytäntöihimme. Voit peruuttaa tilauksen milloin tahansa.

Tietoa Max Eddystä

Vastaa

Sähköpostiosoitettasi ei julkaista.