Mga computerKaligtasan

Reverse-engineering para sa beginners. Lahat ng mga application ng Android proteksyon mula sa reverse engineering

Kung minsan ang isa ay nais na makita, at kung anong uri ng pagpuno sa isang tukoy na program? Pagkatapos siya ay ang paggamit ng isang reverse-engineering. Ano ito? Paano ito gumagana? Paano ang proseso na ito? Ang lahat ng ito ikaw ay matuto mula sa artikulong ito.

Ano ang isang reverse-engineering programa?

Kaya tinatawag na proseso ng aplikasyon ng pagtatasa upang maunawaan kung paano ito gumagana, kaya na sa hinaharap upang muling likhain ang prosesong ito sa pamamagitan ng paggawa ng mga kinakailangang pagbabago. Karaniwan na ginagamit para sa layuning ito debugger at assembler. Depende sa kalidad ng software na ginagamit ay mag-iiba at ang resulta ay ang halaga ng oras na dapat ay ginugol sa ito upang dalhin sa isang normal na form. Ipaliwanag reverse-engineering para sa mga nagsisimula ang pinakamahusay na halimbawa. Tulad niyaon magsagawa ng isang application na nakasulat para sa Android. Ngayon sabihin maging upang malaman kung ano at kung paano ipaalam.

Paggawa gamit ang Android-aplikasyon

Unang kailangan namin upang linawin ang ilang mga puntos. Ang application ay gumagamit ng bytecode at Logcat. Ang lokal na mga katapat dati nang nabanggit debugger at assembler. Ito rin ay kinakailangan upang maunawaan ang mga istraktura ng mga aplikasyon sa kanilang sarili. Sa gayon, ang bawat programa ay isang file na may extension na apk. Siya naka-pack na zip'om. Kami ay interesado sa mga nilalaman nito - mga mapagkukunan ng application, classes.dex at AndroidManifest.xml. Kung gagawin mo programming sa Android, ang mga isyu sa mga dating at sa huli ay hindi dapat maging. Ngunit classes.dex - ito programa byte code na pinagsama-sama para lang sa virtual machine. I-extract mula sa kanyang java source code na magagamit sa Internet ay hindi makuha ang mga pondo. Ngunit ito ay posible upang makakuha ng dalvik opcodes - isang espesyal na set ng mga command na ginagamit para sa mga virtual machine. Para sa isang pagkakatulad maaari naming sabihin na ang assembly ng mga lokal na baha. Classes.dex ring ma-convert sa isang file na may jar. Kahit sa ganoong kaso, maaari kang makakuha ng isang java-code matapos decompilation, na kung saan ay magiging mas o mas mababa nababasa. Iyon ay ang landas namin pumunta.

decompilation

Ang prosesong ito ay isinasagawa gamit Apk Manger programa. Bago ka magsimula, siguraduhin na ang tamang driver para sa devaysa at gumagana USB-debugging mode. Sa una, kami ay kailangan upang ilipat ang mga file na ma-parse sa isang directive apk_manager \ place-apk-here-for-modding. Pagkatapos na dapat mong patakbuhin Script.bat. Kung walang problema, pagkatapos ay simulan ang console, na kung saan ay magiging berde lettering. Piliin ang point number nine - "i-decompile". Sa sandaling ang proseso ay nagsimula, ito ay kinakailangan hindi upang isara console. Pagkatapos, buksan ang interes apk-file gamit ang archiver at katas mula dito classes.dex, upang maisaproseso dex2jar programa. Para sa amin ang mga kinakailangang mga resulta ng ito ay kinakailangan upang ilipat ang isang bagay na may mga extension .bat. Makikita mo ang file, na kung saan ay magtapos sa .jar. Sa ngayon, ang window ay hindi isinara.

pag-aralan namin ang data

