Acasă Securitywatch Rsac: inginerie inversă a unei aplicații Android în cinci minute

Rsac: inginerie inversă a unei aplicații Android în cinci minute

Video: Reverse Engineering in Solid Edge ST10 (Octombrie 2024)

Video: Reverse Engineering in Solid Edge ST10 (Octombrie 2024)
Anonim

Una dintre cele mai frecvente tactici de răspândire a malware-ului sau chiar a aplicațiilor proaste - pe Android este reambalarea aplicațiilor. În timpul prezentării sale la Conferința RSA, Pau Oliva Fora de la viaForensics a demonstrat că este nevoie de doar câteva minute pentru a inversa aplicațiile Android de inginer.

Obținerea aplicației dvs.

Primul pas pentru re-inginerie o aplicație, a spus Fora, a fost să vă faceți o aplicație. Deși arată deloc pe telefonul dvs., aplicațiile Android (sau APK-urile) sunt cu adevărat doar fișiere ZIP cu o nouă extensie. În interior se află tot ce trebuie să ruleze aplicația - de la cod la orice suport de media de care ar putea avea nevoie.

Există o serie de moduri de a obține un APK. Dacă aveți o aplicație pe care doriți să o inversați pe Android, puteți utiliza un manager de fișiere precum ASTRO pentru a salva o copie de rezervă pe un card SD. De asemenea, este posibil să vă conectați Android-ul la un computer și apoi să utilizați Android Debugging Bridge pentru a transfera aplicația pe computer. De asemenea, puteți utiliza instrumente online pentru a aspira APK-urile din Google Play.

Îndepărtându-l

După ce ai un APK cu care să lucrezi, va trebui să-l convertești în ceva mai utilizabil. Pentru aceasta, Fora a prezentat două opțiuni. Puteți dezasambla ținta dvs. cu un instrument precum Apktool, care va converti fișierul codului de aplicație compilat al APK (Dalvik Executable sau DEX) într-un limbaj de asamblare precum Smali. Sau puteți decompila , care transformă DEX-ul într-o arhivă Java (JAR), apoi în Java.

Fora a menționat că, deoarece unele date pot fi pierdute în procesul de decompilare, este mai bine să utilizați un decompilator care a fost făcut cu Android. Aceasta sări pasul JAR, convertind DEX direct în Java.

Pentru persoanele neinteresate să urmărească singure toate aceste instrumente, Fora a sugerat Santoku. Aceasta este o distribuție specială a Linux de la viaForensics, care este preîncărcată cu toate instrumentele de care aveți nevoie pentru a separa, modifica și reambala o aplicație Android. Este un instrument digital criminalistic puternic despre care am scris în trecut.

Raport invers

Dacă ai adormit în ultimele câteva paragrafe, aici te trezești. Folosind Santoku, Fora a născut o aplicație Android de bază pe care o crease și a scos-o la o parte. Apoi a răsfoit codul pentru o anumită linie, l-a modificat, l-a reambalat, l-a semnat, a reinstalat aplicația modificată pe Android și a lansat-o. Întregul proces a durat mai puțin de cinci minute.

Acum, Fora lui a fost un exemplu foarte simplu. Aplicația era foarte de bază și nu includea niciun cod ofuscat. Cu toate acestea, demonstrația sa a avut implicații puternice. „Puteți face acest lucru pentru a schimba comportamentul oricărei aplicații Android”, a spus Fora, listând vieți infinite într-un joc sau funcții plătite într-o aplicație gratuită ca doar câteva exemple.

Un exemplu mai înfricoșător? Pur și simplu aruncați-vă mintea înapoi la oricare dintre aplicațiile clonă rău intenționate pe care le-am văzut. Gândiți-vă la asta înainte de a descărca acea clonă incompletă FlappyBird.

Rsac: inginerie inversă a unei aplicații Android în cinci minute