Inginerie inversă pentru începători. Protejați aplicațiile Android de ingineria inversă
Uneori cineva vrea să vadă și care este umplerea unui anumit program? Apoi trebuie să folosească ingineria inversă. Ce este? Cum funcționează? Cum se întâmplă acest proces? Toate acestea puteți învăța din acest articol.
conținut
Care este ingineria inversă a programelor?
Acesta este modul în care procesul de parsare a aplicațiilor este chemat să înțeleagă cum funcționează, pentru a recrea procesul în viitor cu modificările necesare. De obicei, depanatorul și asamblatorul sunt utilizați în aceste scopuri. În funcție de calitatea software-ului folosit, rezultatul va fi diferit și durata de timp necesară pentru ao aduce la normal. Explicați-vă că ingineria inversă pentru începători se bazează cel mai bine pe un exemplu. În acest fel, o aplicație scrisă pentru Android va funcționa. Și acum să aflăm ce și cum.
Utilizarea aplicațiilor Android
În primul rând, este necesar să se clarifice unele aspecte. În aplicații, se utilizează codul octet și LogCat. Acestea sunt analogii locali ai depanatorului și asamblorului menționat anterior. De asemenea, este necesar să se înțeleagă structura cererilor în sine. Deci, fiecare program este un fișier cu extensia apk. Este ambalat ziprsquo th. Suntem interesați de conținutul său - resurse de aplicații, classes.dex și AndroidManifest.xml. Dacă programați pe Android, atunci întrebările cu primul și ultimul nu ar trebui să fie. Dar classes.dex este octetul programului, care este compilat special pentru masina virtuala. Pentru a extrage din acesta codul sursă, java reprezentat pe Internet nu poate fi obținut. Dar este posibil să se obțină codurile Dalvik, un set special de comenzi care sunt utilizate pentru o mașină virtuală. Pentru analogie, putem spune că acesta este asamblorul unei deversări locale. De asemenea, classes.dex poate fi transformat într-un fișier cu jar de extensie. Deja în acest caz, după decompilarea sa, puteți obține un cod Java, care va fi mai mult sau mai puțin lizibil. În acest fel vom merge.
decompilare
Acest proces va fi realizat folosind programul Apk Manger. Înainte de a începe, trebuie să vă asigurați că aveți driverele potrivite pentru dispozitiv, iar modul de depanare USB funcționează. Inițial, va trebui să mutăm fișierul, care va înțelege directiva apk_manager place-apk-here-for-modding. După aceea, rulați Script.bat. Dacă nu există nicio problemă, porniți consola, care va fi inscripții verde. Alegem elementul numărul nouă - "Decompilați". După începerea procesului, nu este necesar să închideți consola. Apoi ar trebui să deschideți fișierul apk de interes cu ajutorul arhivatorului și să extrageți classes.dex din acesta, pe care trebuie să îl procesați cu dex2jar. Pentru rezultatul de care avem nevoie, trebuie să îl mutăm la un obiect cu extensia .bat. Va apărea un fișier care se va încheia cu .jar. În timp ce fereastra nu este închisă.
Analiza datelor
Pentru a obține informații despre aplicație, trebuie să deschideți manifestul. Pe aceasta determinăm că acționează ca activitate principală. Este de cea mai mare importanță pentru noi acum. De asemenea, este de dorit să vă uitați în partea de jos a programului. Dacă există informații despre managerul de licențe în partea de jos, acest lucru va complica în mod semnificativ ingineria inversă. Dacă vom trece la jd-gui și vom extinde arborele, vom vedea mai multe spații de nume. Să presupunem că există trei. În primul rând există fișiere legate de publicitate. Al doilea va conține clasele managerului de licențe. În al treilea rând, avem datele necesare. În ea, atunci mergem. Aici va trebui să găsiți și să ștergeți cheia și apoi restul liniilor care verifică dacă versiunea licențiată funcționează. Toate acestea trebuie curățate. Apoi, în managerul nostru Apk, căutăm locul unde urmează să fie plasat codul octet. Acum hai să facem o mică digresiune și să comentăm comenzile care ar putea provoca probleme. După aceea, trebuie doar să compilam programul.
Creați o aplicație
Acest lucru ne va ajuta pe toți aceiași Apk Manager. În fereastra consolei, pe care nu am închis-o, selectăm articolul # 14. Mai mult, problema tehnologiei. Dacă aplicația este destul de complicată, atunci la pornire se poate pierde parțial sau complet eficiența. Nu vă faceți griji, înseamnă că suntem doar la jumătatea drumului și că încă mai avem unde să mergem. Continuăm să inversăm ingineria aplicațiilor Android. A spune ce trebuie să faceți într-un anumit caz, în termeni generali, din păcate, este imposibil. Prin urmare, va trebui să găsiți problema singură. Deci, dacă fereastra aplicației este blocată o fereastră pop-up, atunci trebuie să vizualizați codul și să ștergeți partea responsabilă pentru acest dialog. Ajutor cu acest lucru poate jd-gui. După cum puteți vedea, ingineria inversă nu este o sarcină ușoară și necesită o cunoaștere considerabilă. Chiar dacă totul a început fără probleme, va fi necesar să se testeze capacitatea de lucru a aplicației. Asta este inversarea ingineriei este încă o acțiune consumatoare de timp. Continuăm să lucrăm până când toate problemele sunt identificate.
siguranță
Ce ar trebui să protejăm aplicațiile Android de ingineria inversă? În acest caz, există două opțiuni: utilizarea programelor speciale sau crearea unei structuri de cod care va interfera cu analiza a ceea ce a fost scris. Ultima opțiune este potrivită numai pentru profesioniști cu experiență, deci vom considera doar prima metodă de protecție. Ca software specializat folosim ProGuard. Această aplicație este utilizată pentru a reduce, împiedica și optimiza codul. Dacă programul este "rulat" prin el, atunci primim un fișier cu extensia * .apk mai mică decât a fost. În acest caz, va fi mult mai dificil să dezasamblați. Și avantajul acestui program este că a fost introdus chiar și în sistemul de asamblare a aplicațiilor Android cu actualizarea lui r9. Prin urmare, orice dezvoltator îl poate folosi, care dispune de instrumente standard pentru crearea și dezvoltarea.
concluzie
Nu se poate spune că ingineria inversă poate fi prezentată ca ceva rău sau bun în mod uniform. Desigur, din punctul de vedere al dezvoltatorilor care au creat aplicația, acest lucru nu este un eveniment plin de bucurie. Pe de altă parte, în multe cazuri, crearea fișierelor necesare de către programatorii experimentați poate fi mai puțin consumatoare de timp decât utilizarea unor astfel de instrumente. Deși pentru începători, ingineria inversă poate face o treabă bună, dacă nu există nicio idee despre cum să implementeze ceva, schițele aproximative și chiar incomplete pot ajuta la atingerea scopului.
- Cum se închide aplicațiile pe Android: sfaturi și trucuri
- Cum să eliminați o aplicație din "Android" fără erori
- Cum se instalează `GTA` pe Android`: instrucțiunea pentru începători
- Osmoza inversă - garantează apa curată
- Instrucțiuni: cum se instalează pe managerul de fișiere Android
- HEX-editor. Descrierea instrumentului și prezentarea celor mai populare
- `Android`: instalați aplicații pe cartela de memorie. Cum se instalează aplicația…
- Cum să ștergeți memoria RAM pe "Android". Programe pentru curățarea rapidă și eficientă
- Cum să ascundeți aplicațiile pe Android: trei moduri simple
- Cum se instalează aplicații de pe computer pe Android: metode oficiale și terțe
- Cât despre "Android" pentru a pune parola în galerie: protejați-vă fotografiile
- Blocarea aplicațiilor pe Android: programe de bază
- Sistemul de operare iOS: cum se instalează pe Android?
- Ce este transcripția în biologie, importanța ei în viața organismelor
- Cum instalez aplicații pe Android?
- Cum să actualizați "Play Market" pe Android și ce trebuie făcut pentru acest lucru?
- Cum se actualizează sistemul de operare Android? Sfaturi simple pentru toți proprietarii de…
- Cum să dezactivați actualizarea automată pe iPhone și Android
- Cum să dezinstalați aplicațiile Android
- Instalați aplicații pe Android. Puncte cheie
- Instalarea aplicațiilor pe Android - este ușor, simplu, rapid