RačunalaBezbjednost

Obrnuti inženjering za početnike. Sve aplikacije Android zaštitu od obrnuti inženjering

Ponekad se želi da vidi, i kakve popunjavanje posebnog programa? Onda on mora da koristi obrnuti inženjering. Šta je to? Kako to radi? Kako je taj proces? Sve to ćete naučiti iz ovog članka.

Ono što je obrnuti inženjering programa?

Takozvani analiza proces aplikacije kako bi se shvatiti kako se to radi, tako da u budućnosti ponovo ovaj proces tako što potrebne promjene. Obično se koristi za ovu svrhu debugger i monter. U zavisnosti od kvaliteta softvera koji se koristi će biti drugačiji, a rezultat je količina vremena koje bi trebalo biti potrošeno na to da bi u normalnoj formi. Objasnite reverse-engineering za početnike najbolji primjer. Kao njihovi izvršiti aplikacija pisana za Android. Budimo i saznati šta i kako.

Rad sa Android aplikacije

Prvo moramo razjasniti neke bodove. Aplikacija koristi bajtkod i LogCat. Ovo lokalnim partnerima prethodno navedene debugger i monter. Također je potrebno da shvate strukturu samih aplikacija. Prema tome, svaki program je datoteka sa ekstenzijom APK. On je spakovao zip'om. Mi smo zainteresirani za njegov sadržaj - primjena sredstva, classes.dex i AndroidManifest.xml. Ako radite programa na Android, pitanja sa bivšim, a drugi ne bi trebalo da bude. Ali classes.dex - ovaj program bajt kod koji se sastavlja posebno za virtualne mašine. Izvod iz njegovog Java izvorni kod dostupan na internetu ne dobiti sredstva. Ali da li je moguće dobiti Dalvik opcodes - poseban skup naredbi koje se koriste za virtualne mašine. Za analogiju možemo reći da je ova skupština lokalne poplave. Classes.dex također se može pretvoriti u datoteku s teglu. Čak iu tom slučaju, možete dobiti Java koda nakon dekompilaciju, koji će biti manje ili više čitljiv. To je put idemo.

dekompilaciju

Ovaj proces će se odvijati korištenjem Apk Manger program. Prije nego što počnete, provjerite da je ispravan upravljački program za devaysa i funkcionisanje režim USB ispravljanje pogrešaka. U početku, trebat će nam za pomicanje datoteku koja će se analizirati u direktiva apk_manager \ mjesto-apk-ovdje-za-modding. Nakon toga bi trebalo pokrenuti Script.bat. Ako nema problema, a zatim pokrenite konzolu, koji će biti zelene boje slova. Odaberite tačku broj devet - "dekompilaciju". Kada je počeo proces, neophodno je da se ne zatvori konzolu. Zatim, otvoreni interes apk-file pomoću arhiver i ekstrakt od njega classes.dex, da se obrađuju dex2jar programa. Za nas je potrebno rezultat potrebno je da se kreću objekat sa ekstenzijom .bat. Vidjet ćete datoteku, koja će se završiti u .jar. Do sada, prozor ne zatvara.

analiziramo podatke

Da biste dobili informacije o aplikaciji, morate otvoriti ga manifest. Prema tome, možemo utvrditi da se ponaša kao osnovna djelatnost. Ona je bila ta koja sada predstavlja najveće važnosti za nas. Poželjno je i da pogleda na dnu programa. Ako je dno informacije o upravljač licencama, to je znatno teže izvršiti obrnuti inženjering. Ako se prebacite na JD-GUI i proširiti stablo, možemo vidjeti nekoliko namespaces. Pretpostavimo da su tri od njih. U prvom su datoteke povezane sa oglasima. Drugi će biti nastave menadžer licencu. U trećem, mi smo potrebne podatke. To je kad idemo. Tu će morati pronaći i ukloniti ključ, a zatim ostatak linije koji provjeravaju da li licencirani radna verzija. Sve ove treba očistiti. Onda u našem Apk Manager tražim mjesto gdje mjesto navedeno bytecode. Sada ćemo napraviti malu digresiju i komentar iz tima, što potencijalno može dovesti do problema. Nakon toga, samo moramo sastaviti program.

izgradnju aplikacija

To će nam pomoći svi isti Apk Manager. U konzoli, koje nismo zaključana, odaberite stavku №14. Sljedeći trik. Ako je aplikacija prilično komplikovana, kada počnete, to može djelomično ili u potpunosti izgubiti svoju efikasnost. Ne brinite, to znači da smo samo na pola puta i negdje drugdje da odem. Mi smo i dalje obavljaju reverse-engineering-sve Android aplikacije. Kažu, šta da radi u konkretnom slučaju, u opštem smislu, nažalost, nije nemoguće. Stoga, tražiti će problematična područja imaju svoje. Na primjer, ako se prozor aplikacije blokirani pop-up prozor, te bi trebao vidjeti kod i ukloniti dio koji je odgovoran za ovaj dijalog. Da pomogne to može JD-GUI. Kao što možete vidjeti, obrnuti inženjering nije lak posao i zahtijeva znatan skladište znanja. Čak i ako se sve radi bez ikakvih problema, to će biti potrebno testirati performanse aplikacija. To jest, obrnuti inženjering je više vremena aktivnost. Nastavljamo raditi dok se svi problemi su identificirani.

bezbjednost

Šta ako nam treba zaštita Svi Android aplikacije obrnuti inženjering? U ovom slučaju, postoje dvije opcije: korištenje određenih programa ili stvaranje koda strukture koja će ometati da raščlanjivanje napisano. Ova druga opcija je pogodna samo iskusni profesionalci, tako da ćemo uzeti u obzir samo prva metoda zaštite. Kao specijalizirani korištenje softvera ProGuard. Ova aplikacija koja se koristi za smanjenje, zbunjivanja i optimizacija koda. Ako je program "hajka" kroz njega smo dobili fajl sa ekstenzijom * .apk manji nego što je bio. U tom slučaju bilo bi mnogo teže rastaviti. A prednost ovog programa je da je čak uvedena u izgradnju Android aplikacija sa R9 ažuriranja. Stoga, iskoristite je bilo programer koji ima standardnih alata stvaranja i razvoja.

zaključak

Ne možemo reći da je obrnuti inženjering može predstaviti kao nešto uniformno dobro ili loše. Naravno, sa stanovišta programera, koji su stvorili aplikaciju, to nije sretan događaj. Ali, s druge strane, u mnogim slučajevima iskusni programeri pisanje potrebne datoteke može biti put jeftinije od korištenja tih alata. Iako je za početnike programere reverse-engineering možete učiniti dobru uslugu, ako ne postoji ideja o tome kako implementirati nešto, čak i uzorno, a nije sasvim jasno obris može pomoći u ostvarenju tog cilja.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 bs.birmiss.com. Theme powered by WordPress.