Articles

How To Reverse Engineer An Android Application In 3 Easy Steps

Varun Dwarkani
Varun Dwarkani

Follow

Sep 12, 2020 · 3 min read

Reverse Engineer Android Application

Many beginners or even intermediate Android developers fail to realize that the Android app ei construiesc și nava poate fi inversat proiectat într-o măsură mai mare. Dacă sunteți unul dintre dezvoltatorii care cred că greu de codificare chei secrete sau chiar stocarea în build.fișierul gradle îl va împiedica să intre în mâinile hackerilor sau a altor dezvoltatori, vă înșelați.

securitatea nu a fost niciodată ușoară și prima regulă este să nu ai încredere niciodată în securitatea clientului. Partea de Client nu este un mediu pe care îl controlăm și, prin urmare, nu ar trebui să ne bazăm pe el prin codarea hard sau stocarea secretelor care ne pot perturba sistemul. Deci, cel mai bun mod de a vă asigura că nu ajungeți să fiți prinși de dezvoltatori și hackeri este să inversați aplicația de unul singur și să remediați problemele, dacă este posibil.

Incident interesant — odată ce am fost de lucru pe o aplicație Android care a necesitat o formulă matematică pentru a fi utilizate într-o caracteristică. Nu-mi place matematica la bază, mi s-a părut mai ușor și mai interesant să inversez una dintre aplicațiile concurenților și apoi am scos cu succes formula matematică din cod! :p

deci, să începem. Pentru inginerie inversă o aplicație, am avea nevoie de câteva lucruri în prealabil —

  1. APK a aplicației.
  2. un set de coduri de executat.
  3. Java Decompiler Tool (JD JUI în acest articol) pentru a vizualiza codul decompilat.

înțelegere de bază a aplicației Android. Sursa-Pranay Airan.

am avea nevoie de APK-ul aplicației pe care dorim să o inversăm. Există multe modalități de a face acest lucru, dar vă voi sugera un mod simplu aici. Descărcați aplicația Apk Extractor pe dispozitivul dvs. și selectați aplicația din lista din interiorul aplicației. După ce ați terminat, deschideți orice explorator de fișiere și accesați folderul ExtractedApks prezent în directorul de stocare internă. Acolo, veți găsi APK-ul. Copiați acel APK în sistemul dvs. și vom continua cu pașii de mai jos.

al doilea pas —

odată ce avem APK-ul, îl vom inversa pentru a cunoaște și a vedea codul. Acest lucru ne va permite și ne va oferi informații despre structurarea codului, precum și despre măsurile de securitate pe care le-au luat pentru a evita confruntarea cu un atac de inginerie inversă.

aici, vom redenumi {aplicația}.fișier apk la {app}.zip și extrage-l. În folderul extras, vom găsi clasele.fișier dex care conține codul aplicației.

un fișier DEX este un fișier executabil care conține codul compilat și rulează pe platforma Android.

acum, vom folosi clasele.fișierul dex pe care l-am luat din fișierul ZIP APK și l-am convertit în JAR. Pentru a face acest lucru, putem folosi ‘dex2jar’ instrument open-source disponibil aici. Accesați secțiunea de lansare și descărcați cel mai recent fișier zip Disponibil și extrageți-l. Copiați clasele extrase.fișier dex și lipiți-l în directorul ‘dex2jar-x.x’.

deschideți terminalul de pe aparat și mergeți la directorul ‘dex2jar-x.x’. Acum vom rula comanda-

d2j-dex2jar.clase de lilieci.dex

aceasta va converti clasele.fișier DEX într-un fișier JAR pe care îl putem vizualiza folosind orice instrument Decompiler.

al treilea pas —

vom folosi JD JUI, care este un instrument simplu Decompiler Java. Poți să-l iei de aici. Descărcați și extrageți zip. Rulați jd-gui.exe și deschideți fișierul Dex și Voila! Am inversat-proiectat cererea!!

decompilat Android App cod sursă