Reverse engineer Android app-verkeer zonder root
2024-07-10
2 min leestijd
Altijd al eens willen weten hoe een app communiceert met zijn server? Met behulp van apk-mitm en mitmproxy kan je het verkeer van een app afvangen en analyseren zonder root. In deze tutorial leg ik uit hoe je dit doet.
Vereisten #
- Android emulator (of een fysiek Android device verbonden met adb)
- mitmproxy (voor mitmweb)
- apk-mitm
- adb (van platform-tools)
1. APK patchen #
- Download de app die je wil reverse engineeren van de Play Store (al bij de hand? Ga naar stap 4)
- Vind het pad van de apk:
adb shell pm list packages -f -3
, optioneel met grep erachteraan. Dit geeft bijvoorbeeldpackage:/data/app/~~9Jg8vCv5DYdaNbVeICtEqA==/nl.voedingscentrum.slimkoken-SzgrrdeyVzQfDNDQvi091g==/base.apk=nl.voedingscentrum.slimkoken
. Het pad is dan vanaf /data t/m .apk. Of met RegEx:\/data.*apk
- Download de apk naar de huidige map:
adb pull <apk-path> .
- Gebruik apk-mitm om de apk te patchen:
apk-mitm <local-apk-path>
- Installeer de apk op het apparaat:
adb install <patched-apk-path>
2. Afvangen van verkeer #
- Start de mitm:
mitmweb
- Configureer de proxy op het apparaat (Als dit niet werkt in de instellingen van de emulator, kan je ook de proxy instellen in de instellingen-app. Zie https://stackoverflow.com/a/78154250)
3. CA certificaat installeren op Android #
- Open http://mitm.it/ in de browser van het apparaat (Als dit niet werkt, heb je waarschijnlijk de proxy niet goed ingesteld)
- Download het certificaat
- Installeer het certificaat in de instellingen van het systeem
Nu kan je het verkeer van de app zien in het mitm dashboard! Succes met reverse engineeren.