Video: Android App Reverse Engineering LIVE! - Part 1 (Nobyembre 2024)
Ang isa sa mga pinaka-karaniwang taktika para sa pagkalat ng malware - o kahit na masamang aplikasyon - sa Android ay muling pag-repack ng mga app. Sa kanyang pagtatanghal ng RSA Conference, ipinakita ni Pau Oliva Fora mula sa pamamagitan ng Forensics na tatagal lamang ng ilang minuto upang baligtarin ang engineer ng Android apps.
Pagkuha ng Iyong App
Ang unang hakbang upang baligtarin-engineering ang isang app, sinabi Fora, ay upang makuha ang iyong sarili ng isang app. Kahit na makinis ang mga ito sa iyong telepono, ang mga Android apps (o mga APK) ay talagang mga file ng ZIP na may isang bagong extension. Sa loob ay ang lahat ng kailangan ng app na tumakbo - mula sa code hanggang sa anumang media na maaaring kailanganin nito.
Mayroong isang bilang ng mga paraan upang makakuha ng isang APK. Kung mayroon kang isang app na nais mong i-re-engineer sa iyong Android, maaari kang gumamit ng isang file manager tulad ng ASTRO upang mai-save ang isang backup sa isang SD card. Posible rin na ikonekta ang iyong Android sa isang computer at pagkatapos ay gumamit ng Android Debugging Bridge upang ilipat ang app sa iyong PC. Maaari ka ring gumamit ng mga online na tool upang sumuso ng mga APK sa labas ng Google Play.
Paghila nito
Kapag mayroon kang isang APK upang gumana, kakailanganin mong i-convert ito sa isang bagay na mas magagamit. Para sa mga ito, ipinakita ni Fora ang dalawang pagpipilian. Maaari mong i- disassemble ang iyong target sa isang tool tulad ng Apktool, na mai-convert ang pinagsama-sama na file code ng code ng code (Dalvik Executable, o DEX) sa isang wika ng pagpupulong tulad ng Smali. O maaari kang mabulok, na nag-convert ng DEX sa isang Java Archive (JAR), at pagkatapos ay sa Java.
Nabanggit ni Fora na dahil ang ilang data ay maaaring mawala sa proseso ng decompiling, mas mahusay na gumamit ng isang decompiler na ginawa sa isip ng Android. Nilaktawan nito ang hakbang na JAR, na nagko-convert ng DEX nang direkta sa Java.
Para sa mga taong hindi interesado sa pagsubaybay sa lahat ng mga tool sa kanilang sarili, iminungkahi ni Fora na Santoku. Ito ay isang espesyal na pamamahagi ng Linux mula sa viaForensics na darating preloaded sa lahat ng mga tool na kailangan mong hilahin, baguhin, at muling repasuhin ang isang application ng Android. Ito ay isang makapangyarihang digital forensics tool na isinulat namin tungkol sa nakaraan.
Rapid Reverse
Kung nakatulog ka sa huling mga talata, narito ang paggising mo. Gamit ang Santoku, nabihag ni Fora ang isang napaka basic na Android app na nilikha niya at hinila ito nang hiwalay. Pagkatapos ay na-browse niya ang code para sa isang partikular na linya, binago ang code, na-repack ito, nilagdaan ito, na-install muli ang binagong app sa kanyang Android, at inilunsad ito. Ang buong proseso ay tumagal ng mas mababa sa limang minuto.
Ngayon, ang Fora's ay isang napaka-simpleng halimbawa. Ang app ay napaka-basic, at may kasama na walang obfuscated code. Gayunpaman, ang kanyang demonstrasyon ay may malakas na implikasyon. "Maaari mong gawin ito upang mabago ang pag-uugali ng anumang application ng Android, " sabi ni Fora, na naglista ng walang hanggan na buhay sa isang laro o bayad na mga tampok sa isang libreng app bilang ilang mga halimbawa lamang.
Isang halimbawa ng nakakatakot? Ibalik mo ang iyong isip sa alinman sa mga nakakahamak na clone apps na nakita namin. Pag-isipan ito bago mo i-download ang clet na iyon na FlappyBird na clet.