Video: Android App Reverse Engineering LIVE! - Part 1 (November 2024)
Een van de meest voorkomende tactieken voor het verspreiden van malware (of zelfs slechte applicaties) op Android is het opnieuw verpakken van apps. Tijdens zijn presentatie op de RSA Conference heeft Pau Oliva Fora van viaForensics aangetoond dat het slechts enkele minuten kost om Android-apps om te bouwen.
Uw app downloaden
De eerste stap om een app reverse-engineering te geven, zei Fora, was om een app voor jezelf te krijgen. Hoewel ze er glad uitzien op je telefoon, zijn Android-apps (of APK's) eigenlijk alleen ZIP-bestanden met een nieuwe extensie. Binnenin zit alles wat de app moet uitvoeren, van de code tot alle media die het nodig heeft.
Er zijn een aantal manieren om een APK te krijgen. Als u een app hebt die u wilt reverse-engineeren op uw Android, kunt u een bestandsbeheerder zoals ASTRO gebruiken om een back-up op een SD-kaart op te slaan. Het is ook mogelijk om je Android op een computer aan te sluiten en vervolgens Android Debugging Bridge te gebruiken om de app naar je pc over te brengen. U kunt ook online tools gebruiken om APK's uit Google Play te zuigen.
Uit elkaar trekken
Als je eenmaal een APK hebt om mee te werken, moet je deze omzetten in iets bruikbaarder. Fora presenteerde hiervoor twee opties. Je kunt je doelwit uit elkaar halen met een tool als Apktool, die het gecompileerde applicatiecodebestand van de APK (Dalvik Executable of DEX) converteert naar een assemblagetaal zoals Smali. Of u kunt decompileren , waardoor de DEX wordt omgezet in een Java Archive (JAR) en vervolgens naar Java.
Fora merkte op dat, omdat sommige gegevens verloren kunnen gaan tijdens het decompilatieproces, het beter is om een decompiler te gebruiken die is gemaakt met Android in gedachten. Dit slaat de JAR-stap over en converteert DEX rechtstreeks naar Java.
Voor mensen die niet geïnteresseerd zijn om al die tools zelf op te sporen, stelde Fora Santoku voor. Dit is een speciale distributie van Linux van viaForensics die vooraf wordt geladen met alle tools die je nodig hebt om een Android-applicatie uit elkaar te halen, te wijzigen en opnieuw in te pakken. Het is een krachtig digitaal forensisch hulpmiddel waarover we in het verleden hebben geschreven.
Snel achteruit
Als je in slaap viel tijdens de laatste paar paragrafen, wordt je hier wakker. Met behulp van Santoku nam Fora een zeer eenvoudige Android-app die hij had gemaakt en trok die uit elkaar. Hij bladerde vervolgens door de code voor een bepaalde regel, wijzigde de code, verpakte deze opnieuw, ondertekende hem, installeerde de gewijzigde app opnieuw op zijn Android en lanceerde hem. Het hele proces duurde minder dan vijf minuten.
Nu was Fora een heel eenvoudig voorbeeld. De app was erg basic en bevatte geen onduidelijke code. Zijn demonstratie had echter krachtige implicaties. "Je kunt dit doen om het gedrag van elke Android-applicatie te veranderen, " zei Fora, met een opsomming van oneindige levens in een game of betaalde functies in een gratis app.
Een enger voorbeeld? Richt je geest eenvoudig op een van de kwaadaardige kloon-apps die we hebben gezien. Denk hier eens over na voordat je die schetsmatige FlappyBird-kloon downloadt.