KompiuteriaiSaugumas

Atvirkštinė inžinerija pradedantiesiems. Visi Android apsaugos paraiškos atvirkštinės inžinerijos

Kartais vienas nori pamatyti, ir kokios užpildant specialią programą? Tada jis turi naudoti atvirkštinės inžinerijos. Kas tai yra? Kaip tai veikia? Kaip šis procesas? Visa tai jūs išmoksite iš šio straipsnio.

Kas yra atvirkštinės inžinerijos programos?

Taip vadinamas procesas taikymo analizė, siekiant suprasti, kaip ji veikia, taigi, kad ateityje atkurti šį procesą padaryti būtinus pakeitimus. Paprastai šiam tikslui naudojami išriktuotojo ir montuotojo. Priklausomai nuo naudojamos programinės įrangos skirsis kokybe ir rezultatas yra, kiek laiko kuri turėtų būti išleista apie tai, kad normalus forma. Paaiškinkite, atvirkštinės inžinerijos pradedantiesiems geriausias pavyzdys. Kaip jos atlikti prašymą raštu už Android. Dabar būkime išsiaiškinti, kas ir kaip.

Darbas su "Android" programas

Pirmiausia mes turime išsiaiškinti kai kuriuos dalykus. Programa naudoja baitinio kodo ir Logcat. Tai vietiniai kolegos minėta anksčiau debugerem ir montuotojo. Taip pat būtina suprasti pačių programų struktūrą. Taigi, kiekviena programa yra failas su plėtiniu APK. Jis supakuotas zip'om. Esame suinteresuoti savo turinį - paraiška išteklių, classes.dex ir AndroidManifest.xml. Jei programavimo "Android", su buvusiu, o pastarieji klausimai neturėtų būti. Bet classes.dex - ši programa baitų kodas, kuris yra specialiai rengiami virtualios mašinos. Ištrauka iš jo java kodą galima rasti internete negauna lėšų. Bet tai galima gauti Dalvík opcodes - specialus rinkinys komandas, kurios naudojamos virtualios mašinos. Dėl analogiją galima sakyti, kad šios vietos potvynio surinkimas. Classes.dex taip pat gali būti paverstas į failą su indo. Net tokiu atveju, jūs galite gauti Java kodas po dekompiliavimu, kuri bus daugiau ar mažiau skaitoma. Tai yra kelias, mes eiti.

dekompiliavimas

Šis procesas bus vykdomas naudojant apžiūros Manger programą. Prieš jums pradėti, įsitikinkite, kad yra teisingas vairuotojas devaysa ir veikiančią USB Derinimo režimas. Iš pradžių, mes turime perkelti failą, kuris bus sparsowania į direktyvos apk_manager \ vieta-APK-čia-ir-Modding. Po to turėtumėte paleisti Script.bat. Jei yra ne problema, tada pradėkite konsolę, kuri bus žalia raidės. Pasirinkite taškų skaičių devyni - "dekompiliuoti". Kai šis procesas yra pradėtas, būtina ne uždaryti konsolę. Tada atidarykite palūkanų APK failas naudojant archyvatorius ir ištrauką iš jos classes.dex, turi būti tvarkomi dex2jar programą. Mums reikiamo rezultato būtina perkelti objektą su plėtiniu .bat. Jūs pamatysite failą, kuris baigsis .jar. Iki šiol, langas neužsidaro.

mes analizuoti duomenis

Norėdami gauti informacijos apie programą, turite atidaryti jis pasireiškia. Pasak jo, mes nustatome, kad veikia kaip pagrindinės veiklos. Tai buvo ji, kuris dabar kelia didžiausią reikšmę mums. Taip pat pageidautina, kad pažvelgti į programos apačioje. Jei apačioje yra informacija apie licencijos vadovu, tai yra žymiai sunkiau atlikti atvirkštinę inžineriją. Jei pereiti į JD-GUI ir išplėsti medį, mes galime pamatyti keletą vardų. Tarkime, kad iš jų trys. Visų pirma yra failai, susiję su reklama. Antrasis bus License Manager klases. Trečioje, mes esame reikalingi duomenys. Tai kai mes einame. Yra reikės rasti ir ištraukite raktelį ir tada iš linijų, kad patikrinti, ar licencijuota darbinis variantas poilsio. Visi šie turi būti valomi. Tada mūsų APK Manager ieškote vietos, kur vieta nurodytą bytecode. Dabar leiskite mums padaryti nedidelį nukrypo ir komentaras iš komandą, kuri potencialiai gali sukelti problemų. Po to, mes tiesiog turime sudaryti programą.

kurti programas

Tai padės mums visiems tą patį APK Manager. Be konsolės, kurį mes neužrakinta, pasirinkite №14 elementą. Kitas triukas. Jei prašymas yra gana sudėtinga, kai jūs pradedate, ji gali iš dalies arba visiškai prarasti savo efektyvumą. Nesijaudinkite, tai reiškia, kad mes esame tik pusiaukelėje ten ir kitur eiti. Mes ir toliau atlikti atvirkštinės inžinerijos visiems "Android" programas. Pasakykite, ką daryti konkrečiu atveju, bendrais bruožais, deja, neįmanoma. Todėl, ieškoti probleminės sritys turės savo. Pavyzdžiui, jei paraiška langas yra užblokuotas pop-up langą, jūs turėtumėte pamatyti kodą ir pašalinti tą dalį, kuri yra atsakinga už šio dialogo. Padėti tai gali JD-gui. Kaip matote, atvirkštinių inžinerija yra ne lengvas verslas, ir tai reikalauja nemažai parduotuvė žinių. Net jei viskas veikti be jokių problemų, būtina išbandyti programų veikimą. Tai reiškia, kad atvirkštinio inžinerija yra daugiau laiko, veikla. Mes ir toliau dirbti, kol visos problemos yra identifikuoti.

saugumas

Ką daryti, jei mes turime apsauga Viskas Android taikymas iš atvirkštinės inžinerijos? Šiuo atveju yra dvi galimybės: specialių programų naudojimo ar kodo struktūros sukūrimas, kad netrukdytų atlikti sintaksės analizės parašyta. Pastarasis variantas tinka tik patyrę specialistai, todėl mes atsižvelgsime tik pirmąjį metodą apsaugai. Kaip specializuota programinė Naudojimo ProGuard. Ši programa, kuri yra naudojama siekiant sumažinti, apgadinimu ir kodo optimizavimą. Jei programa "Chase" per jį, gauname failą su plėtiniu * .apk mažesnę, nei jis buvo. Tokiu atveju tai būtų daug sunkiau ardyti. Ir šios programos privalumas yra tai, kad ji net buvo įvesta į Kurkite "Android" programų R9 atnaujinimus. Todėl pasinaudoti tai bet kūrėjas, kuris turi standartines įrankiai kūrimui ir plėtrai.

išvada

Mes negalime pasakyti, kad atvirkštinio inžinerija gali būti atstovaujama kaip kažkas vienodai gera ar bloga. Žinoma, nuo Atsižvelgiant kūrėjams, kurie sukūrė programą taško, tai ne laimingas įvykis. Tačiau, kita vertus, daugeliu atvejų patyrusiems programuotojams rašyti reikalingus failus gali būti laiko pigesnis nei tokių įrankių. Nors pradedantiesiems kūrėjams atvirkštinės inžinerijos gali tapti gera paslaugą, jei nėra kaip nors įdiegti, net pavyzdingas idėja, ir ne visai aišku, kontūras gali padėti su šio tikslo pasiekimo.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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