Kultant wieħed irid jara, u liema tip ta 'mili fi programm speċifiku? Imbagħad huwa għandu juża reverse inġinerija. X'inhu dan? Kif taħdem? Kif huwa dan il-proċess? Dan kollu inti ser jitgħallmu minn dan l-artikolu.
X'inhu programmi reverse inġinerija?
Hekk imsejħa analiżi applikazzjoni proċess sabiex jifhmu kif taħdem, sabiex fil-futur biex jirrikreaw dan il-proċess billi tagħmel il-bidliet meħtieġa. Normalment użat għal dan l-iskop debugger u muntatur. Jiddependi fuq il-kwalità tas-softwer użat se jkun differenti u r-riżultat huwa l-ammont ta 'żmien li għandu jintefaq fuqu biex iġibu f'forma normali. Spjega reverse inġinerija għall jibdew l-aħjar eżempju. Bħala tiegħu twettaq applikazzjoni bil-miktub għall Android. Issa ejja ikunu biex issir taf liema u kif.
Ħidma ma Android-applikazzjonijiet
L-ewwel għandna bżonn li jiġu ċċarati xi punti. L-applikazzjoni tuża l-bytecode u LogCat. Dan kontropartijiet lokali qabel debugger u muntatur imsemmija. Huwa wkoll meħtieġ li wieħed jifhem l-istruttura tal-applikazzjonijiet nfushom. Għalhekk, kull programm huwa fajl ma 'l-APK estensjoni. Huwa ippakkjat zip'om. Aħna huma interessati fil-kontenut tiegħu - riżorsi applikazzjoni, classes.dex u AndroidManifest.xml. Jekk inti tagħmel l-ipprogrammar fuq Android, il-kwistjonijiet mal-ewwel u l-aħħar m'għandhomx ikunu. Iżda classes.dex - dan il-programm kodiċi byte li jiġi kkumpilat speċifikament għall-magna virtwali. Estratt mill-kodiċi java tiegħu sors disponibbli fuq l-Internet ma jiksbu l-fondi. Imma huwa possibbli li tinkiseb opcodes Dalvik - sett speċjali ta 'kmandi li huma użati għall-magna virtwali. Għal analoġija nistgħu ngħidu li din l-assemblea tal-għargħar lokali. Classes.dex wkoll jistgħu jiġu kkonvertiti fajl mal-vażett. Anke f'dan il-każ, inti tista 'tikseb java kodiċi wara dekumpilazzjoni, li se jkun aktar jew anqas tinqara. Li hija t-triq immorru.
dekumpilazzjoni
Dan il-proċess se jitwettaq bl-użu programm APK Manager. Qabel ma tibda, kun żgur li jkun hemm s-sewwieq korretta għall devaysa u l-funzjonament modalità USB debugging. Inizjalment, ser ikollna bżonn biex iċċaqlaq il-fajl li ser tiġi parsed fi apk_manager direttiva \-post it-APK-hawn-għall modding. Wara li inti għandek run Script.bat. Jekk ma jkunx hemm problema, imbagħad tibda l-console, li se jkun ittri aħdar. Agħżel in-numru punt disgħa - "dikompilazzjoni". Ladarba l-proċess jinbeda, huwa neċessarju mhux biex tagħlaq console. Imbagħad, l-interess miftuħ APK-fajl bl-użu Archiver u estratt minnha classes.dex, li jiġu pproċessati dex2jar programm. Għalina l-riżultat meħtieġ huwa meħtieġ li nimxu oġġett mal-.bat estensjoni. Inti se tara l-fajl, li se jintemm fl vażett. S'issa, it-tieqa ma jagħlqu.
aħna janalizza d-data
Biex tikseb informazzjoni dwar l-applikazzjoni, inti għandek miftuħa manifest. Skond dan, aħna jiddeterminaw li taġixxi bħala l-attività prinċipali. Li kienet hi li issa jippreżenta l-akbar importanza għalina. Huwa wkoll mixtieq li tħares lejn il-qiegħ tal-programm. Jekk il-qiegħ hija l-informazzjoni dwar il-maniġer liċenzja, huwa diffiċli ferm li twettaq inġinerija b'lura. Jekk inti jaqilbu għal-JD GUI u jespandu l-siġra, nistgħu naraw diversi namespaces. Assumi li l tlieta minnhom. Fl-ewwel huma l-fajls assoċjati ma 'reklamar. It-tieni se jkun l-klassijiet maniġer liċenzja. Fit-tielet, aħna l-informazzjoni meħtieġa. Huwa meta immorru. Ser ikun hemm bżonn biex isibu u neħħi ċ-ċavetta, u mbagħad il-bqija tal-linji li jiċċekkjaw jekk liċenzjati verżjoni tax-xogħol. Dawn kollha jeħtieġu li jiġu mnaddfa. Imbagħad fl APK Manager tagħna qed ifittxu post fejn post speċifikat bytecode. Issa ejjew jagħmlu tonqos żgħira u jikkummentaw barra t-tim, li jista 'potenzjalment jikkawża problemi. Wara dan, aħna biss għandhom jikkompilaw l-programm.
jibnu l-applikazzjonijiet
Dan għandu jgħina l-istess Manager APK. Fil-console, li aħna mhux imsakkra, agħżel l-oġġett №14. trick li jmiss. Jekk l-applikazzjoni hija pjuttost ikkumplikata, meta tibda, din tista 'titlef parzjalment jew kompletament l-effiċjenza tagħha. Tinkwetax, dan ifisser li aħna biss fin-nofs hemm u x'imkien ieħor biex imorru. Aħna tkompli twettaq apps Android reverse kollha inġinerija. Say, x'għandek tagħmel f'każ partikolari, f'termini ġenerali, sfortunatament, huwa impossibbli. Għalhekk, tfittex oqsma problematiċi se jkollhom tagħhom stess. Per eżempju, jekk tieqa ta 'applikazzjoni tkun imblukkata tieqa pop-up, inti għandek tara l-kodiċi u neħħi l-parti li hija responsabbli għal dan id-djalogu. Biex tgħin ma 'dan jista JD-GUI. Kif tistgħu taraw, il-inġinerija maqluba mhuwiex negozju faċli, u dan jirrikjedi maħżen konsiderevoli ta 'għarfien. Anki jekk kollox huwa mmexxi mingħajr problemi, se jkun meħtieġ li jiġu ttestjati l-prestazzjoni ta 'applikazzjonijiet. Jiġifieri, il-maqlub inġinerija huwa aktar attività ħin. Aħna tkompli taħdem sakemm huma identifikati l-problemi kollha.
sigurtà
X'jiġri jekk aħna jeħtieġu protezzjoni Kollha Android applikazzjoni mill-inġinerija b'lura? F'dan il-każ, hemm żewġ għażliet: l-użu ta 'programmi speċifiċi jew il-ħolqien ta' struttura kodiċi li tinterferixxi tagħmel parsing bil-miktub. L-għażla aħħar huwa adattat professjonisti biss esperjenza, hekk aħna se tikkunsidra biss l-ewwel metodu ta 'protezzjoni. Bħala proguard speċjalizzat użu ta 'softwer. Din l-applikazzjoni, li hija użata biex tnaqqas, konfużjoni u l-ottimizzazzjoni kodiċi. Jekk il-programm "chase" permezz ta 'dan, irridu jiksbu fajl bl-estensjoni * .apk iżgħar milli kien. F'każ bħal dan ikun ferm aktar diffiċli biex disassemble. U l-vantaġġ ta 'dan il-programm huwa li saħansitra ġie introdott fl-applikazzjonijiet Android jibnu b'aġġornamenti R9. Għalhekk, jieħdu vantaġġ ta 'dan huwa kull żviluppatur li għandha għodod standard ta' ħolqien u l-iżvilupp.
konklużjoni
Ma nistgħux ngħidu li l reverse inġinerija jistax jiġi rappreżentat bħala xi ħaġa tajba jew ħżiena b'mod uniformi. Naturalment, mill-punt di vista ta 'żviluppaturi, li ħolqu applikazzjoni, mhuwiex avveniment kuntenti. Iżda min-naħa l-oħra, f'ħafna każijiet esperjenzaw programmaturi miktub il-fajls kollha meħtieġa jista 'jkun hemm żmien inqas għaljin mill-użu ta' tali għodod. Għalkemm għall-iżviluppaturi novizzi reverse inġinerija jista 'jirrendi servizz tajjeb jekk ma jkunx hemm idea ta' kif għandhom jiġu implimentati xi ħaġa, anki eżemplari, u mhux pjuttost stampa ċara jistgħu jgħinu bl-ksib ta 'dan il-għan.