Upang makakuha ng impormasyon tungkol sa application, kailangan mo itong buksan manifest. Ayon sa mga ito, tinutukoy namin na gumaganap bilang ang pangunahing aktibidad. Ito ay siya na ngayon ay nagtatanghal ang pinakamalaking kahalagahan sa amin. Ito rin ay kanais-nais upang tumingin sa ilalim ng programa. Kung ibaba ay ang impormasyon tungkol sa mga lisensiya manager, ito ay makabuluhang mahirap na magsagawa ng reverse engineering. Kung lumipat ka sa jd-gui at palawakin ang mga puno, maaari naming makita ang ilang mga namespaces. Ipagpalagay na ang tatlo sa kanila. Sa unang ay ang mga file na nauugnay sa advertising. Ang ikalawa ay ang license manager klase. Sa ikatlong, kami ng mga kinakailangang data. Ito ay kapag kami pumunta. Magkakaroon kailangan upang mahanap at tanggalin ang mga key, at pagkatapos ay ang natitirang bahagi ng mga linya na suriin kung lisensiyadong nagtatrabaho bersyon. Ang lahat ng mga kailangang ma-nalinis. Pagkatapos ay sa aming Apk Manager naghahanap para sa isang lugar kung saan ang lugar na tinukoy bytecode. Ngayon ipaalam sa amin gumawa ng isang maliit na paglihis at magkomento ang mga team, na maaaring potensyal na maging sanhi ng mga problema. Pagkatapos nito, kami na lang ay upang ipunin ang programa.

bumuo ng mga application

Ito ay makakatulong sa amin ang lahat ng parehong Apk Manager. Sa console, na kung saan hindi namin ay may naka-lock, piliin ang item №14. Susunod na nanlilinlang. Kung ang application ay sa halip kumplikado, kapag binuksan mo ang, maaari itong bahagya o ganap na mawawala ang kahusayan. Huwag mag-alala, ito ay nangangahulugan na tayo ay lamang sa kalagitnaan doon at sa iba pang lugar upang pumunta. Patuloy kaming magsagawa ng reverse-engineering-Lahat ng mga Android apps. Sabihin, kung ano ang gagawin sa isang partikular na kaso, sa mga pangkalahatang tuntunin, sayang, ay imposible. Samakatuwid, tumingin para sa problemang mga lugar ay may sariling. Halimbawa, kung ang isang application window Na-block na pop-up window, dapat mong makita ang code at alisin ang bahagi na ay responsable para sa dialogue na ito. Upang makatulong sa ito maaari jd-gui. Tulad ng iyong nakikita, ang reverse engineering ay hindi isang madaling negosyo, at ito ay nangangailangan ng isang mumunti na tindahan ng kaalaman. Kahit na lahat ng bagay ay tumakbo nang walang anumang mga problema, ito ay kinakailangan upang subukan ang pagganap ng mga application. Iyon ay, ang reverse-engineering ay mas maraming oras-ubos gawain. Patuloy naming upang gumana hanggang sa ang lahat ng mga problema ay nakilala.

kaligtasan

Paano kung kailangan namin ng proteksyon Lahat ng Android application mula sa reverse engineering? Sa kasong ito, mayroong dalawang mga pagpipilian: ang paggamit ng mga tiyak na programa o ang paglikha ng isang code istraktura na makakagambala upang gumawa parse nakasulat. Ang nakaraang pagpipilian ay angkop lamang nakaranas ng mga propesyonal, kaya atin lamang tatalakayin ang unang paraan ng proteksyon. Bilang isang dalubhasang software na paggamit ProGuard. Ang application na ito, na kung saan ay ginagamit upang bawasan, obfuscation at code optimization. Kung ang programa "hinahabol" sa pamamagitan nito, makakakuha tayo ng isang file na may extension * .apk mas maliit kaysa sa siya ay. Sa ganoong kaso ito ay magiging magkano ang mas mahirap na i-disassemble. At ang mga bentahe ng programang ito ay na kahit na ito ay ipinakilala sa build Android application na may R9 update. Samakatuwid, samantalahin ito ay anumang developer na may standard na mga tool ng paglikha at pag-unlad.

konklusyon

Hindi namin maaaring sabihin na ang reverse-engineering ay maaaring kinakatawan bilang isang bagay na pantay mabuti o masama. Of course, mula sa punto ng view ng mga developer, na lumikha ng isang application, ito ay hindi isang masayang pangyayari. Ngunit sa kabilang dako, sa maraming mga kaso nakaranas programmer pagsulat ng mga kinakailangang mga file ay maaaring maging isang oras mas mura kaysa sa paggamit ng naturang mga tool. Kahit na para sa baguhan developer reverse-engineering ay maaaring render ng isang magandang serbisyo kung walang ideya ng kung paano ipatupad ang isang bagay, kahit na kapuri-puri, at hindi masyadong malinaw na outline ay makakatulong sa pagkamit ng layuning ito.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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